Hook 获取指针参数的返回值

在c语言中,一般都会以指针传递返回的值 ,没有return 或者return为true

hook sub_750 打印参数和输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function hookTest5(){
var soAddr = Module.findBaseAddress("libxiaojianbang.so");
//console.log("soAddr -->"+ soAddr);
var sub_750 = soAddr.add(0x750); //函数地址计算 thumb+1 ARM不加
//console.log("sub_750-->"+sub_750);

if(sub_750 != null){
Interceptor.attach(sub_750,{
onEnter: function(args){
console.log("args[0]:\r\n",hexdump(args[0]));
console.log("args[1]:\r\n",args[1].readCString())
console.log("args[2]:\r\n",args[2].toInt32());
},
onLeave: function(retval){
console.log("retval:\r\n",hexdump(retval));
}
});
}
}

在打印sub_1AA0的时候发现,单纯打印v10的输入是没有用的,结果也不对应,这时候可能是函数内部对v10进行了某种操作,对于这种情况可以将v10的地址给一个变量,在函数运行结束后打印v10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

function hookTest5(){
var soAddr = Module.findBaseAddress("libxiaojianbang.so");

var sub_1AA0= soAddr.add(0x1AA0); //函数地址计算 thumb+1 ARM不加
//console.log("sub_750-->"+sub_750);
if(sub_1AA0 != null){
Interceptor.attach(sub_1AA0,{
onEnter: function(args){
this.args1 = args[1];
},
onLeave: function(retval){
console.log(hexdump(this.args1));

}
});
}
}

相关文章
评论
分享
  • scrapy 框架学习

    入坑scrapy在自己学习了一段时间爬虫之后(其实也就是了解了下爬虫),我就迫不及待的想学习心得东西了。 今天就入手scrapy框架 官方文档 安装安装上基本没啥大问题,缺啥补啥就行 这里我选择使用Python虚拟环境virtuale...

    scrapy 框架学习
  • 某app加密算法分析

    Hey, password is required here. a7fbab8565cf6bbb84f5578e356b215e1a835de7a145bd926381e35cc45256f4...

    某app加密算法分析
  • jni函数hook

    jni函数hook(计算 地址方式)12345678910111213141516171819202122232425262728293031323334353637function hookTest9() { Jav...

    jni函数hook
  • Hook jni 主动调用

    Hook jni 主动调用要对hellofromc 进行主动调用,修改返回值,但是这里不能直接通过replace去修改返回值,而是要通过newstringutf 去修改返回值。 1234567891011121314151617181...

    Hook jni 主动调用
  • Hook 计算非导出函数地址

    hook 读写内存数据对string字符串,可能是加密的,可以通过直接hook 加载的内存数据来读取解密状态的字符串 123456789读取内存字符串数据function hookTest7() { var soAdd...

    Hook 计算非导出函数地址
  • Hook dlopen

    hook dlopen在刚开始hook 我们必须使得app加载so 才能hook, 我们可以hookdlopen 获取到so在那加载,在高版本中有一些so会走android_dlopen_ext 1234567891011121314...

    Hook dlopen
  • Hook 导出函数和修改函数参数返回值

    Hook 导出函数123456789101112131415161718192021222324252627282930// hook 导出函数function hookTest1() { var addAddr =...

    Hook 导出函数和修改函数参数返回值
  • Hook so 导入导出表

    hook so 导入导出表启动frida打开两个cmd 窗口 12345第一个cmd窗口adb shellsucd /data/local/tmp./fx // 这个是frida-server-12.8.14-android-x86...

    Hook so 导入导出表
  • Hook Java层通杀

    Hook 通杀Hook 普通方法和修改函数参数返回值fradaserver 是手机端的, android低版本 frida 尽量低版本 fridaserver版本要与frida库版本一致 不同平台用不同fridaserver 不要和...

    Hook Java层通杀
  • 最右登录协议分析

    Hey, password is required here. 184ec4c94e65a4b619ea732bd39a29aaf452514072ddb6dff084e29ad47fa9af...

    最右登录协议分析
Please check the comment setting in config.yml of hexo-theme-Annie!