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

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

}

HostYun(22元/月)全场88折优惠香港原生IP大带宽

在之前的一些文章中有提到HostYun商家的信息,这个商家源头是比较老的,这两年有更换新的品牌域名。在陆续的有新增机房,价格上还是走的低价格路线,所以平时的折扣力度已经是比较低的。在前面我也有介绍到提供九折优惠,这个品牌商家就是走的低价量大为主。中秋节即将到,商家也有推出稍微更低的88折。全场88折优惠码:moon88这里,整理部分HostYun商家的套餐。所有的价格目前都是原价,我们需要用折扣码...

水墨云历史黑名单IDC,斟酌选购

水墨云怎么样?本站黑名单idc,有被删除账号风险,建议转出及数据备份!水墨云ink cloud Service是成立于2017年的商家,自2020起开始从事香港、日本、韩国、美国等地区CN2 GIA线路的虚拟服务器租赁,同时还有台湾、国内nat vps相关业务,也有iplc专线产品,相对来说主打的是大带宽服务器产品。注意:本站黑名单IDC,有被删除账号风险,请尽量避免,如果已经购买建议转出及数据备...

星梦云60元夏日促销,四川100G高防4H4G10M,西南高防月付特价

星梦云怎么样?星梦云好不好,资质齐全,IDC/ISP均有,从星梦云这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,星梦云专注四川高防服务器,成都服务器,雅安服务器 。官方网站:点击访问星梦云官网活动方案:1、成都电信年中活动机(封锁UDP,不可解封):机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路4vCPU4G40G+50...

内存修改器为你推荐
免费国外空间免费国外空间免费域名空间哪个免费空间的域名最好云服务器租用云服务器租用需要注意哪些方面网站域名空间网站域名和空间网站空间价格普通的网站空间要多少钱一年虚拟主机软件哪种虚拟机软件好用郑州虚拟主机虚拟主机哪个好点,用过的推荐下天津虚拟主机在天津哪个地方能买到较好的价格又实惠还可以送货上门的虚拟主机!淘宝虚拟主机淘宝买万网虚拟主机怎么变别真假虚拟主机99idc网站后台织梦系统重装、空间转移、及上传技巧有哪些?
虚拟主机系统 买域名 高防服务器租用 新网域名解析 阿里云os 国外服务器 sugarsync 美国主机代购 国外空间 论坛空间 湖南服务器托管 秒杀汇 傲盾官网 万网空间管理 中国电信网络测速 国内空间 黑科云 nnt SmartAXMT800 美国代理服务器 更多