Reverse Engineering Pink Classes

This post will be about the reversing serialized objects, located in ORB file.They are written in ORB using MFC library.

Firstly, I parsed class names. To do that, I have written simple program in C++.  Each class in Pink starts with letter ‘C’, so program just finds this letter, then reads name as MFC String and checks it for correctness.

I’ve got 48 for Peril and 45 for Pokus.

Secondly, I found out fields names. It was really easy.

When these games were created, developers had program creating the game files. This program wrote data to txt files, but not using MFC serialization, because the game engine has code for executing game from txt files. That’s why each class has virtual method, which writes attribute name and value. For example, CConditionVariable class:

cond

Each class in Pink games can be reversed using this approach.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s