吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2929|回复: 13
收起左侧

[原创] 修改程序入口地址添加代码段

[复制链接]
lisir1 发表于 2022-12-2 10:05
我们要添加的代码段为:
[C++] 纯文本查看 复制代码
#include<windows.h>
int main() {
        MessageBox(0,0,0,0);
 
        return 0;
}


功能类似于:
f6d1117a39a04b7ea7848c7408ef1f5a.png

窗口弹出后继续执行程序其他的功能。在已经编译过的exe直接加入上述代码是不可能的,所以我们通过UltraEdit文本编辑二进制代码加入该功能。并且 不影响原程序的运行,代码可添加到节数据之前的空白区。

分析可知,1000H是节数据开始的地方:在此之前找一片空区域添加,
09d1da0952164f5b9bd14c8a04efdcdf.png

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,即我们要跳转的地址
ba8f5a8c10f3434abfe430e51d8152cf.png

我们将代码添加在00000E50H:E8所在的地址为400E58(400000+E58),400000是内存中的偏移。
0412dec35103467cae301bcfb382e9ef.png

77D507EA-400E58-5=7794F98D
f987677a16704b0f963f23cf5e1c1cca.png

程序入口地址是004441EC,E9所在的地址为400E5D.

4441EC-400E5D-5=4338A

此时代码写入完成,开始修改程序入口地址为我们添加代码的地址,随后正常跳转 ,程序入口地址存储在扩展PE头中第16位,占4字节。
43554207c6984e53aa82ae05b1a47017.png

填入E50,此时我们的任务已经完成,程序另存为creakme_修改入口.exe,打开程序:
37052d8b697c4fabb3aa4b7d9f4f6f55.png

程序已经正常运行:
133d855e83f847b7b8f8ee6a3073935c.png

至此,入口提示框添加完成。

免费评分

参与人数 9吾爱币 +14 热心值 +7 收起 理由
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
笙若 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
XXXXXXXXMMMM + 1 + 1 热心回复!
海天一色001 + 1 + 1 热心回复!
mengzuiqiannian + 1 我很赞同!
CYLmtthhh + 1 热心回复!
yygytfkp + 1 + 1 我很赞同!
Tonyha7 + 1 + 1 用心讨论,共获提升!
yuye233 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| lisir1 发表于 2022-12-3 16:04
影风 发表于 2022-12-3 13:29
不同系统的api函数地址应该不一样吧 这个怎么兼容呢

是的,不一样,就是针对地址的实际情况改变的,我还在学习阶段,兼容的话,还没学到
route 发表于 2023-11-22 10:45
为什么我的程序按照步骤来,修改oep后程序报错0xc000007b,未修改oep前正常运行,拖到x64dgb中看添加代码是call程序的messabox和jmp回程序的oep了
akillking 发表于 2022-12-3 07:52
yi0819 发表于 2022-12-3 10:00
有些网上下的程序打开时跳一个窗口广告是不是就是这么加进去的。。。
gksj 发表于 2022-12-3 12:27
yi0819 发表于 2022-12-3 10:00
有些网上下的程序打开时跳一个窗口广告是不是就是这么加进去的。。。

原作者不需要,如果是他人修改过的就不好说了
中原一点红 发表于 2022-12-3 13:04
后面研究看看
感谢分享
影风 发表于 2022-12-3 13:29
不同系统的api函数地址应该不一样吧 这个怎么兼容呢
snake88 发表于 2022-12-3 15:27
没有看懂,哇塞
 楼主| lisir1 发表于 2022-12-3 15:59
snake88 发表于 2022-12-3 15:27
没有看懂,哇塞

额,我也是新手,没看懂的话可以先学习一下PE文件的整体结构
 楼主| lisir1 发表于 2022-12-3 16:05

萌新啦哈哈
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 10:10

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表