C语音和易语言实现内存补丁

前言

当程序加了壳,我们就不能在OD里直接修改指令了,因为壳会打乱程序代码,由壳负责恢复,所以我们在OD里修改指令是没有意义的。为了解决这个问题,我们可以使用内存补丁,实际上就是在程序正常运行起来后,调用
WriteProcessMemory来修改程序的代码内存。

下面是两种语言的实现。

C语言实现

// 内存补丁.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include 
#include 

int main()
{
	HWND hWnd = FindWindowA(NULL, "超简单CM");
	DWORD dwPid = 0;
	GetWindowThreadProcessId(hWnd, &dwPid);
	HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPid);
	BYTE buff[] = { 0x90,0x90, 0x90, 0x90, 0x90, 0x90 };
	WriteProcessMemory(hProcess, (LPVOID)0x004010FD, buff, 6, NULL);
	MessageBoxA(NULL, "破解成功", "内存补丁", MB_OK);
	return 0;
}

易语言实现

C语音和易语言实现内存补丁_第1张图片

C语音和易语言实现内存补丁_第2张图片

你可能感兴趣的:(WINDOWS逆向)