Jump to content

[L2Off] L2 C1 Source Code


Recommended Posts

  • 2 months later...

Hi,

 

Small report. 

 

Only 6 methods left in CWareHouse (but huge enought, each took me about 4 days to decompile).

 

Today I've decompiled 17 packet handlers from CacheD

packet027_RequestLoadPledge
packet034_RequestLoadAllCastleData
packet035_RequestLoadAgit
packet074_RequestSetPledgeInfo
packet082_RequestLoadDismissReservedPledge
packet105_RequestLoadDoor
packet107_RequestSaveDoorStatus
packet131_RequestGetContributionRelatedPledge
packet172_RequestGetDbRelatedCounts
packet173_RequestLoadAllPledgeWar
packet192_RequestSetNextCastleSiege
packet196_RequestLoadCastleGuard
packet197_RequestLoadAgitBid
packet198_RequestLoadControlTower
packet213_RequestLoadIntervalAnnounce
packet218_RequestLoadLastResidenceTax

Those ones are sent from L2Server.exe during startup. Now original C1 L2Server.exe successfully connects with decompiled CacheD. 

 

So, basically, only packet handlers left. I'm still doing all the stuff alone, but packet handlers are extremely easy. I've did 17 of them just in 3 hours. 

If you know C++-like language, you are welcome to contribute! 

Link to comment
Share on other sites

Hi all! Great news!

 

84 packet handlers out of 220 were revealed by lordofdest. This allowed us to enter the game with decompiled CacheD! 

I'm still working with WareHouse methods, but from now, CacheD can be tested and used with original L2Off server.

 

 

Edited by MasterToma
Link to comment
Share on other sites

  • 2 weeks later...

yes, it's been closed. As I wrote during last year, when CacheD is compleded, I would close it, and only those, who contributed, would get the access to the code.

Link to comment
Share on other sites

- Original bug in C1 binaries, that led to deadlocks 

!!! deadlock or super-lag detected!!!

!!! deadlock or super-lag detected!!!

has been fixed

- AuthD is fixed to work with original clean L2 C1 client

- CacheD model is completed

- admin handlers are almost completed

- server handlers are almost done (60 left out of 220)

 

In order to get access to latest code snapshot, you can help us with CacheD testing. I will send you our binaries, you have to find bugs which are not present in original CacheD, if we will be able to reproduce it, I will share you latest snapshot

Link to comment
Share on other sites

---------------Detectar idiomaAfrikáansAlbanésAlemánAmáricoÁrabeArmenioAzerbaiyanoBengalíBielorrusoBirmanoBosnioBúlgaroCanarésCatalánCebuanoChecoChino (Simplificado)Chino (Tradicional)CingalésCoreanoCorsoCriollo haitianoCroataDanésEslovacoEslovenoEspañolEsperantoEstonioEuskeraFinésFrancésFrisón occidentalGaélico escocésGalésGallegoGeorgianoGriegoGuyaratíHausaHawaianoHebreoHindiHmongHúngaroIgboIndonesioInglésIrlandésIslandésItalianoJaponésJavanésJemerKazajoKirguísKurdoLaoLatínLetónLituanoLuxemburguésMacedonioMalayalamMalayoMalgacheMaltésMaoríMaratíMongolNeerlandésNepalíNoruegoNyanjaPanyabíPastúnPersaPolacoPortuguésRumanoRusoSamoanoSerbioSesotho meridionalShonaSindhiSomalíSuajiliSuecoSundanésTagaloTailandésTamilTayikoTeluguTurcoUcranianoUrduUzbekoVietnamitaXhosaYidisYorubaZulúEspañol
 
I want to help. :)

 
Link to comment
Share on other sites

Just finished porting L2Auth for x64. Job was tricky, but it works! LogD and L2CacheD x64 porting is coming soon. Next step - cross-platform build, to be able to run on Linux. It means - cheaper hosting, more powerful server administration tools and more resources available for L2 server! Meanwhile, there is parallel activities on decompilation L2Server and L2NPC server.

We still need contributors for porting Windows IO Completion Ports to boost::asio. If you are skilled enough, just PM me, and when task is done, you will have access to our repo with all WORKING source codes, 100% original (legacy branch) and modified (other branches)

Link to comment
Share on other sites

  • 2 weeks later...

CacheD has been completely decompiled. 100% original code restored. Tested with C1 server, as well as with SINA extenders.

Also, CacheD has been ported to x64 as well.

 

L2NPC is the next one!

Link to comment
Share on other sites

See first post. Repo was in public for year. Right now it's "help-to-get" model. Anyone can join, contribute and get access to the code. Many people already have this done.

 

BTW, L2NPC is decompiled on 15% already. It connects to LogD and CacheD, and has all infra ready.

Link to comment
Share on other sites

  • 1 month later...

Hi all, new heroes are needed! 

 

