Open amordeastrum opened 9 years ago
I've already done some work in that direction. But for now I'll focus on polishing the existing features, before adding big new features.
One of the problems is obtaining the list of skill names. I can extract them from the decrypted " DataCenter*.bin" file. But I don't know how to decrypt it. I found a decrypted file for the current EU version of Tera, but don't have it for other versions of Tera.
I dont know how skills are comming off the packets, but If each skills have static unique ID, i can test all of them out and send you the list for NA version as long as i know what the IDs are. I wish i knew how to decrypt the file, but sadly, im not too savvy.
I've done some research towards decrypting the DataCenter. It's encrypted in AES-128-CBT, for decrypting it needs key and iv.
Those should be only findable in TERA.exe, as they change with each version. It's protected by something against decompiling though.
I'll try to get more info (and hopefully the keys)
From what I know its compressed with gzip and encrypted using AES-128-CFB.
My two ideas towards dumping are finding the AES code via the AES sbox (it's present in Tera memory) or finding the gzip code via IDA's FLIRT.
I've seen correct skill names while debugging being connected to RU server (english version, of cause). So, your user_skills.txt is region-independent.
Well, I managed to (kidna) unpack it, it doesn't run though - probably messed up some checksums. I threw that into IDA, and I found AES sbox, rsbox and code that refers to them. (3 functions use tables of which one uses the other 2). That's about as far as I have gotten now.
And while region-independent they may be, they are not update-independent (ex: Brawler) so finding a way to get them is still valid concern. (and not relying on mercy of random hackers)
And besides those things contain other nice things (for example item names, enemy names, buff names should be there too, and I want them)
And what patch is RU on ?
go berserk, 3308b
Damage break down for each skills would be great. Ex. Skill Name | Total Damage | Avg Damage | Crit % | Skill #