Welcome to Grunt's Corner

Back to Portal Home Blog My Creations About Site

Another Tuesday Blog Post | June 9, 2020

Here I am again on another Tuesday! I know I missed the last week but hey atleast I am making this one (Although a little late but ok). But hey I am here to talk about what I have done over the time. So I didn't really do much, I did look into disassembling Primal Rage 2 to understand how that works but I am still trying to figure out how to open that up in Ghidra, probably not the best program for it but, hey it's the SRE (Software Reverse Engineering) tool that I use for Primal Rage Version X.0 (Which is still on hold at the time being sorry for those that want updates but I am busy atm with other things and projects) so maybe, when I get that setup I can figure out how Primal Rage 2 reads the hard drive, and hell maybe even find the communication code with the CPLD (Complex Programming Language Device)? I am not too keen on that last one since that would proaably be something that would be encrypted. For the encryption part, while I did say there was no encryption, that's only from my own research at the moment. Who knows maybe with this look into the games code it is revealed that the game actually does have encryption. Again, since some things in Primal Rage 2 still are a mystery to me we will not know until the work is put into it. So heres to hoping that I can figure out how to get Ghidra to give me the proper opcodes! Speaking of Ghidra however, I actually worked on a side project over the weekend. I remember years ago watching a video by Bisqwit (Click here to go to his channel, very cool content in my opinion) but he made a video I saw last year and was reminded of again when I played Jurassic Park on my Sega Genesis (Sega Megadrive for those not in North America) and I saw myself entering random passwords. It was on Dyna Blaster (Click here to see the video) and it got me to wonder. Can I make a program like this for Jurassic Park? How hard could it be? Well the answers to those questions are yes and not hard at all, atleast for Jurassic Park that is. I created a program that verifys Jurassic Park Sega Genesis passwords and gives you the information of all the details such as player, the types of ammo you have (if Grant) the level and even the difficulty! I tried it on many passwords both online on GameFAQS and ones from my own playthroughs and others by inputting random words into my verifier (try "ARMYMOM1" thats one that I found from the verifier) and it works perfectly. For the most part it wasn't even using anything like a cipher or some weird equations, no for the most part it was a lot of bit manipulation (mostly bitwise AND, bitwise OR, and some logical shifting left and right) but it was super easy to code in C++ so I did. Now I do want to make a fancier program, hell maybe even create a generator for when someone wants to get a password for the game with certain weapons on a certain level but heres to seeing if I can actually do that, while now since I did get the verifier part, which I got by using Ghidra on the ROM and running the game in MAME for its debugger to understand how it was reading the code so I could look in the right place in Ghidra I can say that I successfully reverse engineered a games password system and understand how it works. I might make a video on it while explaining what each character of the 8 character password does and how the game checks the characters, but we will need to wait until that time comes if I make that video or not. Anyways that is really all I did. Anyways hope to see you in the next blog post next week on Tuesday (Hopefully it will be at a better time and not in the middle of the night).