Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Awesomenauts (PC version)

Featured Replies

  • Author
  • Localization

puggsoy, posted Sat Dec 13, 2014 2:14 am (2159)


So the game Awesomenauts has some really weird compression for its graphics. I found this thread on XeNTaX a while ago, where Ekey seems to have figured out. However, the code he provided to generate the key and IV to decrypt it with makes absolutely no sense to me, so I can't generate them myself.

The actual decrypting and decompression shouldn't be much of an issue for me, it's simply the key and IV generation. I would be much, much obliged if someone could help me out on this front, maybe just giving a simpler depiction or explanation of the algorithms.
  • Author
  • Localization

aluigi, posted Wed Dec 17, 2014 9:29 pm (2189)


It's written that the initializer value for Generate_Key_IV is the size of the file.
The following is the Generate_Key_IV function translated in C, but I have not tested it:
Code:
uint32_t Generate_Key_IV(uint64_t *n) {
    uint32_t    a, b;

    a = *n;
    a = ((a & 0xffff) * 0x9069) (a >> 0x10);

    b = *n >> 32;
    b = ((b & 0xffff) * 0x4650) (b >> 0x10);

    *n = (uint64_t)a | ((uint64_t)b << (uint64_t)32);

    if(a == 0) a = 1;
    if(b == 0) b = -1;
    return (a << 0x10) b;
}
  • Author
  • Localization

puggsoy, posted Thu Dec 18, 2014 1:57 am (2202)


Hmm. I tried translating this to Haxe (the programming language I use), which is more or less the same except it doesn't use pointers and all integers are 32-bit by default.

When I tried setting n to the Manifest.dat filesize (0xB810), the function returned 0xB11DE500. Not only does this seem incorrect (looking at the results for Manifest.dat in the XeNTaX thread) but how would I differentiate between calculating the key and calculating the IV?

I've attached the files Ekey tested with.
  • Author
  • Localization

aluigi, posted Thu Dec 18, 2014 8:40 am (2207)


In my opinion there is some information missing in this "puzzle"
Better waiting an answer from Ekey (he is on this forum).
  • Author
  • Localization

puggsoy, posted Thu Jan 01, 2015 2:12 am (2414)


I hope bumping is allowed, just in case Ekey may have missed this. I would highly appreciate any input from him.
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.