Results 1 to 7 of 7

Thread: QVMDisas.py

  1. #1
    Join Date
    Jul 2006
    Location
    Austin, Texas
    Posts
    450
    Thanks
    92
    Thanked 30 Times in 17 Posts
    Rep Power
    108

    QVMDisas.py

    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.

    Command list...

    Code:
    	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.
    Download: http://i.imagehost.org/download/0641/QVMDisas

    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:
    ascii, qvmkanker
    #ecc for being cool so far
    #game-deception
    All of GD.
    If I left you out let me know.

    Licensed under WTFPLv2.

    Enjoy,
    Macpunk
    Last edited by Macpunk; 11-10-2009 at 04:41 PM.

  2. #2
    Join Date
    Jul 2006
    Location
    Austin, Texas
    Posts
    450
    Thanks
    92
    Thanked 30 Times in 17 Posts
    Rep Power
    108

    Re: QVMDisas.py

    Omg, I failed hard with the opcode table. That's what I get for coding late at night. Basically, the GEF, LEF, etc instructions were reading floating point values when they should've been reading an unsigned int. Woops. This makes the disassemblies look really....really fucking retarded.

    Redownload for a version that makes sense. This actually makes the tool useful!

    Apologies,
    Macpunk

  3. #3
    Join Date
    Jan 2008
    Posts
    7
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Rep Power
    0

    Thumbs up QVMDisas.py v0.3

    Hello,

    Ive updated this Python script and fixed some bugs, so now it fully works on OpenArena v0.7.x and v0.8.x. This is old news, Ive made it in 2010-04-12 but never found the time to post it. This script enabled me to hack GTV a lot and crack the CPMA maps check.

    Script is attached to this post here :
    QVMDisas_v0.3.zip

    Or download the script, GTV hack and cracked CPMA mod here :

    http://oa-cl.ucoz.org/forum/75-503-1

    If I get enough spare time, I hope to make a tutorial about mod debugging and cracking one day.

    Please consider my posting as a contribution and a way to thank MacPunk for his great work.

    For the latest version from MacPunk (made after my update) coded in Google's Go, please see :

    http://www.gamedeception.net/content/186-QVMDisas.go

  4. #4
    Join Date
    Jun 2007
    Location
    Deutsches Reich
    Posts
    1,629
    Thanks
    248
    Thanked 468 Times in 203 Posts
    Rep Power
    194

    Re: QVMDisas.py v0.3

    Quote Originally Posted by grosbedo View Post
    Hello,

    Ive updated this Python script and fixed some bugs, so now it fully works on OpenArena v0.7.x and v0.8.x. This is old news, Ive made it in 2010-04-12 but never found the time to post it. This script enabled me to hack GTV a lot and crack the CPMA maps check.

    Script is attached to this post here :
    QVMDisas_v0.3.zip

    Or download the script, GTV hack and cracked CPMA mod here :

    http://oa-cl.ucoz.org/forum/75-503-1

    If I get enough spare time, I hope to make a tutorial about mod debugging and cracking one day.

    Please consider my posting as a contribution and a way to thank MacPunk for his great work.

    For the latest version from MacPunk (made after my update) coded in Google's Go, please see :

    http://www.gamedeception.net/content/186-QVMDisas.go
    yes i think we know it already now that's not needed to post it in all QVM threads
    Quote Originally Posted by wav View Post
    Your language is set to Terrorist. PB kicks for that you know.

  5. #5
    Join Date
    Jan 2008
    Posts
    7
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Rep Power
    0

    Re: QVMDisas.py

    I like what is structured and I noticed that many users were lost, I thought this could help to link the threads.

  6. #6
    Join Date
    Mar 2011
    Location
    Westberlin!
    Posts
    26
    Thanks
    0
    Thanked 5 Times in 1 Post
    Rep Power
    26

    Re: QVMDisas.py

    What do I have to do if i get this error: "Invalid QVM file: length xxx not sane" ?
    Urban Terror MOD Developer. (pr0v0ziert@gmx.de)
    Some published Binary Stuff

  7. #7
    Join Date
    Jan 2008
    Posts
    7
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Rep Power
    0

    Re: QVMDisas.py

    Quote Originally Posted by LuxXx View Post
    What do I have to do if i get this error: "Invalid QVM file: length xxx not sane" ?
    Normally you shouldn't have this problem with my modified version.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. [RELEASE]QVMDisas
    By Macpunk in forum Public Releases
    Replies: 10
    Last Post: 04-22-2011, 07:26 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •