decompme / decomp.me

Collaborative decompilation and reverse engineering website
https://decomp.me
MIT License
373 stars 116 forks source link

Support for MS-DOS Microsoft QuickC Compiler #1350

Open palmerj opened 2 hours ago

palmerj commented 2 hours ago

Is your feature request related to a problem? Please describe. I want to decompile and create C code that can be recompiled to the same binary for 16bit real mode MS-DOS EXE. The binary is pretty small at 64kb.

Describe the solution you'd like My EXE is compiled with QuickC 2.50. I'm unsure how to add the decompiled ASM into decomp.me. I've loaded the binary in Ghidra, okay? So maybe I can copy and paste ASM for each function from there? I don't see any ASM obj dump type tool in QC 2.5. I'm also not sure how to get some initial decompiled C code from the ASM. Maybe that needs to also be taken from Ghidra, although I see that C code is a pretty poor representation and is pretty far away from what the C likely was.

Describe alternatives you've considered I guess some sort of python tooling could be created to help prepare the inputs?

Additional context The binaries for the QC 2.5 compiler can be found here https://winworldpc.com/product/quick-c/2x

ieee802dot11ac commented 2 hours ago

FYI, any copy of objdump is able to have its output configured for clean asm output, like such:
image
(using objdump --disassemble=add_assembler_option -M i386,att /usr/local/sce/ee/gcc/bin/ee-gcc in this case)