首页
社区
课程
招聘
[分享]Android平台下使用Capstone反汇编引擎(HEX转ARM64)
发表于: 2017-4-25 14:21 8852

[分享]Android平台下使用Capstone反汇编引擎(HEX转ARM64)

2017-4-25 14:21
8852


最近在研究Android平台上给一些ELF64位的文件打补丁,需要动态分析打补丁的位置,
所以就引入了一个ARM 64位反汇编引擎,这样定位代码时会更准确一些。

----------------------------------------------
编译环境:
Ubuntu4.04 x86-64
android-ndk-r10e-linux
ant
对于Capstone和jna的编译,我是在Ubuntu14.04 x86-64位环境下完成的;
本文的测试代码运行的手机,CPU位数必须是64位的;

1.编译Capstone Engine;
(为Android交叉编译Capstone Engine,使用香港服务器下载 Capstone)
# git clone e8dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6S2M7i4g2&6L8X3S2Q4x3V1k6U0j5i4m8K6N6r3!0F1k6g2)9J5k6h3N6A6N6l9`.`.
# cd capstone
# NDK=~/soft/android-ndk-r10e ./make.sh cross-android arm64
在当前目录中我们应该有一个名为libcapstone.so的文件,将其复制到app/libs/arm64-v8a/目录中。

接着下载一份 Capstone Java bindings ,并将其放入Android Studio项目中的app/libs/目录,
其提供了一些方法和类帮助我们与Capstone Engine进行交互。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 101
活跃值: (182)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不用这么复杂,capstone已经被编译到js上了,直接用这个项目就可以了:
15fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6m8L8r3g2^5b7h3I4@1k6h3q4Q4x3V1k6U0j5i4m8K6N6r3!0F1k6g2)9J5k6h3A6K6
2017-4-28 20:03
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3

请问有用于windows下的反汇编引擎吗

2017-5-3 10:40
0
雪    币: 111
活跃值: (264)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
wsscherish 请问有用于windows下的反汇编引擎吗
参考  80dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4m8W2k6r3W2&6i4K6u0W2j5$3!0E0i4K6u0r3M7$3!0#2M7X3y4W2j5$3!0V1k6g2)9J5c8X3c8A6M7$3q4K6M7$3g2E0j5X3I4W2M7Y4y4Q4x3X3g2Z5N6r3@1`.
也可以参考  bochs  源码
2017-5-8 18:58
0
游客
登录 | 注册 方可回帖
返回