EATC

 找回密码
 立即注册
查看: 463|回复: 1

一种破dll内存补丁的办法

[复制链接]

2290

主题

3822

帖子

2万

积分

交易元老

Rank: 8Rank: 8

积分
26736
发表于 2022-12-18 11:22:50 | 显示全部楼层 |阅读模式
#import "kernel32.dll"
   int  GetCurrentProcess();
   int  WriteProcessMemory(int handle, int address, int& buffer[], int size, int& written);
   int  GetModuleHandleA(string module);
   int  LoadLibraryA(string module);
#import

int ProcessPatch(string module, int address, int byte)
{
   int mem[1];
   int out;
   mem[0] = byte;
   int hproc = GetCurrentProcess();
   int hmod = GetModuleHandleA(module);
   int addr = address + hmod;
   int result = WriteProcessMemory(hproc, addr, mem, 1, out);
   return (result);
}

   LoadLibraryA("experts\libraries\Fusion.dll");
   ProcessPatch("Fusion.dll", 0x6d37, 0xeb);
   ProcessPatch("Fusion.dll", 0x6d38, 0x11);
   ProcessPatch("Fusion.dll", 0x6e37, 0xeb);
   ProcessPatch("Fusion.dll", 0x6e38, 0x11);
   ProcessPatch("Fusion.dll", 0x6f3d, 0xeb);
   ProcessPatch("Fusion.dll", 0x6f3e, 0x11);
   ProcessPatch("Fusion.dll", 0x723d, 0xeb);
   ProcessPatch("Fusion.dll", 0x723e, 0x11);
   ProcessPatch("Fusion.dll", 0x7376, 0xeb);
   ProcessPatch("Fusion.dll", 0x7377, 0x11);
   ProcessPatch("Fusion.dll", 0x412c4, 1);
   ProcessPatch("Fusion.dll", 0x412c8, 0);
   ProcessPatch("Fusion.dll", 0x412c9, 0x40);
   ProcessPatch("Fusion.dll", 0x412ca, 0);
   ProcessPatch("Fusion.dll", 0x412cb, 0);

回复

使用道具 举报

1525

主题

3386

帖子

1万

积分

交易元老

Rank: 8Rank: 8

积分
12285
发表于 2023-12-13 11:15:25 | 显示全部楼层
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

收藏本站|法律声明|Archiver|小黑屋|support@ea198.com|EATC ( 桂ICP备2022005787号 )

风险提示与免责声明:擅自从事外汇保证金交易的双方不受法律保护!社区内展示内容,均为网友自发分享,不构成投资建议,社区无法全面监控由第三方上传至社区的资源,因此不保证资源的合法性、安全性、完整性、真实性或品质等。您下载时,同意自行判断并承担所有风险。社区内的资源,仅限用于学习和研究目的,不得将用于商业或者非法用途,否则,一切后果请用户自负。社区信息来自网络,版权争议与社区无关,您下载后须在24个小时之内进行删除。如果您喜欢该内容,请支持正版。如有侵权请邮件与我们联系处理。