// 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;
}
分享到:
相关推荐
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
S2,.net,C#,指导学习3 S2,.net,C#,指导学习3 S2,.net,C#,指导学习3S2,.net,C#,指导学习3S2,.net,C#,指导学习3S2,.net,C#,指导学习3 S2,.net,C#,指导学习3S2,.net,C#,指导学习3S2,.net,C#,指导学习3 S2,.net,C#,指导...
"神经网络与深度学习" 本资源摘要信息涵盖了神经网络与深度学习的基础概念、机器学习、神经网络类型、优化方法、泛化错误、PAC学习理论等方面的知识点。 机器学习概述 机器学习是人工智能的一个分支,旨在让机器...
sql学习 分区类型学习3_hash单字段分区.sql
《Python3机器学习实战教程》是一份深度剖析机器学习理论与实践的综合资源包,它以Python3编程语言为工具,旨在帮助读者掌握各种机器学习算法,并通过实战案例加深理解。教程涵盖了从基础到进阶的多个主题,包括K-...
sql学习 获取执行计划各方法学习3_(你够真实吗).sql
学习3-6岁儿童学习与发展指南语言领域心得体会.doc
OS学习3-OS启动、调用、API、结构
hibernate学习3,共9部分 欢迎下载
自动驾驶车辆的本质是轮式移动...当前主流的机器学习方法分为:监督学习、非监督学习和强化学习3种。强化学习方法更适用于复杂交通场景下自动驾驶系统决策和控制的智能处理,有利于提高自动驾驶的舒适性和安全性。
机器学习 一、概述 1.什么是机器学习? 人工智能:通过人工的方法,实现或者近似实现某些需要人类智能处理的问题,都可以称为人工智能。 机器学习:一个计算机...3)基于实例的学习和基于模型的学习 4.机器学习的流程
机器学习 深度学习 pytorch tensorflow 贝叶斯 神经网络 算法
CryEngine3完全学习手册 全部下载解压即可
在本文中,我们将深入探讨"3天入门Python机器学习"这一主题,这是一份压缩包文件,包含了关于机器学习基础知识的教程。通过这份资源,初学者可以在短短三天内建立起对机器学习的基本理解,并掌握一些核心算法的实现...
《3ds MAXScript脚本语言完全学习手册》是一本针对有程序基础或3D知识的读者的专业教程。3ds MAXScript是Autodesk 3ds Max软件内置的一种强大的脚本语言,它允许用户自定义工作流程,创建插件,以及自动化各种任务,...
机器学习课程大作业设基于C3Res3Net网络来解决Fashion-MNIST问题机器学习课程大作业设基于C3Res3Net网络来解决Fashion-MNIST问题机器学习课程大作业设基于C3Res3Net网络来解决Fashion-MNIST问题机器学习课程大作业设...
声明:使用本方法学习所产生的后果由学习者自己承担,本文档生产者不承担任何责任。...3、 根据你的网速你所有的课程能在10分钟内学完,神吧,试试吧 4、 本浏览器用.Net 2.0开发,需要2.0的运行时
学习Opencv3的配套源代码,有需要的同学可以下载
turtlebot3强化学习避障,包括DQN, DDPG,PPO,SAC。 转载地址 https://github.com/Crawford-fang/ROS_pytorch_RL/tree/main/DQN 我就用过DQN,里面有很多需要修改的地方。主要是包括路径的代码,改成自己的路径。...