测试例子就用http://bbs.pediy.com/thread-213214.htm这个帖子的例子了,前面我已经介绍过了这个项目是个虚拟引擎,其实可以做很多事,那么我们怎么利用这个项目来脱壳呢?
其实很简单,就是利用Hook.
前面的帖子里介绍过了各种反调试啊,然后不停的找之类的,那么我们不这样做。我们只Hook打印日志,看看能得到什么信息。
我们需要hook哪些函数呢?
这个五个函数,先hook起来,然后把参数打印一遍即可。
这样我们就可以得到一个加壳App的执行流程。
在日志当中我们看到这样的一段日志。
open了一个2.dex
调用libart当中的
art::EncodedStaticFieldValueIterator::ReadValueToField
这个函数。
所以这个2.dex很可能就是脱壳之后的dex。
我们在memcpy当中这样hook
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
楼主解决了onCreate 吗? 你说hook env ,应该是hook findclass 和 registerNatives 这两函数吧? 可是就算Hook了,因为都是c++写的,里面的方法步骤可以dump出来? 变量值也可以吗? dex是因为第一个参数就是内存地址,第二个是长度,所以可以直接写文件保存。 希望指教下
为什么hook RegisterNatives. 会报错 : Error: unable to find the Symbol : RegisterNatives.
用法如下: HOOK_DEF(jint,RegisterNatives,jclass clazz, const JNINativeMethod* methods, jint nMethods)