我想弄清楚如何解压 kkruncy 可执行文件,这里的源代码和这里的二进制文件,有人知道怎么做吗?
我的主要想法是测试一些用 kkrunchy 压缩的小 hello world exes,但由于某种原因,exes 会崩溃。IE:
#define UNICODE
#include <windows.h>
void start()
{
MessageBox(NULL, L"X", L"Y", MB_OK);
}
或者:
global start
; kernel32.lib Exports
extern _ExitProcess@4
extern _GetStdHandle@4
extern _WriteFile@20
section .text
start:
; DWORD bytes;
mov ebp, esp
sub esp, 4
; hStdOut = GetstdHandle( STD_OUTPUT_HANDLE)
push -11
call _GetStdHandle@4
mov ebx, eax
; WriteFile( hstdOut, message, length(message), &bytes, 0);
push 0
lea eax, [ebp-4]
push eax
push (message_end - message)
push message
push ebx
call _WriteFile@20
; ExitProcess(0)
push 0
call _ExitProcess@4
; never here
hlt
message:
db 'Hello', 10, 13, 0
message_end:
我使用了默认参数,但可执行文件已损坏。无论如何,我怎么知道如何解压 kkrunchy 可执行文件?




