Announcement

Collapse
No announcement yet.

MivaVM disassembler

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    MivaVM disassembler

    Hey MivaVM fans.

    Today I hacked together a small MivaVM disassembler. I coded it in php because i'm insane :P

    I haven't known about Miva for very long, but I believe it has potential.

    It is my belief that if the internals of MivaVM were published further (mvc file format, MivaVM bytecode reference), and relevant people were alerted to it, at least some new people (by which I mean talented coders who could possibly code compilers for other languages to mvc, somewhat along the lines of what happened with Java) would be interested in MivaVM.

    Or maybe that's just me being interested in the internals of things, as I so often am :P

    Anyway, disassembler.

    I managed to figure out enough of the mvc file format to code a disassembler.

    The disassembled .mva files that are produced can be (modified and) recompiled using mvasm.

    Of course, there's no documentation for MivaVM bytecode yet. Some opcodes are obvious (I mean what else would opcodes like jmp, jmp_eq, jmp_lt, jmp_gt, jmp_le, jmp_ge, jmp_ne and call be!), but some are not. Also, it's nice that there are specific opcodes for debugging information. That just helps someone who'd want to code a full mvc->mv decompiler (which I probably won't do, and even if I do, such a thing would obviously never be released publicly! Frankly, I'm not sure if I'll release the disassembler publicly yet, but I will say I probably wouldn't have figured out some things (like the hex values of all the opcodes) if *nix mivavm/mvasm builds were stripped!)

    #2
    Re: MivaVM disassembler

    That's an impressive feat of reverse engineering!

    I see your argument for published documentation on the opcodes and compiled file format, but unfortunately it's just not a priority for us at the moment. If you have any specific questions I'd be happy to address them as time permits.

    Comment

    Working...
    X