-
Notifications
You must be signed in to change notification settings - Fork 1
madmoose/dizzy
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
dizzy - an x86_16 DOS executable disassembler. So, ehm, hi. This is dizzy, a little disassembler I built for 16 bit MS-DOS executables. It disassembles by tracing through the executable image, starting at the initial CS:IP as defined in the EXE header, following all jumps and calls it finds. For every byte it encounters, it jots down which bytes are OPs, and uses this when it does the final write to screen. It also attempts to do register tracing. This means that it remembers when a known value (immediate or constant) is put in a register, and when registers with known values are moved to other registers, etc. This is useful for finding segments in the executable and annotating interrupt calls, amongst other things. Currently the register tracing is intermingled with the code tracing and done with minimal regard to code flow. NOTE: Register tracing was removed in the Big Rewrite. It'll be back. Also recently hacked in was the ability to name functions in the disassembly. The disassembler even comes pre-packaged (read: hardcoded...) with a short list of function names for Zak McKracken and the Alien Mindbenders, taken from ScummVM. Anyway, enjoy! BUILDING On Mac OS X 10.6: build.sh builds everything. run.sh builds and runs. On other systems: Probably doesn't build cleanly on anything other than Mac OS X 10.n. Patches accepted! (But please, nothing involving automake...) RUNNING ./a.out <path/to.exe> TODO There's a confusion of c strings and c++ std::strings in the code. This needs a decision. ... lots of other stuff. Happy happy joy joy :) CONTACT Hit me up on irc.freenode.net, nick madmoose.
About
dizzy - an x86_16 DOS executable disassembler.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published