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

内存修改器  时间: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;

}

妮妮云(119元/季)日本CN2 2核2G 30M 119元/季

妮妮云的知名度应该也不用多介绍了,妮妮云旗下的云产品提供商,相比起他家其他的产品,云产品还是非常良心的,经常出了一些优惠活动,前段时间的八折活动推出了很多优质产品,近期商家秒杀活动又上线了,秒杀产品比较全面,除了ECS和轻量云,还有一些免费空间、增值代购、云数据库等,如果你是刚入行安稳做站的朋友,可以先入手一个119/元季付的ECS来起步,非常稳定。官网地址:www.niniyun.com活动专区...

零途云月付31.9元起,香港cn2 gia线路

零途云是一家香港公司,主要产品香港cn2 gia线路、美国Cera线路云主机,美国CERA高防服务器,日本CN2直连服务器;同时提供香港多ip站群云服务器。即日起,购买香港/美国/日本云服务器享受9折优惠,新用户有优惠码:LINGTUYUN,使用即可打折。目前,零途云还推出性价比非常高香港多ip站群云服务器,有需要的,可以关注一下。零途云优惠码:优惠码:LINGTUYUN (新用户优惠,享受9折优...

hostodo:2021美国独立日7折优惠促销NVMe硬盘的VPS,低至$13/年,还送DirectAdmin授权

7月4日是美国独立日,大致就是国庆节的意思吧。hostodo今年提前搞了个VPS大促销活动,4款便宜VPS,相当于7折,续费不涨价,本次促销不定时,不知道有多少货,卖完为止。VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个IPv4+/64 IPv6,solusvm管理,送收费版DirectAdmin授权,VPS在用就有效! 官方网站:https://www.hostodo.com ...

内存修改器为你推荐
linux虚拟主机linux下最好的虚拟机是什么呢 VMware 还是virtualbox网站域名注册怎么做网站?怎么注册域名?成都虚拟空间成都市规划信息技术中心如何?美国网站空间我想买个国外的网站空间,那家好,懂的用过的来说说网站空间商网站空间商的选择??虚拟主机测评哪一种虚拟主机比较好用?安徽虚拟主机合肥金马网络科技有限公司怎么样?双线虚拟主机双线虚拟主机说是比单线的好是吧?www二级域名一级域名 二级域名 三级域名什么区别域名邮箱邮箱域名是什么
256m内存 idc评测网 debian源 500m空间 dd444 789电视网 免费全能主机 qq云端 河南移动网 免费网页申请 华为云服务登录 双12 空间首页登陆 云服务是什么意思 杭州电信宽带 广州主机托管 googlevoice godaddyssl 建站技术 带宽测速 更多