#include"StdAfx.h"
#include<windows.h>
DWORD g_arList[1024];
int g_nListCnt=0;
HANDLE g_hProcess;
BOOL CompareAPage(DWORD dwBaseAddr,DWORD dwValue){
BYTE arBytes[4096];
if(!::ReadProcessMemory(g_hProcess,(LPVOID)dwBaseAddr,arBytes,4096,NULL))
return FALSE;
DWORD* pwd;
for(int i=0;i<(int)1024*4-3;i++){
pwd=(DWORD*)&arBytes[i];
if(pwd[0]==dwValue){
if(g_nListCnt>1024)
return FALSE;
g_arList[g_nListCnt++]=dwBaseAddr+i;
}
}
return TRUE;
}
BOOL FindFirst(DWORD dwValue){
const DWORD dwOneGB=1024*1024*1024;
const DWORD dwOnePage=4*1024;
if(g_hProcess==NULL)
return FALSE;
DWORD dwBase;
OSVERSIONINFO vi={sizeof(vi)};
::GetVersionEx(&vi);
if(vi.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS)
dwBase=4*1024*1024;
else
dwBase=640*1024;
for(;dwBase<2*dwOneGB;dwBase+=dwOnePage)
CompareAPage(dwBase,dwValue);
return TRUE;
}
BOOL FindNext(DWORD dwValue){
int i=0;
int nOrgCnt=g_nListCnt;
g_nListCnt=0;
BOOL bRet=FALSE;
DWORD dwReadValue;
for(i=0;i<nOrgCnt;i++){
if(::ReadProcessMemory(g_hProcess,(LPVOID)g_arList[i],&dwReadValue,sizeof(DWORD),NULL)){
if(dwReadValue==dwValue){
g_arList[g_nListCnt++]=g_arList[i];
bRet=TRUE;
}
}
}
return TRUE;
}
BOOL WriteMemory(DWORD dwAddr,DWORD dwValue){
return ::WriteProcessMemory(g_hProcess,(LPVOID)dwAddr,&dwValue,sizeof(DWORD),NULL);
}
void ShowList(){
for(int i=0;i<g_nListCnt;i++)
printf("%081X/n",g_arList[i]);
}
int main(int argc,char* argv[])
{
//启动进程
char szFileName[30];
printf("The exe_file name is:");
scanf("%s",szFileName);
STARTUPINFO si={sizeof(si)};
PROCESS_INFORMATION pi;
::CreateProcess(NULL,szFileName,NULL,NULL,FALSE,CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi);
//关闭线程句柄,只用到进程句柄
::CloseHandle(pi.hThread);
g_hProcess=pi.hProcess;
//输入要修改的值
int iVal;
printf("Input val= ");
scanf("%d",&iVal);
FindFirst(iVal);
ShowList();
printf("g_nListCnt= %d/n//////////////////////////n/n",g_nListCnt);
while(g_nListCnt>1){
printf("Input val=");
scanf("%d",&iVal);
FindNext(iVal);
ShowList();
if(g_nListCnt==0)
printf("Not any address in g_nList!/n");
printf("g_nListCnt= %d/n//////////////////////////////n/n",g_nListCnt);
}
printf("iVal= %d/n",iVal);
printf("New Value= ");
scanf("%d",&iVal);
WriteMemory(g_arList[0],iVal);
::CloseHandle(g_hProcess);
printf("Operation Successful!/n/n");
return 0;
}
相关推荐
CE内存查找修改器
CE 修改器 用来修改与查找内存。中文加强版。单机游戏可直接改内存无敌。
windows平台下的进程内存修改
介绍如何实现windows平台下修改其他进程的地址空间
内存查看工具
内存专家, 内存检测工具大全,一款用以检测系统内存型号的检测工具,功能强大,操作简洁。为你提供清晰直观的内存型号规格信息,还能查看制造商,获取制造商的相关支持文档。能够对你的内存,随机存储器的规格进行一目了然的描述。
windows 查看和修改内存
windows 查看和修改内存查看内存1.使用JDK工具查看2.使用JDK命令行工具查看3.以服务方式查看修改内存设置1.使用tomcat提供的gui工具来设置内存参数 查看内存 1.使用JDK工具查看 1.1工具路径 {javajdk安装目录}/bin/jvisualvm.exe 1.2打开工具 双击需查看的虚拟机后点击监视 1.3查看内存大小 Ps:程序显示的单位为字节,可除两次1024转成MB单位显示 最大:代表程序最大可以从操作系统中获取的内存数量 大小:代表程序启动的时候从操作系统中获取的内存数
内存查询修改器
内存查询修改 , 可修改游戏内存
Java外挂开发之内存修改程序(含源码)类似CE
欢迎下载研究交流,使用步骤:打开进程->输入搜索的数据->开始搜索->改变游戏中的数据->搜索变化->内存修改! 解压后,包含三个文件: 第一个文件是源码,直接用Eclipse导入即可,导入后记得修改Build Path 第二个是打包好的JAR,如果电脑安装了Java就可以直接运行 第三个是打包好的EXE安装包,可以在没有Java环境的电脑上运行
32位/64位WINDOWS驱动之-突破进程保护跨进程读写内存
类别:值 控件类型: EDIT 名称: m_targetPID 变量类型: UINT32。以上就是突破进程保护跨进程读写内存的全部内容了。加一个控制码和驱动层对应。
使用PyTorch设计卷积神经网络(CNN)来处理遥感图像Indian Pines数据集
使用PyTorch设计卷积神经网络(CNN)来处理遥感图像Indian Pines数据集
Windows破解&逆向-CrackMe_1实例(使用OpenProcess修改内存中的值)
这里开发了一个CrackMe实例,源码打包下载如下: https://github.com/fengfanchen/Qt/tree/master/CrackMe_1 程序是这个样子的: 程序从10s开始倒计时: 到0s后提示Game over 这里的倒计时的数在代码中是这样体现的: resource,并且为static,进程在计算机中有4个空间,一个是代码区负责逻辑相关的功能,一个是常量区,如HelloWord字符串都在那里面资源文件等,静态区,就这些静态资源和全局变量了。耳环.
Windows下Python安装geopandas全攻略:解决GDAL依赖问题的5个关键步骤
本文详细解析了在Windows系统下安装Python地理空间分析库geopandas时,如何有效解决其核心依赖GDAL的编译难题。文章提供了五个关键步骤,包括理解依赖关系、获取预编译wheel文件、顺序安装及环境验证,旨在帮助用户绕过复杂的C++编译环境,顺利完成geopandas的安装部署。
从零构建2.4G无线通信系统:MSPM0G3507与NRF24L01的深度协同设计
本文详细介绍了基于MSPM0G3507微控制器与NRF24L01射频模块构建2.4G无线通信系统的深度协同设计方案。内容涵盖系统架构、SPI通信优化、功耗管理、抗干扰机制及中断/DMA高效利用,为工业物联网应用提供高可靠、低功耗的无线传输解决方案。
Windows核心编程_修改其它进程里的内存值+示例:修改游戏分数
最近一直忙于Opencv图像处理方面的学习,以及工作,没有更新C/C++专栏方面的博客了,所以今天就给大家写个应用层方面的编程代码,可用于参考学习,本篇博客将运用WindowsSDK库所提供的API来编写一个修改其他进程里变量值的程序。在开始实际编写代码之前,先给大家介绍一下所需函数:OpenProcess、VirtualProtectEx、ReadProcessMemory、WriteProce...
制作自己的修改器.
1OptionExplicit2PrivateDeclareFunctionFindWindowLib"user32"Alias"FindWindowA"(ByVallpClassNameAsString,ByVallpWindowNameAsString)AsLong3PrivateDeclareFunctionGetWindowTh...
Dify插件实战:实时渲染AI生成的HTML/SVG/Canvas代码
在现代Web开发与AI应用集成中,前端渲染技术是实现动态内容展示的核心。其原理在于浏览器引擎解析HTML、CSS、JavaScript等代码,并将其转换为可视化的用户界面。这项技术的价值在于极大提升了开发效率与用户体验,允许开发者快速构建和迭代交互式应用。在AI应用开发领域,尤其是大语言模型(LLM)集成场景,如何将模型生成的**结构化代码**(如描述UI的HTML或数据图表的SVG)实时转化为可视化组件,成为一个关键需求。这直接关系到**Dify**等低代码AI平台能否提供流畅的、所见即所得的交互体验。本
姿态传感器/陀螺仪之BMI270应用原理图设计
BMI270是一款由博世(Bosch)推出的高性能、超低功耗惯性测量单元(IMU),专为可穿戴设备、智能设备及物联网应用设计。
读写另一EXE的内存
procedure TfrmMain.tmrChangeServerNameTimer(Sender: TObject); function GetProcessID(FileName: string = ''): TProcessEntry32; var Ret: BOOL; s: string; FSnapshotHandle: THandle; FProces...
ABAP Module Pool 编程入门:把 Table Control 用透,在 Dynpro 里做出可编辑的列表界面
摘要:Table Control是SAP GUI中用于对话式事务的多行数据交互控件,具备滚动、选择、修改等功能。它通过CXTAB_CONTROL/CXTAB_COLUMN结构实现动态控制,需在PBO/PAI中配合LOOP循环处理数据流。开发时需注意LINES、TOP_LINE等关键字段设置,并采用并行循环简化编码。典型应用包括订单行维护、主数据管理等场景,支持多选删除、列排序等业务需求。(150字)
粗读《编程高手箴言》
源地址:我的技术博客 http://linger.devhub.com/blog/category/book/ 某次在图书馆无意中看到《编程高手箴言》这本书,作者是梁肇新,豪杰超级解霸的开发者。这本书吸引我的原因除了作者外,还有就是里面的内容很广泛,对底层的研究很多。于是我借回去看了。之前由于准备期末考试,所以木有时间,后来第三学期无聊并且借书的期限快到了,就准备随便翻翻。其实这书的内容对我
MVSNet (pytorch版) 搭建环境 运行dtu数据集重建 实操教程(图文并茂、超详细)
MVSNet (pytorch版) 代码注释版 下载 (注释非常详细,代码结构有所调整,使用起来更方便) 深度学习三维重建 MVSNet-ECCV-2018 (源码、pytorch版、原文+注释、译文+批注)Meshlab查看三维点云时 ,使用技巧总结。
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
Windows内存修改初篇
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <windows.h> BOOL FindFirst(DWORD dwValue);//对目标进程空间进行查找 BOOL FindNext(DWORD dwValue);//对目标空间进行2,3,4。。查找 //查找数据的地址列表 DWORD g...
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
直接修改内存数据
下面是修改进程的某片地址的数据: #include #include #include #include #define NAME "mspaint.exx" //要修改的进程名 void read() { HANDLE hpro = NULL; PROCESSENTRY32 pe32 = { 0 }; pe32.dwSize = sizeof(pe32); HANDLE hpr
win10 跳过U8环境检测的IE WebControls.rar
win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。
RU DOS版、EFI版32bit/64bit BIOS常用工具
DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。
进程内存修改器
一、原理 设计一个名为MemChange的应用程序,让它修改Test.exe进程里面的内容。 每个进程占用的内存空间是离散的,所以要访问进程内存种的一个值,就需要遍历整个64K---2G的地址空间。 难点1.MemChange如何访问Test的进程空间 解决方案:MemChange程序中使用CreateProcess把Test.exe拉起来,这样MemChange就可以访问Test.exe...
4184



被折叠的 条评论
为什么被折叠?



