wiem ze blad na 100% tkwi w adresie messageboxa z shellkodu. No ale nikt z was nie umie mi pomoc, tylko pisze ot.
Kod:
format pe console
section '.code' code readable executable
push 4016 ; Nawet nie pytaj.... pid jest dobry.
push 0
push 0x001F0FFF
call [OpenProcess]
mov ebx, eax
push 0x00000040
push 0x00001000
push 32
push 0
push ebx
call [VirtualAllocEx]
mov esi, eax
push 0
push 15
push shellcode
push esi
push ebx
call [WriteProcessMemory]
push 0
push 0
push 0
push esi
push 0
push 0
push ebx
call [CreateRemoteThread]; zwraca != -1, wiec funkcje pozostale tez sa dobre.
retn
shellcode db 0x6A,0x00,0x6A,0x00,0x6A,0x00,0x6A,0x00,0xFF,0x15,0x70,0x30,0x40,0x00,0xC3
section '.idata' import data readable
dd 0,0,0,RVA kernel32_name,RVA kernel32_table
dd 5 dup 0
kernel32_table:
OpenProcess dd RVA _OpenProcess
WriteProcessMemory dd RVA _WriteProcessMemory
VirtualAllocEx dd RVA _VirtualAllocEx
CreateRemoteThread dd RVA _CreateRemoteThread
dd 0
kernel32_name db 'kernel32.dll',0
_OpenProcess db 0,0,'OpenProcess',0
_WriteProcessMemory db 0,0,'WriteProcessMemory',0
_VirtualAllocEx db 0,0,'VirtualAllocEx',0
_CreateRemoteThread db 0,0,'CreateRemoteThread',0