发新帖

Cydia Substrate hook 问题 小菜求帮助

[复制链接]
19312 2
5NB
本帖最后由 x10510 于 2015-7-6 12:25 编辑

按照网上实例来

第一个测试apk com.example.test:
[C] 纯文本查看 复制代码
void hook_hello(int i,int j ) {
        LOGD("Hook%d\n", i+j);
}


==================
第二个hook apk
[C] 纯文本查看 复制代码
void (* old_hook_hello)(int,int);

void new_hook_hello(int x,int y){
        LOGD("hook  add %d %d ",x,y);
}


void hook()
{

    MSImageRef image = MSGetImageByName("/data/data/com.example.test/lib//libTEST.so");
    if (image != NULL)
    {
        void * symbole = MSFindSymbol(image,"hook_hello");
        if (symbole == NULL){
            LOGD("error find1");
        }else{
            MSHookFunction(symbole, (void*)&new_hook_hello,(void **) &old_hook_hello);
            LOGD("hook  ok");
        }
    }else{
        LOGD("error find2");
    }
}
}


打印出来是LOGD("error find2 "); 没取到;
=========================
我又试了下
[C] 纯文本查看 复制代码
        void *handle=  dlopen("/data/data/com.example.test/lib/libTEST.so", RTLD_LAZY);
          void *ex_test_org = dlsym(handle, "hook_hello");
          LOGD("%p",ex_test_org);//能打印出地址
    MSHookFunction(ex_test_org, (void*)&new_hook_hello, (void**)&old_hook_hello);


但是到com.example.test 调用hook_hello函数没有执行new_hook_hello,求帮助




举报 使用道具

回复

精彩评论2

TextXss    发表于 2015-7-10 19:24:58 | 显示全部楼层
cydia 注入了 davilk,你这种写法只能注入导出的函数..
未导的函数出的需要另外注入.

点评

谢谢回复,我这个好像就是导出的函数啊。另外的注入是怎么样的呢?大神,球个例子谢谢  详情 回复 发表于 2015-7-10 23:30

举报 使用道具

回复
x10510    发表于 2015-7-10 23:30:39 | 显示全部楼层
本帖最后由 x10510 于 2015-7-10 23:32 编辑
TextXss 发表于 2015-7-10 19:24
cydia 注入了 davilk,你这种写法只能注入导出的函数..
未导的函数出的需要另外注入. ...

谢谢回复,我这个好像就是导出的函数啊。另外的注入是怎么样的呢?大神,球个例子或者资料谢谢

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表