首页
社区
课程
招聘
[求助]一个delphi 大神级的问题
发表于: 2016-3-20 20:06 3415

[求助]一个delphi 大神级的问题

2016-3-20 20:06
3415
收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 1088
活跃值: (30)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
begin
end;

改成

asm

end;

前提是纯汇编
2016-3-20 20:10
0
雪    币: 8
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
esp+8
2016-3-20 20:36
0
雪    币: 1042
活跃值: (500)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
是不是因为有参数的问题
2016-3-20 20:40
0
雪    币: 8
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
恩,但是HOOK必须要有参数,这个怎么处理呢
2016-3-20 20:40
0
雪    币: 8
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
  push ebp
mov ebp,esp
       mov eax,0x45
       xor ecx,ecx
       lea edx,dword ptr ss:[esp+0x4]
       call 01372B94
       add esp,0x4
pop ebp
retn 0x8

直接改成
  push ebp
mov ebp,esp
        pop ebp
       mov eax,0x45
       xor ecx,ecx
       lea edx,dword ptr ss:[esp+0x4]
       call 01372B94
       add esp,0x4
       retn 0x8
pop ebp
retn 0x8
直接这样改掉某些函数能够正确返回,有些不行,怎么办
2016-3-20 20:56
0
雪    币: 1042
活跃值: (500)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
[QUOTE=赵建新;1421093]push ebp
mov ebp,esp
       mov eax,0x45
       xor ecx,ecx
       lea edx,dword ptr ss:[esp+0x4]
       call 01372B94
       add esp,0x4
pop...[/QUOTE]

去掉上面函数定义的参数还会生成头部吗?
2016-3-20 21:40
0
雪    币: 1042
活跃值: (500)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
[QUOTE=赵建新;1421093]push ebp
mov ebp,esp
       mov eax,0x45
       xor ecx,ecx
       lea edx,dword ptr ss:[esp+0x4]
       call 01372B94
       add esp,0x4
pop...[/QUOTE]

procedure TestProc();
asm
  mov eax,$4554
end;


我这样写没有自动生成头部咩~
2016-3-20 21:43
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
Delphi生成纯汇编裸函数规则
首先,开头必须是procedure,不能用function
然后,不能使用局部变量
参考LS的模板:
procedure TestProc();
asm
  mov eax,$4554
end;
2016-3-20 22:14
0
雪    币: 8
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
[QUOTE=Rookietp;1421102]
procedure TestProc();
asm
  mov eax,$4554
end;


我这样写没有自动生成头部咩~[/QUOTE]

在有参数的函数里试试,
    asm
     pop ebp //这恢复堆栈
       mov eax,$d
      xor ecx,ecx
      lea edx,dword ptr ss:[esp+$4]
      call KiFastSystemCallEx
       add esp,$4
      //db $c2,$4,$00
      retn  //这里提前返回
end ;
我这样处理应该没有问题得吧
2016-3-20 22:14
0
游客
登录 | 注册 方可回帖
返回
//