- UID
- 82009
注册时间2014-12-29
阅读权限8
最后登录1970-1-1
初入江湖

该用户从未签到
|
先前没搞过这个方面的东西,什么都不懂
用ida 找到了函数的地址,
之前用过gbd 可以查看函数调用的参数.(可是对于非系统调用的函数,只是看到参数好像是没什么用的呢)
套用gdb的方式,用相对地址加上gdb 里面info sh 差看到的offset 就是函数的地址,然后下断点.
可是我怎么获取到 程序在内存中的初始地址呢?
我先用的dlsym 这个函数,
可是这个函数必须要知道函数名字啊.
我要hook的函数 没有名字(在ida 中).
我想到了相对位置这个办法,
发现有一个 _m_execute_head 可以用 dlsym 这个函数找到.
还有一些printf 的函数在ida 中是可以看到的,奇怪的是用不同的函数求到的目标函数地址不一样! {:soso_e111:}(后来发现只有export 里面的是正确的,但是start 函数不行!!)
问题出在哪里呢?(有人能解答吗)
后来一哥们告诉我可以用_dyld_get_image_vmaddr_slide 这个获取到地址
拨开明月啊,
而且thumb 指令的地址要加1 ,(??????????) 这点不明白
折腾了好几天终于出来了 :)
|
|