深白海豚 发表于 2011-4-3 14:15:10

遇到一个delphi中修改汇编跳转指令问题。

这是一个汇编地址 007863A4/7A 35JPE SHORT luxiang.007263DB   
我就是想用delphi编程来实现 我已将DLL已经注入到进程了。
将这个JPE改为jmp的一个形式。 如何在delphi里实现?
我不想用WriteProcessMemory 因为我已经注入了目标进程.如果用它来写的话就有点麻烦了。
想问问有没有别的办法?
在网上搜遍了。都没有准确的说出此类办法。。所以才来请教朋友们帮帮忙的。。
我还是想以一个指针的形式来修改修改。但是看了好多文章还是没个头绪。

逍遥的男孩 发表于 2011-4-3 14:15:25

简单

设置内存保护

var
dwOldProtect: dword;
begin

VirtualProtectEx(0, pointer($007863A4), $1, PAGE_EXECUTE_READWRITE, @dwOldProtect);
pbyte($007863A4)^:=$E8;
VirtualProtectEx(hProcess, pointer(ADDRS), $1, dwOldProtect, @dwOldProtect);

7A -> EB

niufen 发表于 2011-4-3 14:15:31

pbyte($7863A4)^:=$E9;//E9就是JMP的机器码

hapi 发表于 2013-1-26 15:48:17

简单

设置内存保护

var
dwOldProtect: dword;
begin

VirtualProtectEx(0, pointer($0 ...
逍遥的男孩 发表于 2011-4-3 14:15 http://www.kanliuxing.com/images/common/back.gif


    不错
页: [1]
查看完整版本: 遇到一个delphi中修改汇编跳转指令问题。