首页
社区
课程
招聘
[求助]请教一个Cydia Hook非系统so的问题
发表于: 2016-5-27 11:56 6988

[求助]请教一个Cydia Hook非系统so的问题

2016-5-27 11:56
6988
测试hook系统 api、so没问题(/system/lib/*),但是我想hook一个第三方应用里面的so就无法挂成功,测试代码如下:

#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,"CydiaHook",__VA_ARGS__)

//#define LIBNAME "libhello-jni.so"
#define LIBNAME "/data/data/com.demo.cydiahook/lib/libhello-jni.so"

MSConfig(MSFilterLibrary, LIBNAME);

MSInitialize
{
        LOGI("HookNative initialize %s.", LIBNAME);

        // 此处要绝对路径
        MSImageRef image = MSGetImageByName(LIBNAME);
        if (image == NULL)
        {
                LOGI("not find %s.", LIBNAME);
                return;
        }
        else
        {
                LOGI("find %s.", LIBNAME);
        }
}

请问是不能hook非系统so吗?LIBNAME换成libc,libdvm.so没问题("HookNative initialize"能够打印出来)

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 215
活跃值: (372)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
/data/app-lib/
2016-5-27 12:13
0
雪    币: 105
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢,我试了一下,还是不行,手机是Android4.0.3,没有这个目录。
/data/data/com.demo.cydiahook/lib/libhello-jni.so这个文件是存在的。
2016-5-27 12:29
0
雪    币: 546
活跃值: (1642)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4
解决了吗?
2016-6-10 11:00
0
雪    币: 573
活跃值: (1009)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
逆向叉叉助手 你将会得到你想要的答案
2016-6-11 10:06
0
雪    币: 256
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
@Oxygenant,同问,解决了吗,大侠请指教
2017-4-13 17:42
0
雪    币: 208
活跃值: (1986)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
7
我试着回答一下这个问题吧,第一点就是,Cydia  Hook系统so或者非系统so都是没问题的,首先要了解下Cydia  Hook的原理,原理就是找到内存中函数的头十二个字节,替换成跳转。那么要行得通就得有第一个前提,函数在内存中,而且得再Cydia  Hook能够接触得到的so,系统so会加载到任意进程,所以hook系统so自然没问题,第三方so需要hook,就得让Cydia接触的到第三方so,第一种办法,就是自己dlopen,加载到自身内存中来,第二种办法,是把substance的so注入到第三方应用里,进行hook。
2017-4-13 18:16
0
雪    币: 27
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
大魔头 我试着回答一下这个问题吧,第一点就是,Cydia Hook系统so或者非系统so都是没问题的,首先要了解下Cydia Hook的原理,原理就是找到内存中函数的头十二个字节,替换成跳转。那么要行得通就得 ...
问下,我这边hook系统的libc.so的gettimeofday方法,但是连libc.so都hook不到,运行时直接 image == NULL
2018-8-27 14:39
0
游客
登录 | 注册 方可回帖
返回
//