当前位置: 代码迷 >> 汇编语言 >> 怎么在EXE代码中添加一段自己写的代码
  详细解决方案

怎么在EXE代码中添加一段自己写的代码

热度:1512   发布时间:2013-02-26 00:00:00.0
如何在EXE代码中添加一段自己写的代码
这个EXE文件不是PE格式的,是PASCAL做的程序,在DOS下运行;现需要在尾部或者中间部分添加自己的代码,然后在原程序中调用自己的代码.自己尝试了再尾部添加了一段代码,调用时也指向了该位置,但查看内存时自己添加的变为空值(都是00),请问是否要修改头部信息?如何修改?

------解决方案--------------------------------------------------------
似乎你是手工修改了二进制文件?
我猜是你看错位置了,EXE文件在硬盘中存储时文件对齐是按512字节对齐,但是加载到内存后是按4KB对齐的。
还有得注意一下重定位。
------解决方案--------------------------------------------------------
NT下win32平台都是PE格式吧?如果那个程序不是,那么是什么格式?楼主用PEtool看一下。
------解决方案--------------------------------------------------------
如果是16位程序,那么应该是MZ格式的,你用ultredit 打开,看一下前2个字符就知道了。MZ文件的的格式请参考http://hi.baidu.com/%CE%B4%C0%B4%CF%D6%D4%DA%B4%B4%D4%EC/blog/item/60be5c216713ee4a9922ed7d,你需要修改文件头的某些字段才能正确工作。好多加密软件和病毒就是通过修改mz文件来达到润兴附加的代码的目的。
  相关解决方案