首页
社区
课程
招聘
frida hook RegisterNatives为什么没有打印出函数?
发表于: 2020-4-5 16:52 3383

frida hook RegisterNatives为什么没有打印出函数?

2020-4-5 16:52
3383
尝试使用了frida hook分析了dy,现象是:
1.自己写的so能够正常打印出注册函数及包含模块
2.大部分so都能正常打印函数,但libcms.so是没有注册函数输出的

依照常理,函数注册肯定会调用RegisterNatives函数的,但是并没有打印到,猜测so可能直接调用更底层,但单独HOOK更底层的几个函数也是一样,
研究了一阵子也没明白是怎么做到的?

代码如下:

function hook_RegisterNatives() {
    var env=Java.vm.getEnv();
    var handlePointer=Memory.readPointer(env.handle);
    var nativePointer=Memory.readPointer(handlePointer.add(215*4));
   
   
    Interceptor.attach(nativePointer,{
            onEnter:function (args) {
                send("onEnter 截获传入参数 env:"+args[0]+" clazz:"+args[1]+" functable:"+args[2]+" num:"+args[3]);
                var methods = args[2];
                var methodcount = args[3];
               
                for (var i = 0; i < methodcount; i ++ ) {
                    var idx = i * 12;
                    console.log("name: " + Memory.readCString(Memory.readPointer(methods.add(idx)))
                    + " signature: " + Memory.readCString(Memory.readPointer(methods.add(idx + 4)))
                    + " fnPtr: " + Memory.readPointer(methods.add(idx + 8))
                    );
                }
            },
            onLeave:function (retVal) {
               // enumMods();
               
            }

    });
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 400
活跃值: (365)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
先Hook libart.so RegisterNatives

参考
https://github.com/lasting-yang/frida_hook_libart
2020-4-6 10:48
0
游客
登录 | 注册 方可回帖
返回
//