修改器游戏内存修改器原理

内存修改器  时间:2021-01-12  阅读:()

游戏内存修改器原理

#include "stdafx.h"

#include <windows.h>

#include <tchar.h>

DWORD g_arList[1024] ;int g_nListCnt;

HANDLE g_hProcess;

BOOL Wr iteMemory(DWORD dwAddr, DWORD dwValue) ;void ShowList(void) ;

BOOL CompareAPage(DWORD dwBaseAddr, DWORD dwValue) ;BOOL FindNext(DWORD dwValue) ;

BOOL FindFirst(DWORD dwValue) ;

BOOL FindFirst(DWORD dwValue)

{const DWORD dwOneGB = 1024 * 1024 * 1024;const DWORD dwOnePage = 4 * 1024;if (NULL == g_hProcess)

{return FALSE;

}

DWORD dwBase;

OSVERSIONINFO vi = {si zeof(vi) } ;

: :GetVersionEx(&vi) ;i f (VER_PLATFORM_WIN32_WINDOWS == vi.dwPlatformI d){dwBase = 4 * 1024 * 1024;

}else

{dwBase = 640 * 1024;

}

f or (; dwB as e < 2 * dwOne GB; dwBas e += dwOneP age)

{

CompareAPage(dwBase, dwVa lue) ;

}return TRUE;

}

BOOL CompareAPage(DWORD dwBaseAddr, DWORD dwValue)

{

BYTE arBytes[4096] ;if ( ! : :ReadProcessMemory(g_hProcess, (LPVOID)dwBaseAddr,arBytes, 4096, NULL))

{return FALSE;

}

DWORD* p dw = NUL L;int i = 0;for (i = 0; i < (int)4 * 1024 -3; i++)

{p dw = (DWO RD*)&arBy t e s[i] ;i f (pdw[0] == dwVal ue)

{if (g_nListCnt >= 1024)

{return FALSE;

}g_arList[g_nListCnt++] = dwBaseAddr + i ;

}

}return TRUE;

}void ShowList(void)

{int i;for (i = 0; i < g_nListCnt; i++)

{printf("%08lX/n", g_arList[i]) ;

}

}

BOOL FindNext(DWORD dwValue)

{int nOrgCnt = g_nListCnt;g_nListCnt = 0;

BOOL bRet = FALSE;

DWORD dwReadValue;int i;f or (i = 0; i < nOrgCnt; i++)

{if ( : :ReadProcessMemory(g_hProcess,

(LPVOID)g_arL i st[i] , &dwReadVal ue, s i ze of(DWORD) , NULL))

{i f (dwReadVal ue == dwValue)

{g_arList[g_nListCnt++] = g_arLi st[i] ;bRet = TRUE;

}

}

}return bRet;

}

BOOL Wr iteMemory(DWORD dwAddr, DWORD dwValue)

{return : :WriteProcessMemory(g_hProcess, (LPVOID)dwAddr,

&dwValue, s i z eof(DWORD) , NULL) ;

}int main(int argc, char* argv[] )

{

TCHAR szFileName[] =_T(". ./Debug/Testor0. exe") ;

STARTUPINFO s i = {s izeof(si) } ;

PROCESS_INFORMAT ION pi ;

: :CreateProcess(NULL, szFileName, NULL, NULL, FALSE,C REATE_NEW_CONSOLE, NULL, NULL, &s i, π) ;

: :CloseHandle(pi.hThread) ;g_hProcess = pi.hProcess;int iVal;printf("Input val = ") ;scanf("%d", &iVal) ;

FindFirst(iVal) ;

ShowLi s t() ;if (g_nListCnt > 1)

{printf("Input val = ") ;scanf("%d", &iVal) ;

FindNext(iVal) ;

ShowLi s t() ;

}printf("New value = ") ;scanf("%d", &iVal) ;if (WriteMemory(g_arLi st[0], iVal) )

{printf("Write data success./n") ;

}

: :Cl oseHandle(g_hProce ss) ;return 0;

}

paypal$10的代金券,选购美国VPS

paypal贝宝可撸$10的代金券!这两天paypal出了活动,本次并没有其他的限制,只要注册国区的paypal,使用国内的手机号和62开头的银联卡,就可以获得10美元的代金券,这个代金券购买产品需要大于10.1美元,站长给大家推荐几个方式,可以白嫖一年的VPS,有需要的朋友可以看看比较简单。PayPal送10美元活动:点击直达活动sfz与绑定卡的号码可以重复用 注册的邮箱,手机号与绑的银联卡必须...

轻云互联(19元)香港高防云服务器 ,美国云服务器

轻云互联成立于2018年的国人商家,广州轻云互联网络科技有限公司旗下品牌,主要从事VPS、虚拟主机等云计算产品业务,适合建站、新手上车的值得选择,香港三网直连(电信CN2GIA联通移动CN2直连);美国圣何塞(回程三网CN2GIA)线路,所有产品均采用KVM虚拟技术架构,高效售后保障,稳定多年,高性能可用,网络优质,为您的业务保驾护航。活动规则:用户购买任意全区域云服务器月付以上享受免费更换IP服...

TMThosting夏季促销:VPS月付7折,年付65折,独立服务器95折,西雅图机房

TMThosting发布了一个2021 Summer Sale活动,针对西雅图VPS主机提供月付7折优惠码,年付65折优惠码,独立服务器提供95折优惠码,本轮促销活动到7月25日。这是一家成立于2018年的国外主机商,主要提供VPS和独立服务器租用业务,数据中心包括美国西雅图和达拉斯,其中VPS基于KVM架构,都有提供免费的DDoS保护,支持选择Windows或者Linux操作系统。Budget ...

内存修改器为你推荐
主机空间什么是网站虚拟主机空间?中文域名注册查询中文域名注册怎么查询虚拟空间哪个好虚拟主机哪家的最好?虚拟空间哪个好虚拟内存一般设多大比较好?asp虚拟空间asp视频聊天室系统支持虚拟空间免费网站空间如何免费做网站 免费域名+免费空间+免费网站网站空间购买企业网站空间购买的网站空间具体需要多大的合适?深圳网站空间深圳宝安网站设计,深圳网站空间,哪里做的最好???国内最好的虚拟主机国内虚拟主机哪家的好?虚拟主机控制面板虚拟主机控制面板是什么?
动态域名解析软件 互联网域名管理办法 荷兰服务器 主机 ubuntu更新源 2017年万圣节 国外免费全能空间 静态空间 adroit 万网主机管理 空间租赁 双线asp空间 smtp虚拟服务器 免费的asp空间 免费ftp 浙江服务器 成都主机托管 后门 netvigator 北京主机托管 更多