Hi renj, I read your blog and your discussion. Great walk throughs. I especially liked the way you explain each step that you're going through when decrypting the dlls
Do you think it'd be better to collate all these info and processes into a wiki entry? We're aiming for the openkore wiki not just to be a repository of information related to OpenKore, but also information about Ragnarok in general, like protocols, file formats (have we migrated the info from the old wiki to the new one?) and perhaps even these new encryption utilities.
Thanks for sharing your work and enabling other people to build on your research in true open source spirit
Got your topic trashed by a mod?
Trashing topics is one click, and moving a topic to its proper forum is a lot harder. You expend the least effort in deciding where to post, mods expend the least effort by trashing.
Yo, first of all I appreciate. Currently my objective is clearing http://wiki.openkore.com/index.php?titl ... ed_servers list (in my free time) although I'm not even actively playing RO so it'll take time to clean all. And yeah, using wiki would be far advance for explaining such reverse things. I wouldn't mind explaining all steps during reverse engineering process. So if someone starts a section related to these things on wiki I can continue releasing there.
ffs stop mailing, sending message on youtube, da or whatever, ill crack vanguard when i feel like it also got enough time for it.
That completely depends on plug-in but I'm expecting something like it'll need INI file as reference or it's queries (data0, data2, data3 and data4) in server configuration.
ffs stop mailing, sending message on youtube, da or whatever, ill crack vanguard when i feel like it also got enough time for it.
quite an interesting read combined with your first part of this. i do have a question though; i assume all the packet related stuff is not relevant for simple client modifications, right? i want to add a few "diffs" to a servers' .bin file but which is the important value? i figured one of the values got to be CRC32 or SHA-1, but the values were of course different.
do you have any information to this (for clarification: yes i am talking about modifying client without openkore)?
Omoshiroi question, follow these steps in order to solve your problem.
Decrypt your data0 value by using rijndael with universal key (you can find it on previous post) thus you'll obtain second rijndael key. Generate MD5 hash value of your diffed exe and then encrypt it with rijndael by using second key and put it to Exe value in INI file.
Note: rinjdael key length is 32 bytes and 16 bytes block size without using chain block (aka input 16 null values).
ffs stop mailing, sending message on youtube, da or whatever, ill crack vanguard when i feel like it also got enough time for it.
thanks a lot for the helpful response. unfortunately, it seems the .NET implementation of the rijndael cryptography does not support 32 byte key length so i won't be able to work with this
do you, by chance, have enough free time to throw together a simple command line app that takes arguments like "rijn.exe decrypt universal_key data_to_decrypt" (same with encrypt)?
i think this would make GameFort servers' client modification very easy, but of course, this is a lot to ask from a random person
Example:
test key; 00112233445566778899AABBCCDDEEFF (128 bit also 16 bytes but written in hex string)
test block size; 16
test data; 00112233445566778899AABBCCDDEEFF (16 bytes but written in hex string)