
Reverse engineering Animal Crossing's developer mode - beefhash
https://jamchamb.github.io/2018/06/09/animal-crossing-developer-mode.html
======
danbolt
I really enjoyed reading this as Animal Crossing had a big impression on me as
a child. It was engaging and full of character, but didn't have the same
structure as other adventure/platformer games I had owned. It opened my eyes
up to how interactive media could feature content that was exploratory, rather
than goal-oriented.

A few weeks ago, a coworker said they were surprised about Minecraft's
enduring popularity, as its gameplay seemed somewhat "pointless" to them. I
think games like Animal Crossing help show that games don't necessarily need
to exist as an existential need or pastime, and that their value can come from
simply allowing your to express yourself in some space. Or, The Elder Scrolls
has had a lot of enduring popularity, and I think a lot of that comes from
making a character and casually having fun.

------
Boulth
Wow, what an excellent post!

It reminds me of Temporal Flux, an editor for SNES game Chrono Trigger that is
so elaborate that entire new games were created with it.

------
alekratz
The debug code (up down up down left left right right B+A start) looks really
similar to the Konami code (up up down down left right left right B A start).
It's like the debugging equivalent to "don't forget to drink your ovaltine".

~~~
Willson50
I'm assuming they changed it just enough that normal players wouldn't find it
by accident.

~~~
WorldMaker
Even Konami varied it some between games.

------
ngcc_hk
Find the post interesting.

Wonder anyone know how the environment should be ... 1) Buy IDA which ver? 2)
somehow Load the rom from ... how?

~~~
voltagex_
1\. Whichever version of IDA supports PowerPC (probably the paid one)

2\. It's not a single file "ROM" in this case - you'd take a disc image you
either created yourself or somehow acquired, convert it to ISO, then extract
the .dol files for analysis.

------
Firerouge
TL;DR using a second controller in port two to enter:

(L+R bumper & Z), D-UP, C-DOWN, C-UP, D-DOWN, D-LEFT, C-LEFT, C-RIGHT,
D-RIGHT, A+B, START

Unlocks the GameCube animal crossing debug mode without requiring a modded
disk/console.

Makes you wonder what other games have hidden key combos yet to be discovered.

~~~
slipstream-
Interestingly enough, this is the same key combo used to show information on a
crash in several N64 games, including Doubutsu no Mori (the original N64
version of Animal Crossing).

~~~
StringyBob
It's based on the Konami code [0] a version of which made it into a mouldy
peaches song [1]

[0] -
[http://contra.wikia.com/wiki/Konami_Code](http://contra.wikia.com/wiki/Konami_Code)

[1] -
[https://www.youtube.com/watch?v=ceV62E-c86g&t=92](https://www.youtube.com/watch?v=ceV62E-c86g&t=92)

~~~
slipstream-
I didn't even notice it was a derivation of the Konami code until you
mentioned it.

------
thewizardofaus
This is awesome. I love reverse engineering software. There is something so
magical about it. I once spent a whole summer reverse engineering crackmes but
never moved to actual software hmm.

~~~
kchr
What are crackmes?

~~~
exikyut
Small binaries that employ a reduced set of programming/anti-
debugging/obfuscation/etc techniques. Sometimes you have an idea what sort of
techniques you're up against, sometimes you don't but you have a general idea
of difficulty. In all cases the idea is that the possibility domain is bounded
and smallish rather than completely unknown.

The idea is you conquer progressively more complicated crackmes and this helps
you learn how to tackle random binaries you'll find in the wild.

Generally the step up after crackmes is to find virus payloads/samples and try
and unravel those. I understand Stuxnet uses some of the most complex
techniques to date:
[https://www.symantec.com/content/en/us/enterprise/media/secu...](https://www.symantec.com/content/en/us/enterprise/media/security_response/whitepapers/w32_stuxnet_dossier.pdf)
(ref:
[https://news.ycombinator.com/item?id=17099969](https://news.ycombinator.com/item?id=17099969),
also
[https://news.ycombinator.com/item?id=2212922](https://news.ycombinator.com/item?id=2212922))

~~~
thewizardofaus
Thanks for sharing! I got lost on my way after crackmes and ended up exploring
other topics, but I may have to revisit virus samples :)

~~~
exikyut
Assembly language is still on my todo list (slooow starter, heheh).

I have an old DOS game I kind of want to kill the collision in so I can play
it with my terrible coordination :P

(This is the game: [https://www.old-games.org/games/willy](https://www.old-
games.org/games/willy) \- this particular site all is in Hebrew, but it's the
only one with this particular version of the game - take a look at the yellow
subtext immediately under the title in the screenshot ;P)

Btw, FWIW: I'm roughly around the Sydney area, if I'm interpreting your name
right. If Google isn't utterly off base, maybe you're in Brisbane or NSW...?
(Many matches for your name, didn't want to take chances poking all of them)

------
augbog
Amazing post! Makes me want to get into ROM hacking :)

------
kevinwang
amazing work

