Content /...

The package "madDisAsm" features a full x86 disassembler including MMX, 3dNow enhanced, SSE and SSE2 support. The disassembler can examine a single x86 instruction (see ParseCode) or a full function (see ParseFunction) and either return a short analysis or a full text disassembly. Register contents are watched/followed if possible, this improves the analyses for jump/call targets. Case/switch jump tables are automatically detected and handled correctly.

For several low level hacks such a disassembler is a very important piece of the puzzle. So some of my other packages (madExcept, madRemote, madCodeHook and madKernel) need this package "madDisAsm". It might be useful for some of your own purposes, too.

A reference of what is contained in "madDisAsm" can be found in the madDisAsm Reference.

ParseCode ParseFunction

Just for demonstration purposes I've added three disassemblies. Watch for yourself, what madDisAsm makes of Move, TReader.SkipValue and CreateFileA (XP). Please note that madDisAsm can list the Delphi internal function names only if the madMapFile unit is part of the project. Without that madDisAsm can only show the names of exported functions.

madDisAsm is free for non-commercial usage (only).

You can find more information including the full download at