Topic: OpenSource tools for OpenSource Reverese Engineering
This post isn't directly related to Fernvale, but is largely inspired by it, so I'd like to take freedom to post about it here, because I'd really like to see it help progress the Fernvale project. I hope moderators won't treat it as a complete offtopic.
So, over last 3 months, I faced 3 interesting reverse-engineering projects - so interesting, that I'd love to work on 2 of them, even despite myself swearing many years ago that I no longer waste my timeon REing proprietary crap. One of these projects is of course Fernvale. Xobs and Bunnie did really great work on the hardest part - to bootstrap open environment on otherwise almost completely closed chip.
Unfortunately, a lot more has to be done to make project more useful than a proverbial Arduino. That work almost likely will include reverse-engineering. And there was a note from Xobs that his IDA database for disassembling BootROM died. Even if it didn't die, it probably wouldn't be useful to anyone else, because demo version of IDA wouldn't allow working with needed architecture, and even if needed arch was supported, demo IDA wouldn't allow to open database. Even if it allowed that wouldn't allow to collaborate on RE in any sensible way, and then in some time database would get corrupted again.
The vicious cycle above goes on for years and decades - open-source reverse-engineering community doesn't learn, trying either to use "industry standard" proprietary tools which offer subpar reusability, or waste time develop own adhoc tools. In either case, results of such efforts are usually very small and fragmented, and eventually go down the toilet.
I also tried to do my final community homework, for example Fernvale presentation mentions Radare2, which indeed getting kind of PR last couple of years. But no, I don't waste my time typing even 1-char commands (followed by Enter), especially if many of them actually required 8+ digit address. And there web interface is hilarious in its awkwardness.
There's no need for all that original research in UI of reverse engineering, there's need to have to have something what Sourcerer offered 25 years go, just open-source, easily hackable.
With the above ideas, I put aside hacking on Fernvale, and instead decided pay off technical debt accumulated for decades, by writing interactive, incremental, direct-manipulation, hackable, high-level disassembler: https://github.com/pfalcon/ScratchABit
The project is work-in-progress. Ironically, I post this on forum related to ARM arch hacking, but there's no ARM support yet. But there's something to look at already (using x86 arch, which is hopefully common ground for everyone). And the whole idea is that it is easy to add *any* arch support, for anyone with even average skills in programming and RE (I obviously won't be able to implement everything myself).
So, I would like to invite every interested passer-by of this forum to give it a look and a try, and hopefully added ScratchABit to arsenal in their tools, and ultimately contribute to its development. Especially I of course would appreciate Xobs and Bunnie considering using it for their next, or maybe even current, hacking projects.