吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1622|回复: 3
收起左侧

[新手问题] 怎么使用这个文件 进行打包成补丁呢?

[复制链接]
笔墨纸砚 发表于 2021-4-13 23:07
[C] 纯文本查看 复制代码
#include<windows.h>

int selfSimplePatch(DWORD RVA, BYTE *ReadByte, BYTE *WriteByte, DWORD length)
{
	HANDLE hProcess = GetCurrentProcess();

	BYTE *checkByte =(BYTE *)malloc(length);

	DWORD writeAddress = (DWORD)GetModuleHandle(NULL) + RVA;

	DWORD dwDldProc = 0;

	TCHAR tzTemp[200];

	if (!ReadProcessMemory(hProcess, (LPCVOID)writeAddress, checkByte, length, NULL))
	{
		free(checkByte);
		//wsprintf(tzTemp, TEXT("程序 %hs 在偏移%lu 补丁失败 返回值:-4"), ExeName, RVA);
		//OutputDebugString(tzTemp);
		return -4;//读取失败
	}

	for (int i = 0; i < length;i++)
	{
		if (*(ReadByte + i) != *(checkByte + i))
		{
			free(checkByte);
			//wsprintf(tzTemp, TEXT("程序 %hs 在偏移%lu 补丁失败 返回值:-3"), ExeName, RVA);
			//OutputDebugString(tzTemp);
			return -3;//原始数据和读到的数据不符
		}
	}

	if (VirtualProtectEx(hProcess, (LPVOID)writeAddress, length, PAGE_EXECUTE_READWRITE, &dwDldProc) == FALSE)//修改内存页面属性
	{
		free(checkByte);
		//wsprintf(tzTemp, TEXT("程序 %hs 在偏移%lu 补丁失败 返回值:-2"), ExeName, RVA);
		//OutputDebugString(tzTemp);
		return -2;
	}

	if (WriteProcessMemory(hProcess, (LPVOID)writeAddress, WriteByte, length, NULL) == FALSE)
	{
		free(checkByte);
		//wsprintf(tzTemp, TEXT("程序 %hs 在偏移%lu 补丁失败 返回值:-1"), ExeName,RVA);
		//OutputDebugString(tzTemp);
		return -1;
	}

	VirtualProtectEx(hProcess, (LPVOID)writeAddress, length, dwDldProc, &dwDldProc);

	free(checkByte);

	//wsprintf(tzTemp, TEXT("程序 %hs 在偏移%lu 补丁成功 返回值:0"), ExeName, RVA);
	//OutputDebugString(tzTemp);

	return 0;
}



void EnableDebugPriv()//提升权限
{
	HANDLE hToken;
	LUID luid;
	TOKEN_PRIVILEGES tp;
	OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
	LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luid);
	tp.PrivilegeCount = 1;
	tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
	tp.Privileges[0].Luid = luid;
	AdjustTokenPrivileges(hToken, 0, &tp, sizeof(TOKEN_PRIVILEGES), NULL, NULL);
}


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

ma4907758 发表于 2021-4-13 23:17
等待高手

免费评分

参与人数 1吾爱币 -6 收起 理由
涛之雨 -6 请勿灌水,提高回帖质量是每位会员应尽的义务!

查看全部评分

yidiandian 发表于 2021-4-13 23:28
正好学习,楼主辛苦了。

免费评分

参与人数 1吾爱币 -1 收起 理由
涛之雨 -1 此为违规行为,请遵守论坛版规!

查看全部评分

晨露有点儿甜 发表于 2021-4-14 00:27
谢谢分享!

免费评分

参与人数 1吾爱币 -5 收起 理由
涛之雨 -5 请勿灌水,提高回帖质量是每位会员应尽的义务!

查看全部评分

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

本版积分规则

返回列表

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

GMT+8, 2024-11-25 03:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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