My first QVM disassembler sucked, so I made this one. I had a lot of fun writing it.
Written in Python and relies on sys, os, struct, and re modules. I'm not sure of the minimum Python version required. I know it works on 2.5.1.
asys <num> <name> - Add system call <num> with name <name>.
dis <name> - Alias for disn.
disa <address> - Disassemble procedure containing address <address>.
disi <instructionNumber> - Disassemble procedure containing instruction number <instructionNumber>.
disn <regex> - Disassemble procedure matching regular expression <regex>.
dump <file> - Dump detailed disassembly to file <file>
header - Print readable form of the QVM header.
help - Print this help message.
info <name> - Print information known for procedure <name>.
lsys - List currently known system calls.
name <origName> <newName> - Rename procedure <origName> to <newName>.
osys <file> - Open file <file> specifying system calls using equ statements.
quit - Quit QVMDisas.py. Ctrl-D also quits.
sref <regex> - Print all procedures referencing strings matching regular expression <regex>.
ssys <file> - Save currently known system calls to file <file> using equ statements.
On a side note, I've no experience in this area, but I think writing a QVM decompiler wouldn't be too hard... Not a perfect one that compiles resulting code easily, but I think it would be feasible.
Greets and credits:
#ecc for being cool so far
All of GD.
If I left you out let me know.
Licensed under WTFPLv2.