-
-
[求助]messageboxw进程函数注入总是崩溃报错
-
发表于:
2022-10-18 13:51
6829
-
[求助]messageboxw进程函数注入总是崩溃报错
探索window逆向编程 进行初步的messageboxw函数注入,发现总会引起程序的崩溃报错,进行ollydbg调试 发现汇编代码成功注入,却执行失败,不知道是哪里出现了问题,求各路大神指教,贴出来测试源码:
HMODULE hmoudle = GetModuleHandle(L"user32.dll");
if (NULL == hmoudle) {
hmoudle = LoadLibrary(L"user32.dll");
}
FARPROC MESS1 = GetProcAddress(hmoudle, "MessageBoxW");
int add = (int)MESS1;
这是获取函数地址
//这是进行注入操作
LPVOID alloc_func = VirtualAllocEx(processid, NULL, 4096, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
//往里写入函数
BOOL res1 = WriteProcessMemory(processid, alloc_func, code1, 4096, NULL);
1 2 3 4 5 6 7 8 | if (!res1) {
MessageBox(NULL, L "写入函数失败" , NULL, 0 );
CloseHandle(processid);
return 0 ;
}
/ / 开始进行远程代码注入 在这之前有一个必须要传递进去的参数 就是函数地址
HANDLE thread = CreateRemoteThread(processid, NULL, NULL, LPTHREAD_START_ROUTINE(alloc_func), NULL, NULL, NULL);
|
//这是要注入的函数 我直接把messageboxw地址写进去了 没有以传参的形式注入
declspec(naked) static void code1() {
//static void stdcall code1() {
1 2 3 4 5 6 7 8 9 10 11 | __asm {
pushad
push 1
push 0
push 0
/ / push hWnd1
mov eax, 0x769c89c0
call eax
popad
ret
}
|
}
最后是调试界面:
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2022-10-18 13:55
被mb_mhrkorjy编辑
,原因: