有问题可以下方留言给我
AndroidNativeEmu有什么用?
AndroidNativeEmu是基于Unicron实现的一个指令解析器, 让您能够跨平台模拟Android Native库函数,例如JNI_OnLoad,Java_XXX_XX等函数
特性
- 模拟 JNI Invocation API so
JNI_OnLoad
can be called properly. - 模拟 memory、malloc、memcpy
- 支持拦截系统调用(SVC #0)
- 通过符号Hook
- 所有 JavaVM, JNIEnv 和 hooked functions 都可以用python来处理
- 支持 VFP
- 支持文件系统(也就是说你可以模拟maps、status等文件)
安装过程
环境要求: python 3.7 (注意必须是3.7版本, 我使用3.6装keystone的时候踩了坑)
自测系统环境: win7
1.Clone 该项目
1 | git clone https://github.com/AeonLucid/AndroidNativeEmu.git |
2.安装需要的支持模块
1 | pip install -r requirements.txt |
安装keystone-engine可能会失败(反正我是没装上)
解决方案:
1 | 1. 克隆keystone仓库: git clone https://github.com/keystone-engine/keystone.git |
3.把androidemu
文件夹复制至sample
文件夹下,并删除example.py
文件下的关于”samples/“的目录访问路径
1 | 如 |
4.运行例子
1 | python example.py |
5.不出意外的话就可以看到结果了
例子文件阅读
1 | example_binaries/ : 里面是需要加载的so |
1 | import logging |