// 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
"神经网络与深度学习" 本资源摘要信息涵盖了神经网络与深度学习的基础概念、机器学习、神经网络类型、优化方法、泛化错误、PAC学习理论等方面的知识点。 机器学习概述 机器学习是人工智能的一个分支,旨在让机器...
linux学习3(总共3)读取密码为解压后的文件名,或者看SN.TXT文件里。
sql学习 分区类型学习3_hash单字段分区.sql
重现奥斯汀项目,学习3年
sql学习 获取执行计划各方法学习3_(你够真实吗).sql
学习3-6岁儿童学习与发展指南语言领域心得体会.doc
幼儿园小班数学教案《学习3以内的点数》润新教育.txt
3. **定义坐标轴**:`x`和`y`分别代表水平和垂直方向的尺度(scales)。`x`使用`d3.time.scale()`创建,表示时间尺度;`y`使用`d3.scale.linear()`创建,表示线性尺度。`range`函数设置了这些尺度的输出范围,对应于...
机器学习 一、概述 1.什么是机器学习? 人工智能:通过人工的方法,实现或者近似实现某些需要人类智能处理的问题,都可以称为人工智能。 机器学习:一个计算机...3)基于实例的学习和基于模型的学习 4.机器学习的流程
机器学习 深度学习 pytorch tensorflow 贝叶斯 神经网络 算法
本教程《学习OpenCV 3 中文版》是一本专为初学者和进阶者设计的指导性资料,旨在帮助读者深入理解OpenCV 3的功能与应用。 该教程首先会介绍OpenCV的基础知识,包括库的安装、配置以及如何在不同的编程环境中(如...
03-MySql数据库与JDBC(学习3天) 04-JavaWeb知识(学习12天) 05-JavaWeb企业实战项目(学习6天) 06-Hibernate框架(学习4天) 07-Struts2框架(学习4天) 08-Spring框架(学习4天) 09-SSH企业案例_CRM-客户管理系统(6天) ...
《Python学习手册(第3版)》讲述了:Python可移植、功能强大、易于使用,是编写独立应用程序和脚本应用程序的理想选择。无论你是刚接触编程或者刚接触Python,通过学习《Python学习手册(第3版)》,你可以迅速高效地...
这是三维地址绘图软件3DMINE的学习手册,对刚接触此软件的学习者应该比较有用。
3)基于实例的学习和基于模型的学习 4.机器学习的流程 数据采集 数据清洗 数据 ----------------------- 数据预处理 选择模型 训练模型 验证模型 机器学习 ----------------------- 使用模型 业务
《李宏毅机器学习2021HW3食物数据集》是针对图像识别与分类的一份重要资源,尤其适用于深度学习领域的实践与研究。这个数据集由著名计算机科学家李宏毅教授团队提供,旨在帮助学生和研究人员提升在食物图像识别方面...
CryEngine3完全学习手册 全部下载解压即可
在本文中,我们将深入探讨"3天入门Python机器学习"这一主题,这是一份压缩包文件,包含了关于机器学习基础知识的教程。通过这份资源,初学者可以在短短三天内建立起对机器学习的基本理解,并掌握一些核心算法的实现...
声明:使用本方法学习所产生的后果由学习者自己承担,本文档生产者不承担任何责任。...3、 根据你的网速你所有的课程能在10分钟内学完,神吧,试试吧 4、 本浏览器用.Net 2.0开发,需要2.0的运行时