VitaSmith / gust_tools

A set of utilities for dealing with Gust (Koei Tecmo) PC games files
Other
206 stars 23 forks source link

gust_enc: Unsupported encodeing version: 0x00000001 #63

Closed imjinjia closed 2 years ago

imjinjia commented 2 years ago

Hi! Ar nosurge Plus: Ode to an Unborn Star uses encodeing version: 0x00000001,can you add to support it?thank you!

Sample file: Achievement.xml.e.zip

The seeds i found:

{
            "id": "ANP",
            "name": "Ar nosurge Plus: Ode to an Unborn Star",
            "version": 1,
            "main": [
                0x630d,
                0xc9df,
                0x72cb
            ],
            "table": [
                0xabfb,
                0xab89,
                0x8c27
            ],
            "length": [
                0x1d,
                0x13,
                0x0b
            ],
            "fence": 0x989
        }
VitaSmith commented 2 years ago

Thanks for the seeds, but as reported in #62, this game appears to use a different scrambling algorithm from other KT games.

Also, it is not available for purchase in EUR region, which means I can't legally look into how the scrambling works.

I will therefore close this issue. But if someone wants to invest their own time reverse engineering v1 scrambling and send a patch, I'll happily apply it.

imjinjia commented 2 years ago

@VitaSmith There's nothing i can do but send you this, can this help? elf&e.zip

I have already bought this game,i don't know is there any legal issues, and i found this game's title id in EUR version which is PCSB00798.

Cakku commented 2 years ago

Thanks for the seeds, but as reported in #62, this game appears to use a different scrambling algorithm from other KT games.

Also, it is not available for purchase in EUR region, which means I can't legally look into how the scrambling works.

I will therefore close this issue. But if someone wants to invest their own time reverse engineering v1 scrambling and send a patch, I'll happily apply it.

I read your post about the encoding, but I'm interested in how do you look for the keys in new games if you don't mind explaining? are you looking for related strings in the disassembled assembly code, or do you have a way to reproduce structured c/c++ code that you can more easily read?

VitaSmith commented 2 years ago

There's nothing i can do but send you this, can this help?

Not really, because I am not planning to spend time reverse engineering a PS Vita executable in order to find how v1 of the scrambler works. It's just too time consuming, and I have better things to do with my life, which is also why gust_tools are centred around PC versions of KT games, with anything non PC being a bonus that I may or may not decide to add.

how do you look for the keys in new games

Reverse engineering using IDA, x64dbg, Ghidra, and trying to locate the right section of the code. There's no real guidelines I can provide, as it's mostly a matter of perseverance and bit of experience with disassembling/debugging (looking for strings is usually only a small part of it). C/C++ code from Ghidra comes afterwards, once you have identified the assembly code, but Ghidra has its limit, so, once again, it's really a matter of sinking a lot of time into it. Which is why I'd rather not take on a new reverse engineering project looking for a scrambler in ARM assembly.