摘要: 看了detour的原理,心里想着自己能不能动手模拟一个。比划的时候发现了一些细节问题。detour将函数的前几个字节(刚开始看文档的时候说5个字节)替换成jmp __。但是发生机器码截断整么办?可以在vs的反汇编窗口看到每条汇编指令的机器码,每条指令的机器码长度并不是固定的,我想detour并不是固定复制5个字节这么简单(目前还没研究detour源码)。所以退而求其次(这是一个学习性质的实验),改变设计。我选择在自己定义的函数执行完之后将修改的代码再改回去,跳回原函数运行。看起来是这样的:而且自定义函数是不知道自己返回到的是traceBack的。即原函数总是会被执行。这就变成了钩子,而且只能钩 阅读全文
posted @ 2013-01-31 14:36 南树 阅读(1502) 评论(5) 推荐(1) 编辑