安卓逆向入门
安卓逆向入门
建设自己的逆向环境
-
环境准备
-
夜神/逍遥模拟器, 安卓版本选择
- 用xp root模拟器, 安装fiddler,配置证书, 安装justtrust me抓包
-
安装 Mdex 脱壳工具, np管理器,为了签名
对于加壳的文件 目的是为了拿dump之后的dux文件,
-
windows配置jdk, java环境, jadx-gui使用
-
准备好编译和反编译的 BombAPK.py
实例demo
准备好一个加固的apk 和 一个没有加固的 apk , 打开我们安装好的jadx-gui, 将加固的apk拉到jadx_gui, 查看这个apk是否加固(加固和未加固的区别在于是否看到包里面的代码)
查看加固apk
出现这种abc的就代表这个apk被加固了,再看看没有加固的apk
可以直接查看
我的目的是将这个apk的密码给改掉, 怎么操作呢?
先安装好这个apk
我们通过上面的jadx_gui知道这个apk没有被加固,所以我们可以通过py直接解混淆
python BombAPK.py -t 1 -i ctf0.apk
-t 1 代表解混淆
解完之后,会出现一个这样的文件夹
然后可以通过我们之前打开的jadx_gui的apk,对比找到需要修改的地方, 解混淆出来之后的语法是smail的,但是并不影响用Java定义的函数
可以比对按照jadx_gui这个层级去搜索这个文件.
然后通过记事本打开这个smail文件, 搜索这个函数名
将里面的密码改为 123456, 保存
然后通过py再反编译, 这次用的是 -t 2
python BombAPK.py -t 2 -i ctf0-debug
发现报错了,然后将报错的提示复制到百度上搜索一下, 发现一篇文章, 按照他的修改
找到文件,在记事本修改
修改完之后再编译试试
成功之后将文件拉到模拟器上的时候,发现安装不了,因为是没有对apk文件进行重新签名, 这时候我们就需要通过np管理器重新签名.
签名完成后会生成一个新的apk
这时候就可以测试是否修改密码成功了.
成功. 做个简单的记录
完