Elfo Posted November 21, 2017 Posted November 21, 2017 So long story short ever since L2 Revolution came out i couldn't stop thinking how good the game would be if it didn't have the restrictions and the paywalls it has. I've been working on creating the login server and after a lot of decompiling and tests i was able to replicate the login process outside of the application programmatically . It is just a simple back end forth over simple SSL and it happens as part of the java side of the app so i was able to emulate it because i decompiled the APK. The gameserver connections is a TCP socket connection over the 12000 port. The problem is that the payload of the packets is encrypted (ofc) but the whole decryption thing happens inside the UE4 side of the app and im not good with encryption so I don't know how to find the key. I would assume that a key is being exchanged during the login but there was nothing i could find. Anyone tried to do something similar or anyone good with packets and encryption? Thanks Quote
Psyancy Posted November 21, 2017 Posted November 21, 2017 You read my mind or what? ;p I was searching yesterday if there is any private server for L2Revolution, it is indeed a great game, but after playing on the US or UK servers don't really remember waiting for the EU version i felt it was way harder than it was, i guess it's because it's a new server but still, the way the worked on the EU server made it really hard to play, you have to pay in order to get some assist or if you're not willing to pay you have to wait some times 24h to reload the daily-weekly quests, dungeons etc so you can achieve the next level required to start the next quest, meaning if you want to play for hours you simply can't without the boost on elite dungeon, the dungeons and the quests it's a waste of time trying to exp on zones you gonna need like 4,5 hours for 10,15%?!?!. From my point of view it's kinda easier to play on the Official on PC than on mobile which shouldn't be that hard with a 130 maximum level cap. Quote
SamDev-Coder Posted November 21, 2017 Posted November 21, 2017 is it a symmetric or asymmetric encryption process ? Quote
Elfo Posted November 21, 2017 Author Posted November 21, 2017 (edited) Haven't validated that yet, but asymmetric encryption for packets sounds bad. public key cryptography seems is slow and packets on TCP need to be lightning fast. Could be wrong tho. I ain't experienced in game development at all. Edited November 21, 2017 by .Elfocrash Quote
SamDev-Coder Posted November 21, 2017 Posted November 21, 2017 24 minutes ago, .Elfocrash said: Haven't validated that yet, but asymmetric encryption for packets sounds bad. public key cryptography seems is slow and packets on TCP need to be lightning fast. Could be wrong tho. I ain't experienced in game development at all. if it's asymmetric encryption then there must be a packet that exchanges encryption key where you can replace and initiate a new key pairs , it must be sent at the very beginning , and if it's symmetric encryption then there must be somewhere in apk where encrypt data and this is where you can reverse the algorithm and emulate, if you have this files lemme take a look Quote
Sdw Posted November 22, 2017 Posted November 22, 2017 He didn't find key he wouldn't be posting here otherwise Quote
Elfo Posted November 22, 2017 Author Posted November 22, 2017 Exactly what Sdw said basically. I packaged some points of interest from the APK. If you wanna dig around you can download them here: http://www.mediafire.com/file/nf4ito90fhl4vbo/l2revonetwork.zip There is a network folder in there but im not 100% sure if that is the socket code that the game itself is using. Quote
Sdw Posted November 22, 2017 Posted November 22, 2017 Too bad I won't have the time but it seems REALLY straightforward to handle Quote
Elfo Posted November 22, 2017 Author Posted November 22, 2017 (edited) 19 minutes ago, Sdw said: Too bad I won't have the time but it seems REALLY straightforward to handle If that's what the game itself is using then yeah SessionNetwork.java seems to be containing all the encryption info as it is getting iv key and salt from the server Edited November 22, 2017 by .Elfocrash Quote
SamDev-Coder Posted November 22, 2017 Posted November 22, 2017 Started to be Irony which is not my favorite but any way it's simple as i can see, Good luck Quote
Elfo Posted November 23, 2017 Author Posted November 23, 2017 Ok i finally got the decryption of the packets working. Packet identification is next :D Quote
vampir Posted November 27, 2017 Posted November 27, 2017 On 21.11.2017 at 4:13 PM, .Elfocrash said: So long story short ever since L2 Revolution came out i couldn't stop thinking how good the game would be if it didn't have the restrictions and the paywalls it has. You should be aware modified app like that will never be accepted to play store and it would be very hard to get any players while not being listed :/ Quote
Elfo Posted November 27, 2017 Author Posted November 27, 2017 (edited) a Edited October 1, 2021 by Elfocrash Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.