直接修改内存数据
来源:互联网 发布:财务报表软件 编辑:程序博客网 时间:2024/05/02 23:02
下面是修改进程的某片地址的数据:
#include<stdlib.h>#include<stdio.h>#include<Windows.h>#include<TlHelp32.h>#define NAME "mspaint.exx" //要修改的进程名void read(){HANDLE hpro = NULL;PROCESSENTRY32 pe32 = { 0 };pe32.dwSize = sizeof(pe32);HANDLE hprocess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);BOOL res = Process32First(hprocess, &pe32);while (res){if (strcmp(NAME, pe32.szExeFile)){hpro = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);break;}printf("%s\n", pe32.szExeFile);res = Process32Next(hprocess, &pe32);}//修改上面进程的数据,下面的地址是这个进程使用的地址int *p = malloc(4);int *pfind = 0xde52580;int size = 0;//标识读取了几个字节ReadProcessMemory(hpro,pfind,p,4,&size);//读取进程句柄}void write(){HANDLE hpro = NULL;PROCESSENTRY32 pe32 = { 0 };pe32.dwSize = sizeof(pe32);HANDLE hprocess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);BOOL res = Process32First(hprocess, &pe32);while (res){if (strcmp(NAME, pe32.szExeFile)){hpro = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);break;}printf("%s\n", pe32.szExeFile);res = Process32Next(hprocess, &pe32);}//修改上面进程的数据,下面的地址是这个进程使用的地址int *p = malloc(4);int *pfind = 0xde52580;int size = 0;//标识读取了几个字节WriteProcessMemory(hpro, pfind, p, 4, &size);//写进程句柄}void main(){read();write();system("pause");}
0 0
- 直接修改内存数据
- SE16直接修改数据
- 文件中直接修改数据块数据
- matlab 直接修改fig图数据显示
- 不用SQL语句直接修改数据
- DataGridView直接修改数据并且更新数据库
- 修改内存数据知识一
- 直接内存
- 在数据字典中直接修改Oracle表列名
- 在数据字典中直接修改Oracle表列名
- 数据字典中直接修改表列的名称和顺序
- ajax实现在直接在表格中修改数据
- 直接在DataGridView中添加修改数据的问题
- C#:直接在DataGridView控件中修改数据
- 谈谈yii2-GridView如何实现列表页直接修改数据
- PL/SQL直接在表上修改数据
- sql server如何直接在表中修改数据
- navicat for Mysql查询数据不能直接修改
- 了解压测
- 分布式Unique ID的生成方法一览
- ld: library not found for -lAFNetworking
- c#+dev-ComboboxEdit控件用法
- FastJson、Jackson、Gson进行Java对象转换Json的细节处理
- 直接修改内存数据
- JDBC--PrepareStatement 接口
- MB/s和Mb/s区别
- 把一个整数四舍五入取两位显示
- 06、Activity及其生命周期
- Java笔记(10)-图形界面设计、Swing、窗口、JFrame、常用组件和布局、处理事件、MVC结构、对话框、GUI
- Android中的 事件流----浅析安卓中的动与静(一) 用户事件流
- http://xue.paralworld.com/
- JavaScript初识call()与apply()