dll注入war3

时间:2011-09-14 05:06:29

标签: c++ dll assembly code-injection

我有代码:

    __asm
    {
     PUSHAD
     MOV        EAX, DWORD PTR DS:[hStorm_LOBBYPTR]
     TEST       EAX, EAX
     JE         nick_false
     MOV        ECX, DWORD PTR DS:[EAX+0xC464]
     TEST       ECX, ECX
     JE         nick_false
     MOV        EAX, DWORD PTR DS:[ECX+0x170+0xB0]
     TEST       EAX, EAX
     JE         nick_false
     MOV        EDX, i
     MOV        ECX, DWORD PTR DS:[EAX+EDX*4]
     MOV        EAX, DWORD PTR DS:[ECX+0x1A0]
     MOV        ECX, DWORD PTR DS:[EAX+0x1E4]
     MOV        EAX, DWORD PTR DS:[ECX+0x1E4]
     MOV        ECX, DWORD PTR DS:[EAX+0x1E8]
     MOV        tempdw, ECX
     POPAD
     JMP        nick_true

nick_false:
     XOR        EAX, EAX
     MOV        tempdw, EAX
     POPAD
    }

nick_true:
        /* do check if tempdw is NULL and then proceed with your stuff */
  1. 如何将其包装到DLL中(Visual Studio C ++ 2008)?
  2. 之后,我需要将DLL注入某个进程然后检索tempdw,我该怎么做?

1 个答案:

答案 0 :(得分:0)

你需要在正常的C函数中扭曲,然而,从标签判断,它不会是一个裸体函数:

void MyHook()
{
    __asm
   {
     //asm here
   }

nick_true:
    //the other stuff
}

然后需要将其放入一个基本的dll项目中,该项目使用WriteProcessMemory编写所需的钩子(由于没有足够的信息,所以只能给出它)。 要注入它,您可以使用RemoteDll或从w3l

编辑启动器