用delphi写个小程序,修改运行中的某程序 的汇编指令

gomilk 2018-03-22 05:27:58
我写一个delphi小程序,来修改本地开启的xxx.exe程序的指定地址的跳转指令 je 为 jmp 有没有类似的代码段实例,请大神指教!!
...全文
1478 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
落单的拖鞋 2018-10-26
  • 打赏
  • 举报
回复
较稳定的方式:注入dll,方法和代码都很多。需要可以私信我。
注入后修改内存读写权限。
 VirtualProtect(pointer(FHookAddr), FByteLen * sizeof(Byte), PAGE_EXECUTE_READWRITE, @oldprotect);
PByte(FHookAddr)^ := $E8;
PInteger(FHookAddr + $1)^ := temp - FHookAddr - 5;
for I := $5 to FByteLen - 1 do
begin
PByte(FHookAddr + I)^ := $90;
end;
VirtualProtect(pointer(FHookAddr), FByteLen * sizeof(Byte), oldprotect, @oldprotect);

类似上面的代码就是修改内存FhookADDR位置的指令,改为跳转,跳转至 内存temp位置。可以参考着写了
落单的拖鞋 2018-10-05
  • 打赏
  • 举报
回复
办法比较多。
1、writeprocessmemory 将写有je指令的内存地址的值改成 jmp。
2、注入的dll,在dll中直接改写内存修改权限,然后用delphi指针改写内存。注入后直接内联汇编什么的都可以
cocobom 2018-04-08
  • 打赏
  • 举报
回复
主要是考虑如何修改内存。
浪子家园 2018-03-29
  • 打赏
  • 举报
回复
hook试试
lyhoo163 2018-03-25
  • 打赏
  • 举报
回复
这需要二进制的编辑器来修政exe 文件。还要懂机器码。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