cl /LD export.c
__declspec(dllexport) void greet(char* name) char buffer[100]; sprintf(buffer, "Hello, %s", name); MessageBoxA(NULL, buffer, "Greeting", MB_OK); decompile dll
Reverse Engineering Windows Binaries: A Technical Analysis of DLL Decompilation cl /LD export
// export.c __declspec(dllexport) int add(int a, int b) return a + b; int b) return a + b
Simple arithmetic decompiles perfectly because it maps directly to ADD instructions.
void greet(char *name) char buffer[100]; sprintf(buffer, "Hello, %s", name); MessageBoxA(NULL, buffer, "Greeting", 0);
int add(int a, int b) return a + b;