首页
社区
课程
招聘
[讨论]如何用ASM 写 INLINE HOOK
发表于: 2012-5-9 07:03 4669

[讨论]如何用ASM 写 INLINE HOOK

2012-5-9 07:03
4669
如题 求解。。。
VOID  .......
_asm        
      pushad
      ...................................................
.................................
...........................mov word ptr esi,edi

  晕啊

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 415
活跃值: (34)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
和C差不多,胆大心细就行。
2012-5-9 09:39
0
雪    币: 219
活跃值: (798)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
3
(⊙o⊙)…  在细点  额  老挂啊  ——BSOD
2012-5-9 13:38
0
雪    币: 219
活跃值: (798)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
4
VOID Write_Inline (in funcaddress , inNewFuncAddress )   funk   挂了  
__asm
    {
        push eax
        push ecx
        lea eax,[FuncAddress]
        mov eax,[eax]
        cmp byte ptr[eax],0x8b        
        jnz failtohook
        cmp byte ptr[eax+1],0xff  
        jnz failtohook
        mov ecx,0xffffffff         
loopcheck:
        cmp byte ptr[eax+ecx],0x90
        jnz failtohook
        dec ecx
        cmp ecx,0xfffffffa
        jnz loopcheck

       mov byte ptr[eax],0xeb   
        mov byte ptr[eax+1],0xf9
          mov byte ptr[eax-5],0xe9
          mov ecx,[NewFuncAddress]
        sub ecx,eax  
        mov dword ptr[eax-4],ecx
        jmp hookok
failtohook:
        mov stat,0xc0000001
        jmp end
hookok:
        mov stat,0
end:
        pop ecx
        pop eax
2012-5-10 13:48
0
雪    币: 415
活跃值: (34)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
00408098    8BFF               mov edi,edi

004080A8  EB F9              jmp short SS_Launc.00XXXXXXX

004080B0   E9 00000000        jmp SS_Launc.00**********
mov ecx,[NewFuncAddress]
        sub ecx,eax  新旧地址相减找差值也就是是找相对偏移,JMP后面那个。
        mov dword ptr[eax-4],ecx 保存返回。
2012-5-10 14:59
0
游客
登录 | 注册 方可回帖
返回
//