梆梆加固还原DEX文件

 

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/

 

  仅此记录下

相关文章
相关标签/搜索