0x01html
先说总结:java
参照https://www.cnblogs.com/jiaoxiake/p/6818786.html 最后说的步骤,android
参考:https://www.52pojie.cn/thread-586058-1-1.htmlgit
经过DexExtractor将加固后的apk还原odex,拖到jeb里面继续分析,odex-dex步骤没完成。shell
0x02:
同事小哥在找分析一个apk,找里面一点逻辑,发现apk被梆梆加固了。
正常apktool反编译没法找到清单文件里面注册的服务。app
找了下lib文件里,2个so文件,搜索发现和BANGBANG相关,顺带搜到了TUOKE的文章函数
0x03:spa
参照教程,须要使用DexExtractor,有几种方式
1.本身编译源码,修改dexFileParser函数,刷机
2.找个4.4机器,ROOT掉,替换libdvm.so,重启
3.找个4.4机器,刷system.img,重启
源码在U里面,回去编译再刷,以为有点麻烦,要是长期使用,能够考虑。
手里有Nexus5,刷的lineageos,再折腾一边刷机以为不必,毕竟就一次~~
a.而后选择,用模拟器,AVD里面选择SDK19 ARM CPU的模拟器,下载安装3d
得到模拟器如上日志
感谢前辈提供将已经编译好的system.img
地址在百度云:https://pan.baidu.com/s/1jG3WQMU
b.修改模拟器加载system.img地址,配置文件在 :hardware-qemu.ini
配置文件地址在: C:\Users\xxxooo\.android\avd\Nexus5XAPI19-4.4.avd
xxx为本机用户名,Nexus5XAPI19-4.4为你建立的模拟器名字 ,
修改hardware-qemu.ini里面 disk.systemPartition.initPath,或者直接将百度云下载好的syste.img替换过去[提早备份]
c.重启模拟器
将加固后的apk文件安装到模拟器
打开logcat,
打开adb shell ,将sdcard 目录mount一下
打开目标app,查看log日志 过滤 目标包名
顺利的话会看到:
看到已经生成n个dex文件,
至于为何是多个dex文件,这个没搞明白,不知道会不会是由于由于加固故意分割dex
若是/sdcard/写入失败,会有log日志,
个人操做是,重启模拟器,开机就adb shell 进去 su 而后mount sdcard 给777权限
e.将生成后的dex文件pull到电脑,
查看/sdcard/ 目录,只要文件名字包含目标包名的就是,全都pull出来,了,例如都放到 hack 目录
下载git中的DexExtractor项目,使用其中的 Decode.jar 还原dex
java -jar Decode.jar hack ,hack为从手机内pull出来的dex目录
得到解密后的xxxx.read.dex
此次得到的为odex格式,拖到WinHex 看透文件为 dey 036
文件拖到jeb能够直接看,不过要点击 inner_dex
若是想要直接看dex,还须要使用:baksmali ,这里我就没有操做,
有个技巧,pull出来的dex有4个,经过jeb将每一个都反编译,导出为java保存在不一样文件夹。
而后,经过notpad++全局查找须要找的代码,好比某个字符串(定义在string.xml的除外)或者代码
定位到,再用jeb打开dex,能够查看调用关系,否则,导出为java后,导入studio或者eclipes调用关系极可能没法生成
基本操做就这些
同事小哥如愿找到了想要的,晚上加鸡腿
后来发现 赵四前辈的 文章更详细,
地址: http://www.wjdiankong.cn/apk%E8%84%B1%E5%A3%B3%E5%9C%A3%E6%88%98%E4%B9%8B-%E5%A6%82%E4%BD%95%E8%84%B1%E6%8E%89%E6%A2%86%E6%A2%86%E5%8A%A0%E5%9B%BA%E7%9A%84%E4%BF%9D%E6%8A%A4%E5%A3%B3/
仅此记录下