MasterToma Posted July 1, 2017 Author Posted July 1, 2017 (edited) As I promised. Decompiled and built L2LogD.exe: https://drive.google.com/open?id=0B6ic1ViGkLctcXZwbm0wbDlGQ00. Feel free to test it, report issues and get sources. Contains minor but obvious fixes for original L2LogD from C1. Will prepare some video with code tomorrow. All, who contributed and helped me somehow, feel free to PM for source code. For those, who still wanna contribute and get the code - there is simple reverse task, which I left: http://www.maxcheaters.com/topic/214458-l2off-l2-c1-source-code/page-2?do=findComment&comment=2641410 Edited July 2, 2017 by MasterToma
MasterToma Posted July 6, 2017 Author Posted July 6, 2017 (edited) With smeli help, IL support has been completed. Tested with SINA IL Server Extender and IL client (737 with killed GG). For now there is a separate branch for it (https://bitbucket.org/master_toma/lineage2-c1-harbingers-of-war/src/312e63ca9d7f940fb11e6be1bbaf86f62eefab9b/?at=c6_ext), but I'm going to merge all changes for c1, c4 and c6 into single branch. Edited July 6, 2017 by MasterToma
MasterToma Posted July 8, 2017 Author Posted July 8, 2017 L2LogD sources were published L2AuthD from devel branch is built into 3 binaries: for c1, c4 and c6 support.
Tominoker Posted October 10, 2017 Posted October 10, 2017 (edited) Hi, how is it the project? Edited October 10, 2017 by Tominoker
MasterToma Posted October 11, 2017 Author Posted October 11, 2017 Hi, I repeat answer to those, who PMed me as well: I didnt abandoned decompilation, just was on summer holiday, and going to publish new code on butbucket in a few weeks.
Fyyre Posted October 13, 2017 Posted October 13, 2017 (edited) On 4/30/2017 at 2:51 AM, MasterToma said: Well, L2J is actually a great project, and many devs were inspired by it. The problem it's not in java, but rather in implementation details - if they would use L2OFF logic, we wouldn't have to write extenders. No, it is not. It has collectively lowered the bar for Lineage II -- to the point any moron can open a server. Having been around since the start (l2off) and breaking in 2012 to return now.. the sorry state of Lineage II as whole... one only need look as far as the million java servers existing today. Whatever L2J inspires? Perhaps great things like idiot server owners paying big clans to play on the server. Talk about inverted logic. L2J will never be, or replace L2off or extenders... just as the level of skill required to create an extender... C/C++ and solid Intel asm knowledge vs a language that every "comp sci" wanna be is taught. Mm, and oh - congrats on your reverse engineering. I did the same years ago of malware rootkit driver Rustock B & C. IDA -> C source, 100% working. I will commend you for that. Edited October 13, 2017 by Fyyre
Sdw Posted October 13, 2017 Posted October 13, 2017 1 hour ago, Fyyre said: L2J will never be, or replace L2off or extenders... just as the level of skill required to create an extender... C/C++ and solid Intel asm knowledge vs a language that every "comp sci" wanna be is taught. It could have if l2j was actually started properly, and it still could be but I guess people won't spend that kind of time anymore. Even today, numerous l2off dev switched to l2j and try to make the shit right.
Anarchy Posted October 13, 2017 Posted October 13, 2017 the issue is the players don't care so why should the server owners / pack devs... like fyyre said the bar has been lowered and the bugs and just dumbassery of l2j is universally accepted by players as just what private servers are like cuz 90% have those issues, between shit geo engines which put u in the ceiling or show "cannot see target" all the time and universally incorrect algorithms and formulas for skills and the #1 thing which drives me fucking nuts is static point spawns for npcs - all of this shit is just accepted by players because that's just how private servers are right? my work in l2j has shown 1 thing predominantly, it's a constantly losing battle between devs who actually know what they're doing and know what it should be, and the devs who are out there to make 5$ on a system they copypasted together which does 60s sleeps for an event queue in the main thread pool and uses CopyOnWriteArrayList for a write-heavy container like for every decent dev there's probably 20 shit ones fucking things up and i don't see that as likely to change
Fyyre Posted October 13, 2017 Posted October 13, 2017 (edited) 16 hours ago, Sdw said: It could have if l2j was actually started properly, and it still could be but I guess people won't spend that kind of time anymore. Even today, numerous l2off dev switched to l2j and try to make the shit right. What l2off devs mate? I can count maybe 10, and all but 2 or 3 have retired... Although I will says props to eressea for her open source extender. L2 needs more people like her. I know you did great things with L2JUnity, even if I still think Nos is a little bitch *grin* Edited October 13, 2017 by Fyyre 1
Sdw Posted October 14, 2017 Posted October 14, 2017 He retired as well but we still spend mucho time RE. Starting from L2J allows to have simulation of working feature till we replace it. It feels endless but less broken in the end and one day we will call it L2 :D
Fyyre Posted October 16, 2017 Posted October 16, 2017 On 10/14/2017 at 8:49 AM, Sdw said: He retired as well but we still spend mucho time RE. Starting from L2J allows to have simulation of working feature till we replace it. It feels endless but less broken in the end and one day we will call it L2 :D Makes sense. I do remember him starting RCE. He is a smart guy, he will go far.
MasterToma Posted October 30, 2017 Author Posted October 30, 2017 (edited) Hi all. As I promised, I've returned. A lot of L2CacheD infrastructure code has been revealed and published. Main thing left - model-specific code, which contains logic, and L2CacheD <-> L2Server packet handling. As some of you might now, there are about 220 packets in L2CacheD : Server protocol. But the good thing is, that 59 of them (almost 1/3) doesn't need any complex logic to decompile. For exaplme, packet with Id=128: // ADDRESS (0x004365F0) bool __cdecl packet128_RequestDeleteCropData(CIOSocket *pSocket, const uint8_t *packet) { guard(L"static bool RequestDeleteCropData(CSocket* pSocket, const unsigned char* packet)", L"static bool RequestDeleteCropData(CSocket* pSocket, const unsigned char* packet) (exit)", L"Socket.cpp", 8042); PacketUtils::Disassemble(packet, "dd", &v4, &v6); DBConn sql; sql.Execute(off_4F0B58, v4, v6); unguard(); return false; } As you can see, it's very simple - read 2 ints from packet, and execute some SQL query. All is needed to commit file - manual clean up (it's done in the snippet above), variable renames (might be taken from SQL query itself), etc. For sure not a rocket since. So, I'm looking for people, who want to help and contribute to this project (all sources are available, link in the first post), by decompiling very easy packets (while I'm doing more dirty job). You can check all packets here. Right now there are only stubs, no real logic inside. Contact me, I'll send you details. Edited November 1, 2017 by MasterToma
MasterToma Posted December 27, 2017 Author Posted December 27, 2017 Almost all model is decompiled, fighting only with warehouse logic. Still looking for skilled devs, who wanna to contribute. L2Server/Admin handlers are waiting for you! :D
Recommended Posts