如果不是有界面方面的操作的话, 可以找到一个合适的地方插入你的代码, 需要做的是:
1. 准确地找到一个可以插入代码的地方, 一般在jump语句上下功夫
2. 记下这个相对地址, 插入你的代码, 再jump回来.
所有操作要借助汇编, Windows下使用汇编和插入代码可以参考<深入Windows编程>不过说实话, 这样做真的很累, 难道没有其他方法???
1. 准确地找到一个可以插入代码的地方, 一般在jump语句上下功夫
2. 记下这个相对地址, 插入你的代码, 再jump回来.
所有操作要借助汇编, Windows下使用汇编和插入代码可以参考<深入Windows编程>不过说实话, 这样做真的很累, 难道没有其他方法???
你好!
谢谢你回答我的问题,能够说详细一点吗?小弟在此先谢过了。
需要考虑的问题有:
1. 怎么找节点插入: 这要根据你对程序的了解反汇编找到绝对地址.
2. 怎么插入代码: 找到jump语句, 如jump A
改成 jump B, B是你的程序地址
在你的程序最后jump A就可以了
3. 技术细节: 需要对地址进行保护和转换等操作, 具体的细节不是一下能说清楚.
建议你看看雷军还在写程序时写的一本书<深入Windows编程>, 有很多这方面的sample.
这本书通篇讲Windows EXE文件格式, 代码嫁接和Windows汇编编写等等.
研究它的文件头。文件格式可以在开发网络上找到。
2、
http://www.geocities.com/SiliconValley/2151/selfmod.html 这篇文章也许对你有点帮助。