文章目录
- 第一个实例android_crackme
-
- 将32位的android_server放到手机目录下
- 给android_server赋予root
- 更改root用户组
- 运行android_server
- pc端端口转发
- 安装apk,并运行app
- 打开32位IDA并attach到进程
- 先使用jadx看java层逻辑
- 定位要分析的方法
- [IDA 给两个方法打断点](#IDA 给两个方法打断点)
- 第二个实例EasyJNI
- 第三个案例Transformers
- 第三个案例pingan2
第一个实例android_crackme
将32位的android_server放到手机目录下

/data/local/tmp
给android_server赋予root

更改root用户组

运行android_server
./android_server
pc端端口转发

安装apk,并运行app
打开32位IDA并attach到进程

加载速度有点儿慢,稍等一下
先使用jadx看java层逻辑

定位要分析的方法
public native String encrypt(String str);
public native String getFlag();
IDA 给两个方法打断点
先找进程,再到进程中找函数(encrypt,getFlag)
IDA导入头文件
insert导入结构体
第二个实例EasyJNI
安装程序看看长什么样子

先使用jadx分析java程序
# 导入结构体
右键
分析函数逻辑

第三个案例Transformers
安装程序
看看长什么样子
看java代码
看看有什么端倪
## 搜索so库的加载
## IDA找eq函数,但没有
## JNIOnload动态注册分析
如何在JNIOnload下段
第三个案例pingan2
安装程序

分析java代码
