dll注入war3

发布于 2024-12-04 20:26:14 字数 966 浏览 1 评论 0原文

我有代码:

    __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,我该怎么做?

I have ths code:

    __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. How can I wrap it into DLL (Visual Studio C++ 2008)?
  2. After that, I need to inject the DLL into some process and then retrieve tempdw, how can I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱*していゐ 2024-12-11 20:26:14

你需要在普通的 C 函数中对其进行扭曲,但是,从标签来看,它不会是一个裸函数:

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

nick_true:
    //the other stuff
}

然后需要将其放入一个基本的 dll 项目中,该项目使用 WriteProcessMemory 写入所需的钩子 (由于没有足够的信息,因此无法提供更多信息)。
要注入它,您可以使用 RemoteDll 或从 w3l

you'll need to warp that in a normal C func, however, judging by the labels, it won't be a naked func:

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

nick_true:
    //the other stuff
}

this then needs to be put into a basic dll project that writes the needed hooks using WriteProcessMemory (nothing more than that can be given as there isn't enough info).
To inject it, you can use RemoteDll or edit the launcher from w3l

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文