Page 1 of 1

Recommend me a disassembler (or advice on making one)

Posted: January 2nd, 2021, 10:31 pm
by Misteek
I need a disassembler that I can feed a file and which generates armips compatible MIPS r3000a assembly code.

Naive disassembly - treating everything as assembly and ignoring text and data - is fine with me, though if it has options to do it intelligently that's great.

Re: Recommend me a disassembler (or advice on making one)

Posted: January 5th, 2021, 10:35 pm
by Administrator
IDA or Ghidra.

Re: Recommend me a disassembler (or advice on making one)

Posted: January 6th, 2021, 10:52 am
by Misteek
Shadow wrote: January 5th, 2021, 10:35 pmIDA or Ghidra.
Compatible with Armips?
https://github.com/Kingcom/armips

Since I made this thread (and one at RHDN), I've accepted that I'll probably need to do a deep dive in the source code of one of the disassemblers at RHDN that has most of the features I need, and alter the output so it can be assembled with Armips.

Re: Recommend me a disassembler (or advice on making one)

Posted: January 9th, 2021, 5:34 am
by Administrator
ARMIPS assembles MIPS code soooooooooooo yeah.

Re: Recommend me a disassembler (or advice on making one)

Posted: January 9th, 2021, 11:56 am
by Misteek
Shadow wrote: January 9th, 2021, 5:34 am ARMIPS assembles MIPS code soooooooooooo yeah.
Looking at this screencap of Munch, it uses noop for no operation, whereas armips uses nop.

Granted "noop" to "nop" is literally just a Find/Replace in a text editor - and about as simple with terminal/python scripts - other things like the register syntax and of course other opcodes may vary so I'd rather have something that I know will work than do all the grunt work to find they're not compatible.

Meanwhile infval clearly isn't like the assembly I see in the psxfin debugger, it says it's "most compatible with the PSIG (PlayStation instructions generator)", and along with that throws an error when I try to disassemble BATTLE.OUT for Saga Frontier.

Am I being an asshole, acting autistic, posting cringe, or being a bother when I want to know what tools work best with one another when many of them are obviously not compatible?

Do you guys just not know about this and aren't willing to say so for some reason, and are waiting for someone like me to do the work and post my results?

Re: Recommend me a disassembler (or advice on making one)

Posted: January 11th, 2021, 9:08 pm
by Administrator
But at the low level, 'noop' or 'nop' will always translate to the same opcode that the CPU can understand in binary. The assembler will always spit out the same machine code for MIPS so any decompiler will still understand it.

Re: Recommend me a disassembler (or advice on making one)

Posted: January 12th, 2021, 7:33 pm
by Misteek
True, however I'm talking about taking the output from a disassembler, manipulating it with python scripts to achieve my goals, and then feeding it to the Armips assembler. If the syntax of the disassembler output isn't accepted as valid input by Armips, I'm SOL and need to write more python scripts to massage it into a form the assembler will accept.