⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_26466.htm

📁 vc
💻 HTM
字号:
<p>
序号:26466 发表者:李冰 发表日期:2003-01-01 19:02:01
<br>主题:关于内存的问题!
<br>内容:谁知道如何在一个进程中读取另外一个进程的内存?<BR><BR>好比金山游侠一样修改内存中的数据,最好举个例子,谢谢!!!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:(zl剑客) 回复日期:2003-01-02 10:12:27
<br>内容:这个好象在NT系列下很难!<BR>因为每个进程有自己独立的内存空间!<BR>如果要使他们通讯的话<BR>可以使用内存映射文件来实现嘛,<BR>总之,读写别的进程的内存是件危险的事情!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:dr0 回复日期:2003-01-02 18:53:42
<br>内容:ReadProcessMemory<BR>WriteProcessMemory<BR>VirtualProtectEx
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:李冰 回复日期:2003-01-02 20:43:46
<br>内容:能举个例子吗?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:(zl剑客) 回复日期:2003-01-03 08:54:05
<br>内容:只有当别的进程的数据区设置为可读写,<BR>才能使用上述函数.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:白云 回复日期:2003-01-06 11:26:48
<br>内容:我顶!!<BR>我现在也正在为这个问题发愁呢,有哪位高人能指点一下啊
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:白云 回复日期:2003-01-06 11:27:45
<br>内容:我顶!!<BR>我现在也正在为这个问题发愁(我需要在2000下对其他进程的内存进行读或写)呢,有哪位高人能指点一下啊
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:dr0 回复日期:2003-01-11 21:55:48
<br>内容:1: HANDLE TargetProcess = OpenProcess()打开你要写入的进程的句柄<BR>2: VirtualQueryEx(TargetProcess...BaseAddress)<BR>&nbsp;&nbsp; 检查要写入的内存页的属性<BR>3:如果不可些,用VirtualProtectEx(TargetProcess...)<BR>&nbsp;&nbsp; 改为可写<BR>4:WriteProcessMemory(TargetProcess...) 写入你要写<BR>&nbsp;&nbsp; 的内存。<BR><BR>整个算法用__try/__except 包起来,以防不测。<BR>具体参数看MSDN<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:dr0 回复日期:2003-01-11 22:00:06
<br>内容:一个潜在的问题是,你无法预测target process是否有线程正<BR>访问你要改写的数据或指令,这个问题可以用debug api来解决<BR>因为当一个进程被debug process打开时,所有的线程<BR>都会被挂起,但是,有个问题是,debug mode打开的debuggee<BR>在debugger退出是,也被终结了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:dr0 回复日期:2003-01-11 22:03:03
<br>内容:是否可以不用debug mode来挂起所有的目标线程<BR>你可以看看jeffrey richter在 programming application<BR>for windows里给的例子,虽然有局限,但是,对有些情况还是适用<BR>的,还有方法是注入一个dll到target process,一旦注入了,<BR>一切都简单了,麻烦的只是注入的过程。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -