我正在尝试使用C ++将一些ASM代码注入Win32程序中。
有没有一种方法可以避免DLL注入?

例如:

__asm{}


仅适用于当前程序。是否有类似的东西可以用来生成我可以用WriteProcessMemory注入的十六进制代码?

提前致谢 !

最佳答案

在MSVC中,它可能如下所示:

        void* shellcodeStart;
        void* shellcodeEnd;
        __asm {
                mov shellcodeStart, offset shellcode_start
                mov shellcodeEnd, offset shellcode_end
                jmp shellcode_end
shellcode_start:
                ... // your code
shellcode_end:
        }
        size_t cb = shellcodeEnd - shellcodeStart;
        WriteProcessMemory(hProcess, remoteAddress, shellcodeStart, cb, NULL);

08-28 05:41