GuoQiang1993 / Frida-Apk-Unpack

676 stars 178 forks source link

关于基于frida的脱壳有一些不了解 #3

Closed szjiajin closed 5 years ago

szjiajin commented 5 years ago

首先十分抱歉我没有看雪的账号所以不知道怎样能联系您只好在这里提issue了

我想问一下对于乐固的方法里全是nop的问题。dstmath和xiaokangpwn的版本可以获取方法吗?还有就是这个方法(以及另外两个方法)适配所有手机cpu的架构吗?(我的是arm64v8的)

感谢!

szjiajin commented 5 years ago

好吧,更新一下,我发现对于android6这三个版本用的是同样的方法,所以在android6里面3个脚本dump出来的应该是同一个东西了?
不过还是有两个问题向请教一下。。

  1. 实际上我试过几次之后感觉好像有时候dump出来的内容多有时候比较少,不知道是什么原因
  2. 在dump的途中我发现有好几个size为292的文件,我注意到dump是以文件大小当作名字的,这样子会不会导致一个覆盖其他的文件? yes
GuoQiang1993 commented 5 years ago

你好,你说的乐固加固dump出来的dex打开里面方法都是nop的问题,是因为加固工具对方法做了抽取的并加密单独存放的缘故,一般是商业级别的加固。这些方法会在运行时解密,这个脚本不能还原抽取的方法,需要自己dump方法运行时的isncode,再patch到dump出来的dex文件,进行方法还原,Android4.1可以dalvik/vm/oo/Resolve.cpp中dvmResolveClass函数可以dump出inscode,Android5.1及以上使用ATR模式运行的可以在art/runtime/class_linker.cc中的ClassLinker::LoadClassMembers函数中dump出inscode。

另外你说的关于文件大小一样导致文件覆盖的问题,我之前用大小加时间戳的方式命令,把文件取出来对比,相同大小的文件是一样的,当然不保证所有的APK都是这样的情况,你可以把地址打出来看是否一样,或者加上时间戳。