有人提出问题,以下汇编f5结果缺失代码: 很容易从汇编看出,这是个简单的 switch…case{} 代码块。在break时,跳转到 loc_C3C 处。 但f5,其结果如下,明显代码缺失: 下面分析,为什么代码缺失。 由于 Java_com_a_b_c 是一个 jni 函数,所以 r0 为 JNI ...
分类:
其他好文 时间:
2018-10-28 00:51:57
阅读次数:
705
Hook技术应用 已经介绍了安卓 Native hook 原理,这里介绍 hook 技术的应用,及 Cyida Substrate 框架。 分析某APP,发现其POST请求数据经过加密,我们希望还原其明文。经分析,加密是在so中的 Java_com_imohoo_jni_Main_abc() 函数内 ...
分类:
移动开发 时间:
2018-10-28 00:49:04
阅读次数:
242
本篇针对Surface模块进行分析,从Java层的Activity创建开始,到ViewRoot、WindowsManagerService,再到JNI层和Native层。 首先推荐一个Android源码查看的网站:http://androidxref.com/ Surface的创建涉及三个部分: A ...
分类:
移动开发 时间:
2018-10-26 20:39:11
阅读次数:
229
介绍 Jacob 是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。 安装和配置 Jacob是一个开源软件,它的官方站点是:http://danadler.com/ ...
分类:
其他好文 时间:
2018-10-18 12:26:29
阅读次数:
155
运行时数据区域: 1、程序计数器:线程执行时的字节码行号指示器。 2、java虚拟机栈(Stack):java方法执行的内存模型。调用方法的时候,就会创建一个虚拟机栈,用于存储局部变量表,操作数栈,动态链接,方法出口等信息。 3、本地方法栈:存放需要调用到的Native方法的相应数据。 以上三者是线 ...
分类:
编程语言 时间:
2018-10-16 01:38:00
阅读次数:
216
背景 我之所以采用JNI是由于我要实现一个java系统,java系统需调用C++核心程序。而目前的需求是不想破坏C++核心程序的独立性。因此想把JNI调用的接口写在C++核心程序之外。这就需要 首先将C++核心程序生成内层dll 在外层包装一层JNI接口调用内层dll 再将外层C++生成外层dll后 ...
分类:
编程语言 时间:
2018-10-13 17:23:05
阅读次数:
303
最近接触新的dubbo项目,项目初始时,测试环境的提供者服务发布较频繁,奈何公司又没有自动发布工具,遂自己在测试环境中搭建了Jenkins用于dubbo服务的发布。由于第一次使用,过程中也遇到了一些问题,记录与此 Q1、DubboShutdownHook 问题描述 打包/停止原进程/拷贝/解压 过程 ...
分类:
其他好文 时间:
2018-10-13 12:51:57
阅读次数:
172
ava的Object是所有其他类的父类,从继承的层次来看它就是最顶层根,所以它也是唯一一个没有父类的类。它包含了对象常用的一些方法,比如getClass、hashCode、equals、clone、toString、notify、wait等常用方法。所以其他类继承了Object后就可以不用重复实现这些方法。这些方法大多数是native方法,下面具体分析。主要的代码如下:publicclassObj
分类:
其他好文 时间:
2018-10-10 17:11:39
阅读次数:
161
JNI可以让我们在java代码中调用本地库的功能。 下面记录一下JNI简单的使用方法 2. 生成接口对应的C的头文件 上面创建的JNIIterface类,JNIIterface .class文件的路径:\JNIDemo\bin\base\JNIIterface .class 在工程目录下的bin目录 ...
分类:
其他好文 时间:
2018-10-09 20:06:59
阅读次数:
240
一,构建Java本地方法类,声明native方法,编译 类文件:MyTest1.java 编译类文件生成class文件:>javac -verbose -d . MyTest1.java 二,javap生成JNI样式的C头文件 生成头文件:>javah MyTest1 头文件:com_merrick ...
分类:
编程语言 时间:
2018-10-09 15:36:42
阅读次数:
170