I'm decompiling L2NPC.exe, and have gone so far for now (ai.obj parsing is decompiled, which is a great success). But I know, that you want to get sources and contribute some how. For those of you: only c++ knowledge are needed (no decompilation). We need to port L2Auth, L2LogD and CacheD to Linux. So, all WinAPI has to be switched to c++:

Critical section - to std::mutex
Interlocked* to atomic
Unicode string conversions to std::wstring_convert

PM me with your Skype account, I'll send you needed modules, and when the work is done, you will receive all sources

Link to comment
Share on other sites

  • 4 weeks later...
Guest
This topic is now closed to further replies.



  • Posts

    • So excited to announce 3x Telegram Premium (6 months)   Join our official TG and participate to win!   Asocks.com - trusted proxy service providing mobile and residential proxies with a single price of $3 per 1GB   A huge locations pool and high speed will help complete all tasks    
    • Well, sorry not sorry for resurrecting old topic, but I believe it's ultimately stupid to implement license checks like Vilmis did 🙂   private static String url = "jdbc:mysql://185.80.128.233/" + getData("Zm9ydW1fZGI="); private static String username = getData("bXJjb3B5cmlnaHQ="); private static String password = getData("Y29weXJpZ2h0XzEyMw=="); con = GlobalDB.getInstance().getConnection(); PreparedStatement statement; statement = con.prepareStatement("SELECT field_6 from core_pfields_content WHERE member_id = ?"); statement.setInt(1, Config.FORUM_USER_ID); ResultSet rset = statement.executeQuery();   This awesome way of coding things leaves us with base64-encoded credentials and DB exposed and accessible globally 😉 Btw he checks his licensing data from some plugin generated table his forum uses. Vilmis took action and ensured that mrcopyright user would have only needed accesses and rights for this operation. But he forgot to ensure that his INFORMATION_SCHEMA database would not be exposed and readable... That leads us to fully readable server variables like version used (10.1.26-MariaDB-0+deb9u1 - pretty ancient DB and OS, I'd assume). From here you can go south and do some kinky stuff, if you want and have knowledge for that. But who cares, right?   Ooh, table core_pfields_content field_6 is IP address which is checked by FORUM_USER_ID. Yep, you can query all IP addresses there (124 of them right now) and also do whatever you want with them! 🙂  The most fun part? Files source has been shared what, more than 2 years ago?  Vilmis still uses very same credentials and never changed it after sources exposure - who cares. Although, "sources" may be way too strong word here. If anyone still use paid Orion versions, I'd suggest packing your shit and leaving immediately, or at least fix this incompetent fool caused problems. It's obvious Vilmis don't care or maybe doesn't even know from the first place how to solve this problem (hint hint - tiny PHP Rest API microservice which would do absolutely the same but without exposing sensitive data?). By doing that, he exposes his infrastructure and YOUR data, and he does that for more than 2 years now 🙂 Developer of century!    
    • rename the l2.bin into l2.exe
    • L2LIVE.PRO- Dynamic Mid-rates Essence Seven Signs GRAND OPENING - July 5, 20:00 GMT+3 (EEST) TEST SERVER IS OPEN - COME AND CHECK IT OUT TODAY! Join our community and be part of it at: https://www.l2live.pro https://discord.gg/k3NMgR4Dmu   Server description * EXP/SP: Dynamic (x1- x100 based on your level, *before* Sayha and EXP buffs * Adena: x50 / Item Drop: x10 / Fishing EXP increased / Attribute EXP increased * Simplified gameplay to stay in the loop while not spending hours and hours farming * Starter Pack containing very useful items for beginners * MP replenishing potions with auto-consumption * No overpowered donations L2LIVE shop * All spellbook coupons, pet spellbook coupons and master books are sold via Game Assistant * Additionally you can buy SP pouches, enchanted talismans, pet training guides and various other consumables for Adena and L-Coin * More items such as cloaks, more talismans, agathions, belts, pendants, enchantment scrolls of various grades, evolution stones, etc will be added! Shop server as a shortcut, and all retail-like ways of earning items are still here! L-Coins * Drops with small change and in random amounts from Lv60+ monsters  * All raidbosses drop random amount of L-Coin Pouches generating up to 420 Lcoin per unit. **Grand Olympiad and Events** * Grand Olympiad is held week day * Format is 1v1, unlimited weekly fights  * Heroes are declared weekly at Sunday * There are three automated events - TvT, CTF and Deathmatch, running at evenings * Orc Fortress, Battle with Balok, Keber Hunter, Archievements Box, Daily Gift Calendar provisional events are active too Custom user commands * .offlineplay command, your character will keep playing till death or server restart * .offlineshop command, keeps your shop sitting until all items are purchased * .apon / .apoff - enable/disable HP/MP autoconsume And lots of other small improvements are waiting for you!   Join our community and be part of it at: https://www.l2live.pro https://discord.gg/k3NMgR4Dmu
  • Topics

×
×
  • Create New...