我们要添加的代码段为:
[C++] 纯文本查看 复制代码
#include<windows.h>int main() {        MessageBox(0,0,0,0);         return 0;}

功能类似于:
修改程序入口地址添加代码段
窗口弹出后继续执行程序其他的功能。在已经编译过的exe直接加入上述代码是不可能的,所以我们通过UltraEdit文本编辑二进制代码加入该功能。并且 不影响原程序的运行,代码可添加到节数据之前的空白区。
分析可知,1000H是节数据开始的地方:在此之前找一片空区域添加,
修改程序入口地址添加代码段
Messagebox函数有四个参数,先进行压栈操作,
6A 00        push 0
6A 00        push 0
6A 00        push 0
6A 00        push 0
E8 00        CALL  ...
E9 00         JMP  ...
call指令(E8)用于调用user32.dll中的窗口函数,jmp指令(E9)用于跳回到程序入口地址(因为要在开头执行我们的代码段已经修改了程序入口地址)。
6A 00 6A 00 6A 00 6A 00
E8 8D F9 94 77
E9 8A 33 04 00
E8 后面跟的不是跳转地址,其值为:
要跳转的地址-E8指令所在的内存地址-5
E9 同理;
用OD打开程序,给函数添加Messagebox断点,发现断在77D507EA,即我们要跳转的地址
修改程序入口地址添加代码段
我们将代码添加在00000E50H:E8所在的地址为400E58(400000+E58),400000是内存中的偏移。
修改程序入口地址添加代码段
77D507EA-400E58-5=7794F98D
修改程序入口地址添加代码段
程序入口地址是004441EC,E9所在的地址为400E5D.
4441EC-400E5D-5=4338A
此时代码写入完成,开始修改程序入口地址为我们添加代码的地址,随后正常跳转 ,程序入口地址存储在扩展PE头中第16位,占4字节。
修改程序入口地址添加代码段
填入E50,此时我们的任务已经完成,程序另存为creakme_修改入口.exe,打开程序:
修改程序入口地址添加代码段
程序已经正常运行:
修改程序入口地址添加代码段
至此,入口提示框添加完成。
标签:
修改程序入口地址添加代码段

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“修改程序入口地址添加代码段”
暂无“修改程序入口地址添加代码段”评论...

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。