小白搞的动态链接库,过程很
先前没搞过这个方面的东西,什么都不懂用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 ,(??????????) 这点不明白
折腾了好几天终于出来了 :)
thumb 指令的地址要加1知道这个窍门的都是大神! 欢迎~
_dyld_get_image_vmaddr_slide 获取到的是ASLR的地址,也就是瞬时地址~~
呵呵。。是你么?。。多来我们论坛发点技术贴啊。。。 我明白了 ! 谢谢大大指导。我以前也搞不懂,教程也看了好多,好久都不明白为什么 向楼上各位大侠学习,现在表示还看不懂这些。。。。
页:
[1]