DarkEnergyProcessor/HonokaMiku

New encrypt methods

Closed this issue ยท 10 comments

Klab added v4-v9 encryption in SIFJP v4.3

because of the 4.3 update

So any idea? V3 key table was not changed at all!

After some research I find out in a V3 encrypted file, the 8th byte in header determines which encryption method to be used, V3 is 0, new ones are 2
But I have no luck process any more because I'm not good at this at all, can't find the shift param used in V4 (the only difference with V3)

I need some help in this part. It seems the new encryption is way more complex.

Ok here is some notes for the new V4-V9 decrypter:

  1. V4, V5, V6, and V7 decrypter shares same table. V3 uses completely different table

  2. The V3+ algorithm is Linear Congruential Generator, but instead of modulo, shift is used to truncate the bits. V3 LCG initialization value is same as Microsoft Visual C++ (MSVCRT) while V4+ LCG initialization value is same as (older) glibc LCG.

  3. V8 and V9 decrypter are simply stubs. V7 decrypter seems Lua-based(?)

  4. I happily accept fixes on v5-beta branch for this. d2eac1c

It's fixed now. Try HM 5.0.0

The EN also updates their encryption now similar with jp, i tried to copy the jp_lng_key_tables to en_decrypter then compile, the decryption works(i think) but the encryption doesn't work the header is wrong also if the size is changed. So please update EN dec/enc

No, I won't support WW decryption v4 and later. See #12

oh ok.
anyway, i think i already got it working. thanks for this great program.

The EN also updates their encryption now similar with jp, i tried to copy the jp_lng_key_tables to en_decrypter then compile, the decryption works(i think) but the encryption doesn't work the header is wrong also if the size is changed. So please update EN dec/enc

Hello, you've already found a way to decrypt assets? I wonder how it works now for EN version 9.4