社区
Windows SDK/API
帖子详情
delphi 请教writeprocessmemory函数怎么用
wsha_cc
2010-03-26 07:41:00
h1:= OpenProcess(PROCESS_ALL_ACCESS, false, pid);
WriteProcessMemory(h1,Ptr($01012F60),PChar(Chr(1000)),4,0);
h1是进程句柄 改内存$01012F60值为1000
运行以后内存值没变化
请问是哪里原因 高手指点下
没学过delphi依葫芦画瓢来的 高手莫笑 呵呵~~
...全文
239
1
打赏
收藏
delphi 请教writeprocessmemory函数怎么用
h1:= OpenProcess(PROCESS_ALL_ACCESS, false, pid); WriteProcessMemory(h1,Ptr($01012F60),PChar(Chr(1000)),4,0); h1是进程句柄 改内存$01012F60值为1000 运行以后内存值没变化 请问是哪里原因 高手指点下 没学过delphi依葫芦画瓢来的 高手莫笑 呵呵~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
柯本
2010-03-26
打赏
举报
回复
我的程序在delphi6下测试成功的
procedure TForm1.Button1Click(Sender: TObject);
var
h1:THandle;
pid:integer;
m:dword;
const
p:pchar='1111';
begin
pid:=2624; //这个是CMD.exe的PID,我省得用其它的了
h1:= OpenProcess(PROCESS_ALL_ACCESS, false, pid);
WriteProcessMemory(h1,Ptr($40000),p,4,m); //$40000是可写的
end;
运行前,我用winhex看它的内存$40000处全为0,运行后变为4字节的
31 31 31 31
调用成功
我不知你用什么版本,关键
1.OpenProcess不能返回0,你可判一下,如果是0,说明OpenProcess失败
2.要保证你的内存可写(有API但较繁),简单的,先用winhex写一下试试
你的版本可能与我的不同,我的d6最后一个参数只能是变量,否则不能编译
系统监测工具(
Write
Process
Memory
Monitor) v1.5.rar
Write
Process
Memory
Monitor 是一款小巧的英文软件,它可以监测系统中写入其他进程的虚拟地址空间中的进程,保护系统不被木马病毒改写。
Hook
Write
Process
Memory
& Read
Process
Memory
这个小工具可以跟踪某些内存修改器或内存补丁的行为 源码地址http://download.csdn.net/source/1570845
windows下修改/获取其他进程指定地址空间的内容的工具
windows下使用Read
Process
Memory
,
Write
Process
Memory
函数
修改指定进程地址空间的内容,支持32位和64位程序
JMP法劫持Dll中
函数
的示例代码
测试于vs2015。通过
Write
Process
Memory
动态修改
函数
入口地址机器码(5个字节),使之强制跳转到另一个
函数
。
使用InlineIL实现具有通用类型参数的高性能Read
Process
Memory
和
Write
Process
Memory
.zip
使用InlineIL实现具有通用类型参数的高性能Read
Process
Memory
和
Write
Process
Memory
.zip
Windows SDK/API
1,183
社区成员
22,335
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章