TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Using Ghidra and Python to reverse engineer Ecco the Dolphin

458 pointsby bbayles6 months ago

18 comments

SideQuark6 months ago
The hash is merely a CRC32; exactly this one (polynomial 0x77073096, code is wrong)<p><a href="https:&#x2F;&#x2F;web.mit.edu&#x2F;freebsd&#x2F;head&#x2F;sys&#x2F;libkern&#x2F;crc32.c" rel="nofollow">https:&#x2F;&#x2F;web.mit.edu&#x2F;freebsd&#x2F;head&#x2F;sys&#x2F;libkern&#x2F;crc32.c</a><p>(The decoded ints in the post are the constants in this CRC32).<p>Knowing it&#x27;s a CRC32 and knowing the polynomial allows inverting the answers in log time instead of exponential time by exploiting the modular math of the polynomial rings.
评论 #42079377 未加载
评论 #42079655 未加载
评论 #42084035 未加载
评论 #42079975 未加载
qingcharles6 months ago
When the original Ecco came out on the Megadrive (Genesis), I spent all my hard-earned money to buy it. That game is obscenely hard. I got frustrated, so I sat down for the afternoon with a pen and paper and somehow managed to decode the password system. I teleported to the final level and completed it the next day.<p>Then I was wracked with guilt about spending all my money on a game I completed in two days.
评论 #42078574 未加载
评论 #42079788 未加载
评论 #42079400 未加载
评论 #42079427 未加载
praptak6 months ago
QQRIQ is a phonetic abbreviation of &quot;kukuriku&quot;, which is the sound of the rooster in Hungarian and in several other languages (Polish &quot;kukuryku&quot;, Hebrew &quot; קוקוריקו&quot; etc.). Makes wonder what the process for choosing the passwords was.
评论 #42080544 未加载
评论 #42077843 未加载
评论 #42086790 未加载
评论 #42079287 未加载
评论 #42079464 未加载
评论 #42077794 未加载
Liquix6 months ago
an interesting aside: when asked about his inspirations Ecco&#x27;s developer Ed Annunziata said, &quot;No, I never took LSD, but I did read a lot from John C. Lilly&quot;. Lilly is known for his pioneering work in the fields of animal intelligence, ketamine psychotherapy, isolation tanks, and consciousness exploration.<p>The name &quot;Ecco&quot; is a reference to Lilly&#x27;s ECCO (Earth Coincidence Control Office), a supernatural&#x2F;extraterrestrial base which John posited existed on the other side of the moon to coordinate all earthly &quot;coincidences&quot;. He was also one of the first to recognize how intelligent dolphins were and became obsessed with figuring out how to communicate with them, going as far as flooding half of his house in the Carribeans to cohabitate. This is just the tip of the iceberg. I&#x27;d highly recommend his autobiography <i>The Center of the Cyclone</i> if any of this is intriguing, he&#x27;s a fascinating guy
VyseofArcadia6 months ago
Great read!<p>Do you have any resources on getting started with Dreamcast game reverse engineering? I&#x27;ve been wanting to do some things with Skies of Arcadia, and I&#x27;ve been hoping there exist techniques more systematic than &quot;see what values change between memory snapshots&quot;.
评论 #42078397 未加载
评论 #42078146 未加载
mytaterskin6 months ago
I&#x27;ve taken to older games a lot more in recent years, they feel like they have a lot more soul if that makes any sense. Also sorry about your car! Not going to leave it idling in the driveway anymore, thanks for the warning.
评论 #42078809 未加载
评论 #42084349 未加载
heisenburgzero6 months ago
I always wondered where to start learning reverse-engineering. Most people will say learn Assembly first. But from there on, there seems to be not much more concrete information online.<p>Do people just figured it out by trial &amp; error like common patterns in x86 &#x2F; arm &#x2F; arcade platforms slowly?<p>I can&#x27;t really find much discussion on details online.
评论 #42084370 未加载
评论 #42084083 未加载
评论 #42090817 未加载
评论 #42083914 未加载
skibz6 months ago
I&#x27;d love to see footage of the underwater soccer cheat in action.
fanoto6 months ago
Nice! Interesting how similar games seem to do this, checksumming to fixed integers. Pitfall: The Lost Expedition did something very similar by converting button presses into ASCII-represented strings of the input buttons that were then CRC-ed. The approach was similar to just brute-force in Python and compare to the extracted cheat hashes.<p>I even spy your CRC32 table hidden in the `decrypted_ints` . The pre-generated tables are so easily searchable. It leaves me curious why they are so often found obfuscated in attempt to make it more difficult compared to generating a new one with your own polynomial.
Kon-Peki6 months ago
Wow, a blog that focuses on the Sega Saturn!<p>Not too long ago, I found a Saturn in a closet at my parent’s house, along with a small handful of game CDs. I don’t have any recollection of owning one, so I’m guessing my little brother must have acquired it after I left for college. Anyway, I plugged it in and all the games worked! But other than that I have no idea what to do with it (obviously the trash is not an option).
评论 #42082713 未加载
评论 #42084206 未加载
bitbasher6 months ago
Can we just take a moment to appreciate how incredibly odd the Ecco series is? For anyone that beat the games. You go from swimming in an ocean to flying with aliens. It&#x27;s bizarre. Some people classify it as a horror game.
评论 #42078231 未加载
评论 #42078075 未加载
评论 #42077811 未加载
butz6 months ago
You should look into PS2 version of this game, it seems to have same code for level unlock. Maybe it will be easier to reverse engineer and figure out what all codes do?
j0hnyl6 months ago
I wish there was more detail on &quot;how&quot; this was done as opposed to just the &quot;what&quot;
评论 #42078288 未加载
bt1a6 months ago
im curious about the process to find that initial buffer address - does that involve entering a few different strings and searching the memory snapshot for those byte patterns ?
评论 #42077777 未加载
wileydragonfly6 months ago
Anyone else never beat the second level? Yes, we all eventually figured out that we had to jump over the rock wall… but after that… then what?
评论 #42091278 未加载
jimmaswell6 months ago
The 3DS version was very cool. I plan on completing it there eventually. I wonder if those devs had source access.
n0id346 months ago
I wish more people knew how to change to Ghidra&#x27;s dark theme and change the font.
评论 #42082123 未加载
29athrowaway6 months ago
Is not this against the Ghidra EULA?
评论 #42079071 未加载
评论 #42082562 未加载
评论 #42078786 未加载
评论 #42084801 未加载