gpt4 book ai didi

c - 如何执行进程内存?

转载 作者:行者123 更新时间:2023-11-30 17:16:53 24 4
gpt4 key购买 nike

我想将我的代码注入(inject)到某个进程中,并且我想执行我注入(inject)的代码。

我可以注入(inject)这样的代码:

#include <Windows.h>
#define t_process_name example
BYTE code[7] = { 0x6A, 0x00 , 0, 0, 0, 0, 0};
/*
0:push 0
2:jmp 521595
*/
int main(){

HWND hWnd = NULL;
DWORD pid = NULL;
HANDLE hProcess = NULL;
BYTE* space = NULL;
BYTE* dst = 0x521595;
int i = 0;
hWnd = FindWindowA(NULL, t_process_name);
GetWindowThreadProcessId(hWnd, &pid);
hProcess = OpenProcess(PROCESS_ALL_ACCESS, NULL, pid);
space = VirtualAllocEx(hProcess, NULL, sizeof(code), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
code[2] = 0xe9;
*(DWORD*)(code + 3) = (DWORD)(dst - (space+2)) - 5;

WriteProcessMemory(hProcess, space, code, sizeof(code), NULL);

// and...
}

但我不知道如何执行我注入(inject)的代码。 (推 00 , jmp 521595 )
有没有任何 API 或方法可以做到这一点?

最佳答案

如果您知道要修补什么,请尝试 diablo2oo2 的通用修补程序(仅限 Windows)。它可以为您的应用程序创建加载程序/修补程序。您最好直接编辑源代码。

编辑:显然这不会注入(inject)其他进程,但如果我可以问你为什么要这样做?

关于c - 如何执行进程内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29529169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com