str:='405060';我想用 WriteProcessMemory 写如一个 mov 405060,eax 的机器码到目标,我现在 是这么写的
JMP1:string=#$89#$05#$60#$50#$40#$00;
WriteProcessMemory(Process,pointer(EditBase),PChar(JMP1),6,num);
但只这个405060我要随意改变的,不可能静态变量。求怎么方便操作还有怎么写一个无条件的JMP 也是用 WriteProcessMemory,地址的换算会了。
就是写进去,没有被NOP填充
JMP1:string=#$89#$05#$60#$50#$40#$00;
WriteProcessMemory(Process,pointer(EditBase),PChar(JMP1),6,num);
但只这个405060我要随意改变的,不可能静态变量。求怎么方便操作还有怎么写一个无条件的JMP 也是用 WriteProcessMemory,地址的换算会了。
就是写进去,没有被NOP填充
var
w:Integer;begin
w := $405060;
....
WriteProcessMemory( ... , p , PChar(#$89#$05) , 2 , n );
WriteProcessMemory( ... , PChar(p)+2 , Addr(w) , 4 , n );end