Hey,
I was looking through some backup CDs today and came across an app I wrote about 5 years ago while bored at work. It searches a file looking for words in a dictionary, which I wanted so I could search VB ROMs for words, like DEBUG, SOUND TEST, etc.
I didn’t remember how complete it was, but I did some testing today and it seems to work, so I added a few finishing touches to it, and now here it is π . The executable, source, dictionary file, and readme are in the zip. I included a dictionary that I had found online somewhere, though it’s possible to use your own.
By default it searches all offsets (where the alphabet starts, i.e. ASCII=0x41), though you can specify which offset to search for, as well as the minimum word length. It takes a long time to process, but hopefully you’ll only need to do it once for each ROM.
I was kinda surprized that it just worked, so it’s possible that there’s some bugs… let me know if you run into any problems.
DogP
Attachments:
I found this browsing through both versions of Vertical Force earlier.
File names?
Attachments:
I know there’s a lot of interesting stuff in Vertical Force… you can get to the debug menu by adding a cheat in Red Dragon. But most games have some text in them, I’m mostly interested in finding the ones that weren’t supposed to be found π .
DogP
This is slightly (okay, completely :-P) off-topic, but I thought of another “search” utility that would be really cool to have. I thought of it while reading in the “ROM hacking” thread about changing the key mapping in Mario Clash (something I’ve wanted to do since I first played it!). I don’t think it would be very hard to make, starting with DogP’s code.
The idea is, instead of disassembling the entire ROM (after first mapping out the location of code with RB ;-)) one could have a “searching assembler” which accepts a snippet of assembly language (perhaps with placeholders for register names, since they’re interchangeable) and searches for every occurrence of the different permutations of that code in a (ROM) file, showing the actual disassembly and the offset into the file.
I can’t really start on this now, and I can’t imagine anyone else wants to π but I may get to it eventually. Well, at least the idea’s out there…
DogP wrote:
I know there’s a lot of interesting stuff in Vertical Force… you can get to the debug menu by adding a cheat in Red Dragon. But most games have some text in them, I’m mostly interested in finding the ones that weren’t supposed to be found π .DogP
Is it likely there’s some key combination that let’s you enter this debug menu? Or is it residue from a development version?
e5: I’ve never looked at it, so I’d just be guessing… but those things aren’t really meant to be found, so it wouldn’t be surprizing if it was removed (or #ifdef DEBUG’d or something), but Red Alarm had its accessible from the regular game, so who knows.
RP: What’s the difference between what you’re talking about and just searching a disassembly?
DogP
DogP wrote:
RP: What’s the difference between what you’re talking about and just searching a disassembly?
(Although I already answered on the IRC channel, I’ll reply here for posterity.)
The key benefit would be ease-of-use (no need to worry about making a regular expression that fits the particular disassembler’s interpretation of the code). But, as you proved with your “ROM mapping” tools, a disassembly listing is a lot to sift through, and disassemblers aren’t (yet?) perfect.
But, like I said, I’ll either do it myself or do without, so don’t worry about it ;-).