标签:
如何给系统的程序打个补丁,让它在退出的时候启动我们的程序了。
这里拿XP系统的calc.exe 程序开刀。
想要calc.exe能启动自己的程序 必须要有能利用的导入函数, 比如shell32.dll!ShellExecuteA
用LordPE工具查看发现calc.exe没有导入表函数shell32.dll!ShellExecuteA
如上图, 这里没有shell32.dll!ShellExecuteA 只有ShellAboutW
所以必须添加一个区块,在新建区块的添加导入表函数shell32.dll!ShellExecuteA
如上图 .Silvana 这个区块就是新添加的, ShellExecuteA函数也添加进去了,这里用LordPE工具添加就行
用OD打开calc.exe, 在.data里面找空闲位置 填写字符串信息如图(如果填写好了,但是无法保存到exe,可以多试几个位置)如下图 在 10149e0 处添加
找到calc.exe退出的位置,覆盖添加如下代码,如图(直接覆盖填写,不用把指令写到空白的地方,jmp空白,在跳回来)
如下图 在010125f3处写代码
push 5
push 0
push 10149e0
push 10149e8
push 10149f5
push 0
call ShellExecuteA
push 0
call exit
到这里已经全部完成! 不要做坏事喔!
CalcPro.exe 是要启动的程序 启动参数apprun,
开刀的calc.exe 和 打补丁的calc1.exe, CalcPro.exe
下载地址http://pan.baidu.com/s/1kTJ4mDh
标签:
原文地址:http://www.cnblogs.com/mayingkun/p/4648733.html