我写一个delphi小程序,来修改本地开启的xxx.exe程序的指定地址的跳转指令 je 为 jmp 有没有类似的代码段实例,请大神指教!!
解决方案 »
- Delphi程序打包问题
- 急求sql语句
- 请教:在 delphi 中比较 string 类型还大的是什么类型?
- 转 Borland称12家公司有意接收Delphi和JBuilder
- 各位大哥,请教一个问题,怎样判断一个声音文件被打开?
- 求购delphi旧书
- 今天接到一封邮件,不知道什么有什么问题?
- 我的系统托盘已经做好,这么样才能让程序启动时,就隐藏主窗口!!!就象某些程序,启动时就最小化,直接显示系统托盘
- image + scrollbox如何设置,就是使大图有滚动条
- 如何判断在TStringGrid中某中Cells中输入的值是否是Float型?
- 值班算法
- 求Win7的64位操作系统的BDE安装包?
文件。还要懂机器码。
1、writeprocessmemory 将写有je指令的内存地址的值改成 jmp。
2、注入的dll,在dll中直接改写内存修改权限,然后用delphi指针改写内存。注入后直接内联汇编什么的都可以
注入后修改内存读写权限。 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位置。可以参考着写了