首页
社区
课程
招聘
delphi 嵌入两行汇编 帮我看下谢谢
发表于: 2016-1-28 22:59 3295

delphi 嵌入两行汇编 帮我看下谢谢

2016-1-28 22:59
3295
var
   dwTEBC0:DWORD;
begin
     begin
     asm

     push eax
     mov eax,fs:[0xc0]
     mov dwTEBC0, eax
     pop eax

     end;
     showmessage(inttostr(dwTEBC0));
     end;
end;

我不太懂嵌入汇编,堆栈平衡等问题,帮我把这代码改下谢谢指教
主要想要fs:[0xc0]指向的地址,然后写入内存修改指向地址的代码,最好写内存保护,写内存都都用汇编写出来(要求有点多谢谢啊)

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 28
活跃值: (633)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
mov  eax,fs:[$c0]
2016-1-29 09:02
0
雪    币: 250
活跃值: (81)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
DWORD nAddr = 0;
        _asm
        {
                mov eax,fs:[0xc0];
                mov nAddr, eax;
        }
        printf("%08x", nAddr);
2016-1-29 10:47
0
雪    币: 270
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
    asm
      mov eax, fs:[0C0H]
      mov dwTEBC0, eax
    end;


    dwWriteAddr := $00401000; // 提供有效地址,否则报错
    asm
      mov eax, fs:[0C0H]
      mov dwOldTEBC0, eax
      
      // 修改C0偏移地址,18偏移指向线程环境块(TEB)
      mov ecx, dwWriteAddr
      mov eax, fs:[18H]
      mov dword [eax+0C0H], ecx

      mov eax, fs:[0C0H]
      mov dwNewTEBC0, eax
    end;
    showmessage('原TEB+C0指向地址:' + inttostr(dwOldTEBC0) + ',新TEB+C0指向地址:' + inttostr(dwNewTEBC0));


楼主上个帖子也是我答的,如果问题解决请结帖吧,等着转正
2016-1-29 11:21
0
雪    币: 110
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
e89K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6U0L8$3c8W2M7X3g2$3k6i4u0K6K9h3&6Y4i4K6u0r3N6$3!0%4y4U0c8K6P5i4y4U0j5h3I4D9
看这里
2016-1-29 18:40
0
游客
登录 | 注册 方可回帖
返回