Home | Forums | What's new | Resources | |
IDA disassembly / projects |
nando - Jul 15, 2020 |
slinga | Jul 15, 2020 | |||
I've been using Ghidra to reverse engineer and recompile a 480P homebrew demo: 480p Homebrew Source Code Examples?.... I was hoping it would be an easy project to learn on but it's been painful to be honest. The decompiler isn't as useful as I thought it would be, there are definitely times I prefer looking at the disassembly. I didn't realize IDA added SH2 support as well. At least back in the day it only supported SH-3\SH-4.... It looks like CyberWarriorX's IDA plugin ...uses SH3b whereas the Retro Reversing one... uses SH2. Edit: fixed link to CyberWarriorX's IDA plugin. |
nando | Jul 15, 2020 | |||
Heh, I realized that both links you posted are the same. However, I did learn something - I can select SH3 (which is backwards compatible) and it will work for the Saturn. |
cafe-alpha | Jul 15, 2020 | |||
Unless I'm missing something, IDA Pro is quite a pricey software (2K$ IIRC, and the free version doesn't supports SH2 IIRC too), so even if it is powerful I can't afford a license for it. In comparison, Ghidra is really appealing, but similarly to @slinga...'s opinion, it's a bit painful to use. If there could be a knowledge base about the common operations when reverse-engineering something, it could provide a lot of help to the community. Personally, I really would like to use the decompilation engine from a third party program. Concretely speaking, it would be a good idea to have decompilation result near SH-2 disassembly in Yabause debugger |
slinga | Jul 16, 2020 | |||||||||
Sorry about that, I corrected the links. CyberWarriorX and RetroReversing both have IDA Saturn loaders. It looks like RR's is a Python rewrite of CWX's. Apparently some time after CWX wrote his plugin IDA added SH2 proper support. It's documented on their processors page: Supported Processors – Hex Rays.... I can't remember exactly but I feel like SH3 was *almost* backwards compatible with SH2. Like there are a few instructions or encodings that weren't the same. So assuming you have a newish IDA Pro Advanced you should have SH2 support out of the box.
I don't want to hijack Nando's thread about IDA, but there exist multiple projects to embedd Ghidra's decompiler into other projects. There is Chris Eagle's blc... which integrates Ghidra's decompiler into IDA. There is also radareorg/r2ghidra-dec... which integrates Ghidra's decompiler into Radare. As Ghidra's decompiler is one of the few components written in C++ instead of Java it shouldn't be hard to integrate with Yabause. I'm not familiar with the internals of Ghidra's decompiler but I imagine separating it from the rest of Ghidra will make decompilation even worse. |
nando | Jul 16, 2020 | |||||
Even better! I see where having the disassembler built into the emulator would be hugely beneficial though. Hmm. A bit out of my wheelhouse though. |
cafe-alpha | Jul 18, 2020 | |||
Thank you for the information, @slinga... @nando... : the "If you have to ask, you'll never know. If you know, you need only ask." point is true for a lot of niche software, including IDA unfortunately. |
slinga | Jul 18, 2020 | |||
Just to be clear the vast majority of Ghidra is written in Java. The decompiler is one of the few components that is written in C++. |