S
sy0116
Unregistered / Unconfirmed
GUEST, unregistred user!
我因某种特殊原因必须用ReadProcessMemory来读取别的程序的一个字符串的值,我通过Hook ExtTextoutW函数来得到这个变量的地址,我的替代函数是这样写的:<br>function MyExt(DC: HDC; X, Y: Integer; Options: Longint;<br>Rect: PRect; Str: PWideChar; Count: Longint; Dx: PInteger): BOOL; stdcall;<br>var<br>crd:Cardinal;<br>begin<br>……<br>if Str='100' then<br>begin<br> SendInfo(2,True,'Addr:',Integer(str));<br>end;<br><br>……<br>end;<br>其中SendInfo是我自己写的一个函数,作用是把第3、4个参数发送给另一个用来接收数据的程序,这个接收数据的程序显示Addr:76AF72F0<br>我认为这个76AF72F0应该就是那个字符串的地址了,然后我用<br>ReadProcessMemory(processhandle,$76AF72F0,mypwidechar,3,dwsize);<br>来读取他的值(其中mypwidechar是一PwideChar变量,processhandle是正确的),但是读到的却并非我想要的内容,请问我这种取地址、读数据的方法对吗?