使用C+的ASM/操作码注入+; 我试图用C++将一些ASM代码注入Win32程序中。 有没有办法做到这一点,避免DLL注入

使用C+的ASM/操作码注入+; 我试图用C++将一些ASM代码注入Win32程序中。 有没有办法做到这一点,避免DLL注入,c++,dll,assembly,code-injection,C++,Dll,Assembly,Code Injection,例如: __asm{} 仅适用于当前程序。有没有类似的东西可以用来生成我可以用WriteProcessMemory注入的十六进制代码 提前谢谢 一种技术是手工组装并将代码放入数组中,然后将代码复制到它应该去的地方。但这是一个我不太了解的黑客领域。一种技术是手工组装并将代码放入数组中,然后将代码复制到它应该去的地方。但这是我不太了解的黑客领域。在MSVC中,它可能看起来像这样: void* shellcodeStart; void* shellcodeEnd;

例如:

__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);

在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);

你的意思是你想要一个内联汇编程序,或者写一个可执行代码到运行时内存,或者?我想把可执行代码写入另一个程序内存中,在这种情况下,你使用C++的事实很小。它可以是C,帕斯卡或者其他任何东西。你到底为什么要这样做呢?如果你的程序把我的程序的可执行代码弄得乱七八糟,我就不会是一个快乐的露营者!是的,但是对于注射,我使用C++函数WriteProcessMemory。也许有一个技巧让我的ASM代码编译好并准备好注入:SUI意思是你想要一个内嵌汇编程序,或者写可执行代码到运行时内存,或者?我想把可执行代码写入另一个程序存储器。在这种情况下,你使用C++的事实很小。它可以是C,帕斯卡或者其他任何东西。你到底为什么要这样做呢?如果你的程序把我的程序的可执行代码弄得乱七八糟,我就不会是一个快乐的露营者!是的,但是对于注射,我使用C++函数WriteProcessMemory。也许有一个技巧可以让我的asm代码编译并准备好注入:SYes,我以前是这样做的,但我在寻找更灵活的方法:)thxYes,我以前是这样做的,但我在寻找更灵活的方法:)thxBut,它是针对当前程序而不是针对目标程序的?但是,它是为当前计划而不是为目标计划?