// m6.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<windows.h>
#include<iostream.h>
#include<stdio.h>
HANDLE g_hProcess;
DWORD dwGoalAddr[1024],count;
int CompareAPage(DWORD dwBase,DWORD goal)
{
DWORD i;
BYTE arBytes[4096];
if(!::ReadProcessMemory(g_hProcess,(LPVOID)dwBase,arBytes,4096,NULL))
{
return FALSE;
}
DWORD * lpDw;
for(i=0;i<4096-3;i++)
{
lpDw=(DWORD*)&arBytes[i];
if(count>=1024) return FALSE;
if(*lpDw==goal)
dwGoalAddr[count++]=dwBase+i;
}
return count;
}
int FirstFind(DWORD goal)
{
const DWORD dwOneGB=1024*1024*1024;
const DWORD dwOnePage=4*1024;
DWORD dwBaseAddr;
OSVERSIONINFO vi;
::GetVersionEx(&vi);
if(vi.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS)
dwBaseAddr=4*1024*1024;
else
dwBaseAddr=64*1024;
count=0;
for(;dwBaseAddr<2*dwOneGB;dwBaseAddr+=dwOnePage)
{
CompareAPage(dwBaseAddr,goal);
}
return 0;
}
int ShowAddr(int k)
{
int i;
for(i=0;i<k;i++)
printf("%08lX\n",dwGoalAddr[i]);
return 1;
}
int FindNext(DWORD goal)
{
int i,k=0;
LPVOID lpAddr;
DWORD gValue;
for(i=0;i<(int)count;i++)
{
lpAddr=(LPVOID)dwGoalAddr[i];
::ReadProcessMemory(g_hProcess,(LPVOID*) dwGoalAddr[i],&gValue,sizeof(DWORD),NULL);
if(gValue==goal) dwGoalAddr[k++]=dwGoalAddr[i];
}
return k;
}
int main()
{
DWORD goal;
// char fileName[]="D:\\VC\\02testor\\Debug\\main.exe";
char fileName[] = "E:\\miao\\VC6\\MyProjects\\01test\\Debug\\01test.exe";
STARTUPINFO si={sizeof(STARTUPINFO)};
PROCESS_INFORMATION ps;
if(!::CreateProcess(NULL,fileName,NULL,NULL,FALSE,CREATE_NEW_CONSOLE,NULL,NULL,&si,&ps))
{
printf("创建进程失败!\n");
return 0;
}
::CloseHandle(ps.hThread);
g_hProcess=ps.hProcess;
if(g_hProcess==INVALID_HANDLE_VALUE)
{
printf("进程创建失败!\n");
return 0;
}
printf("请输入你要查找的值:");
scanf("%ld",&goal);
FirstFind(goal);
//ShowAddr(count);
while(count>1)
{
printf("本次查找有%d个目标,请输入下一次要查找的值:",count);
scanf("%ld",&goal);
count=FindNext(goal);
}
if(count==0)
{
printf("没有查找到目标!\n");
return FALSE;
}
else
{
printf("请输入你要修改的值:");
scanf("%ld",&goal);
}
if(!::WriteProcessMemory(g_hProcess,(LPVOID)dwGoalAddr[0],&goal,sizeof(DWORD),NULL))
{
printf("修改内存失败!\n");
return FALSE;
}
::ReadProcessMemory(g_hProcess,(LPVOID)dwGoalAddr[0],&goal,sizeof(DWORD),NULL);
printf("最种修改为:%ld\n",goal);
//DWORD exitCode;
//GetExitCodeProcess(g_hProcess,&exitCode);
//TerminateProcess(g_hProcess,exitCode);
::CloseHandle(g_hProcess);
return 0;
}
上面需要的
#include<iostream>
#include<windows.h>
int g_nNum;
int main()
{
int i;
g_nNum=1003; i=0;
while(1)
{
printf("i=%d, &i=0X%08lX, g_nNum=%d, &g_nNum=0X%08lX\n",i++,&i,++g_nNum,&g_nNum);
getchar();
}
return 0;
}
分享到:
相关推荐
LINUX学习学习3LINUX学习学习3LINUX学习学习3LINUX学习学习3LINUX学习学习3LINUX学习学习3LINUX学习学习3LINUX学习学习3LINUX学习学习3LINUX学习学习3LINUX学习学习3LINUX学习学习3
python强化学习3.zip
深入,NET,指导学习3,S2 深入,NET,指导学习3,S2 深入,NET,指导学习3,S2 深入,NET,指导学习3,S2 深入,NET,指导学习3,S2 深入,NET,指导学习3,S2 深入,NET,指导学习3,S2 深入,NET,指导学习3,S2
sql学习 分区类型学习3_hash单字段分区.sql
学习3-6岁儿童学习与发展指南语言领域心得体会.doc
hibernate学习3,共9部分 欢迎下载
自动驾驶车辆的本质是轮式移动...当前主流的机器学习方法分为:监督学习、非监督学习和强化学习3种。强化学习方法更适用于复杂交通场景下自动驾驶系统决策和控制的智能处理,有利于提高自动驾驶的舒适性和安全性。
机器学习 深度学习 pytorch tensorflow 贝叶斯 神经网络 算法
这是三维地址绘图软件3DMINE的学习手册,对刚接触此软件的学习者应该比较有用。
《李宏毅机器学习2021HW3食物数据集》是针对图像识别与分类的一份重要资源,尤其适用于深度学习领域的实践与研究。这个数据集由著名计算机科学家李宏毅教授团队提供,旨在帮助学生和研究人员提升在食物图像识别方面...
《3ds MAXScript脚本语言完全学习手册》是一本针对有程序基础或3D知识的读者的专业教程。3ds MAXScript是Autodesk 3ds Max软件内置的一种强大的脚本语言,它允许用户自定义工作流程,创建插件,以及自动化各种任务,...
Web前端HTML5 CSS3初学者零基础入门全套学习笔记 Web前端HTML5 CSS3初学者零基础入门全套学习笔记 Web前端HTML5 CSS3初学者零基础入门全套学习笔记 Web前端HTML5 CSS3初学者零基础入门...
声明:使用本方法学习所产生的后果由学习者自己承担,本文档生产者不承担任何责任。...3、 根据你的网速你所有的课程能在10分钟内学完,神吧,试试吧 4、 本浏览器用.Net 2.0开发,需要2.0的运行时
turtlebot3强化学习避障,包括DQN, DDPG,PPO,SAC。 转载地址 https://github.com/Crawford-fang/ROS_pytorch_RL/tree/main/DQN 我就用过DQN,里面有很多需要修改的地方。主要是包括路径的代码,改成自己的路径。...
机器学习实战源代码(内含测试数据、以及Python3的源代码)
《3ds MAXScript脚本语言完全学习手册》(适用版本8.0/7.0/6.0/5.0)的最大特点是用实例程序对MAXScfipt脚本语言的功能进行演示,实用性强,特别适合有一定3dsmax使用基础的读者阅读,对于专业动画创作人员,《3ds MAX...
学习Opencv3的配套源代码,有需要的同学可以下载
H3C的 CCNA基础学习文档,
李宏毅老师深度学习PPT的发布,为深度学习的学习者提供了一套全新的学习资源,这套资源不仅涵盖了深度学习的基础知识,还包括了诸如元学习、终身学习和强化学习等前沿技术。 元学习的概念,被誉为“学习的学习”,...
深度强化学习是人工智能领域的一个重要分支,它结合了深度学习的模式识别能力与强化学习的决策制定策略。在这个由李宏毅教授提供的课程中,他深入浅出地讲解了这一前沿技术,包括对强化学习的基本概念、算法以及深度...