如何給系統的程序打個補丁,讓它在退出的時候啟動我們的程序了。
這裡拿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