首页
社区
课程
招聘
[求助]小红书frida native hook 报错 如下,求大佬支招,谢谢!
发表于: 2019-11-15 01:22 6420

[求助]小红书frida native hook 报错 如下,求大佬支招,谢谢!

2019-11-15 01:22
6420
[GetStringUTFChars] result:DEBUG
[GetStringUTFChars] result:No implementation found for void com.xingin.shield.http.RedHttpInterceptor.initializeNative() (tried Java_com_xingin_shield_http_RedHttpInterceptor_initializeNative and Java_com_xingin_shield_http_RedHttpInterceptor_initializeNative__)
[GetStringUTFChars] result:2019-11-15 01:16:08
[GetStringUTFChars] result:xhs-logcat-listener
[GetStringUTFChars] result:944
[GetStringUTFChars] result:LOGCAT
[GetStringUTFChars] result:I/art
[GetStringUTFChars] result:DEBUG
[GetStringUTFChars] result:Rejecting re-init on previously-failed class java.lang.Class<com.xingin.shield.http.RedHttpInterceptor>

好像shield.so 加载失败了,然后没有找到这个native 函数的名字及基地址和偏移地址,求人指教!谢谢
附件是hook 日志


import frida, sys

jsCode = """
Java.perform(function(){
     var env = Java.vm.getEnv();
    var handlePointer = Memory.readPointer(env.handle);
    console.log("handle: " + handlePointer);
    var nativePointer = Memory.readPointer(handlePointer.add(215 * Process.pointerSize));
    console.log("register: " + nativePointer);
    /**
     typedef struct {
        const char* name;
        const char* signature;
        void* fnPtr;
     } JNINativeMethod;
     jint RegisterNatives(JNIEnv* env, jclass clazz, const JNINativeMethod* methods, jint nMethods)
     */
    Interceptor.attach(nativePointer, {
        onEnter: function(args) {
            var methods = args[2];
            var methodcount = args[3];
            var name = env.getClassName(args[1]);
            console.log("=== class: " + name + " ====");
 
            console.log("==== methods: " + methods + " nMethods: " + methodcount + " ====");
            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))
                );
            }
 
        }
    });
});
""";


def message(message, data):
    if message["type"] == 'send':
        print(u"[*] {0}".format(message['payload']))
    else:
        print(message)


process = frida.get_remote_device().attach("com.xingin.xhs")
script = process.create_script(jsCode)
script.on("message", message)
script.load()
sys.stdin.read()
打印的是这个,但是一直在这里卡着了不动,这里打印了nativepointer  为啥下面不执行了?就是不打印函数fnptr等之类的信息,换了好几种方法就是找不到那 个函数的偏移地址,找不出算法

handle: 0xf53b6a90
register: 0xf51d4471


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2019-11-15 15:53 被Erlösung编辑 ,原因:
上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 503
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
如果连shield都加载不了,我劝楼主放下屠刀,回头是岸;
2019-11-15 03:54
0
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
再检查下吧
2019-11-15 15:23
0
雪    币: 5
活跃值: (94)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
同遇到这个问题。。而且hook了libart.so也没有找到。。
2020-12-29 15:50
0
游客
登录 | 注册 方可回帖
返回
//