knot126

furries, computers, magic

  • they/them (any are fine)


knot126
@knot126

Resurrecting Touch Pets: Cats!

This is the first thing I've gotten from the game.

First I had to write a https -> http passthrough sever becuase certificates on iOS 5 are fucking broken and I couldn't install AppSync.

Then it seems like the game crashes if you modify the binary! I thought AppSync fixed this ... unless Ngmoco added extra protection... if so that will be fustruating.1

So instead of modify the urls in the binary, I've just updated the iOS hosts file. I want to not go insane so I will really try to fix the crashing later, but for now it works.

This game is also written in Objective C. I've never used Objective C before, so this should be fun.

It seems like now I have to actually look though the binary though becuase I don't know how else I would figure out how to respond to the GET request for DLC. :/

Somewhere I found this file hosted on AWS which is still up after the game shut down 10 years ago.

  1. This game has a fucking agressive message would display if the crack detection code really worked (the isCracked method that's somewhere always returns false):

It appears you are running an unauthorized copy of <game name> If you feel like this message has been displayed in error, please email security@ngmoco.com.

By continuing to play you agree to allow ngmoco, Inc. and its licensees and distributors to collect and use your device information for the purpose of tracking and analyzing your app download and installation patterns. You further understand and agree that ngmoco, Inc., its licensees, and distributors reserve the right to curtail your use of this or any other unauthorized copy of an application owned or offered for sale by ngmoco, Inc., including but not limited to disabling the application in question and reporting your device, download and installation information to private or governmental entities or agencies concerned with preventing the unauthorized and/or illegal distrubution of software.


knot126
@knot126

So Ghidra's no return detection sometimes breaks Objective C binaries and it will believe they exit every time a method is called (or in objective c terms a message is sent).

it's an object oriented language.

that happens basically every function.

so funtions just looked like their implementation was calling out to some other thing.

and combined with the weirdness of objective c.

it took two hours to figure out.


You must log in to comment.