Author Topic: MIPSl - PSOne debugging step-by-step  (Read 358 times)

Maki

  • Software hacker
  • Freak
  • *
  • Posts: 518
  • Karma: 99
  • Paranoid
    • View Profile
MIPSl - PSOne debugging step-by-step
« on: 2017-12-12 18:10:28 »
Hello,
I'm slowly approaching breaking into MIPS assembly. On my example I'm trying to break PSOne FFVIII battle stage loader code that is hardcoded in files. Therefore after analysis with IDA I'm having a pretty good understanding of the code, however there are some portions I just can't happen to break which are: stack and arguments. Surely I see:

Code: [Select]
addiu   $sp, -0x18makes stack size of six, where
Code: [Select]
sw      $ra, 0x14($sp) is the return address, therefore five values on stack to reverse. There are some instructions that define loading stages based on arguments which I don't know what are.


Therefore my question is- Do you know of the best way to disassembly on-live PSOne MIPS code played on debugger? Mostly I want to break on as soon as the processor gets to the code to test the stack and etc. I used NO$PSX before, but it's not intuitive enough for locating code I need. What are your ways to hack PSOne games on MIPS level?



UPDATE:
Got it working with IDA. Used IDApsx with IDA 6.8 and PCSXR. Need to tweak plugins, but it's all working like a charm. Took me three hours to setup by the way. :-o
« Last Edit: 2017-12-12 21:28:11 by Maki »