Jump to content

Recommended Posts

Posted (edited)

I create this, in 2011.  Used with bot I also create (never release)

L2 Enumeration

Some will find useful, others will not understand.

SDK for more new version, not free... (meaning, you pay - and enough for me to care)

This is generated using the Unreal 2 engine, which is what Lineage II use.  If you share elsewhere, give me credit; not pretend you make it.

http://fyyre.ru/l2/ct2p3_sdk.rar

Edited by Fyyre
Posted
4 minutes ago, Designatix said:

With this i can find the packets used so i can change something i want?

Someone told me here if i can debug packets i can get what i want or something

 

Try UNetworkHandler, engine.dll -- however, SDK not for packets so much.  Already many tools to meddle with packets...

Posted
1 hour ago, Fyyre said:

 

Try UNetworkHandler, engine.dll -- however, SDK not for packets so much.  Already many tools to meddle with packets...

Alright, thank you mate

Posted (edited)
12 hours ago, lordofdest said:

Great work, Fyyre!

Maybe another tool can be useful for someone:

https://github.com/KN4CK3R/UnrealEngineSDKGenerator

Thanks for the link, lordofdest!  Getting all of this working was a massive headache, hopefully this make easier for people.

 

To the other fellow regarding packets, to be specific.  You can find more or less all you need via (this is Gracia Final, v83 client .. however, the point remains the same no matter client):

.text:1079D42C ; Exported entry 3846. ??_7UNetworkHandler@@6BUObject@@@
.text:1079D42C                 public const UNetworkHandler::`vftable'{for `UObject'}
.text:1079D42C const UNetworkHandler::`vftable'{for `UObject'} dd offset loc_103FCF0E
.text:1079D42C                                         ; DATA XREF: UNetworkHandler::~UNetworkHandler(void)+1Fo
.text:1079D42C                                         ; UNetworkHandler::UNetworkHandler(void)+2Eo ...
.text:1079D430                 dd offset UObject::AddRef(void)
.text:1079D434                 dd offset UObject::Release(void)
.text:1079D438                 dd offset sub_1038CE10
.text:1079D43C                 dd offset UObject::ProcessEvent(UFunction *,void *,void *)
.text:1079D440                 dd offset UObject::ProcessDelegate(FName,FScriptDelegate *,void *,void *)
.text:1079D444                 dd offset UObject::ProcessState(float)
.text:1079D448                 dd offset UObject::ProcessRemoteFunction(UFunction *,void *,FFrame *)
.text:1079D44C                 dd offset UObject::Modify(void)
.text:1079D450                 dd offset UObject::PostLoad(void)
.text:1079D454                 dd offset UNetworkHandler::Destroy(void)
.text:1079D458                 dd offset UObject::Serialize(FArchive &)
.text:1079D45C                 dd offset FArchive::GetCriticalSection(void)
.text:1079D460                 dd offset UObject::GotoState(FName)
.text:1079D464                 dd offset UObject::GotoLabel(FName)
.text:1079D468                 dd offset UObject::InitExecution(void)
.text:1079D46C                 dd offset UObject::ShutdownAfterError(void)
.text:1079D470                 dd offset UObject::PostEditChange(void)
.text:1079D474                 dd offset UObject::CallFunction(FFrame &,void * const,UFunction *)
.text:1079D478                 dd offset UObject::ScriptConsoleExec(ushort const *,FOutputDevice &,UObject *)
.text:1079D47C                 dd offset UObject::Register(void)
.text:1079D480                 dd offset UObject::LanguageChange(void)
.text:1079D484                 dd offset FFileStream::~FFileStream(void)
.text:1079D488                 dd offset FArchive::CountBytes(ulong,ulong)
.text:1079D48C                 dd offset UObject::Rename(ushort const *,UObject *)
.text:1079D490                 dd offset FArchive::AttachLazyLoader(FLazyLoader *)
.text:1079D494                 dd offset UObject::IsLoaded(void)
.text:1079D498                 dd offset UNetworkHandler::Tick(float)
.text:1079D49C                 dd offset UNetworkHandler::Init(int,UGameEngine *)
.text:1079D4A0                 dd offset UNetworkHandler::ServerPacketCountStart(void)
.text:1079D4A4                 dd offset UNetworkHandler::ServerPacketCountStop(void)
.text:1079D4A8                 dd offset UNetworkHandler::ServerExPacketCountStart(void)
.text:1079D4AC                 dd offset UNetworkHandler::ServerExPacketCountStop(void)
.text:1079D4B0                 dd offset UNetworkHandler::DispatchNetworkQueue(NetworkPacket * *)
.text:1079D4B4                 dd offset UNetworkHandler::AddNetworkQueue(NetworkPacket *)
.text:1079D4B8                 dd offset UNetworkHandler::GetServerID(void)
.text:1079D4BC                 dd offset UNetworkHandler::GetPetInfo(void)
.text:1079D4C0                 dd offset UNetworkHandler::GetUser(ushort *)
.text:1079D4C4                 dd offset UNetworkHandler::GetUser(int)
.text:1079D4C8                 dd offset UNetworkHandler::GetUserByNpcID(int)
.text:1079D4CC                 dd offset UNetworkHandler::SetMatchedStore(ushort *)
.text:1079D4D0                 dd offset UNetworkHandler::GetStaticObject(int)
.text:1079D4D4                 dd offset UNetworkHandler::GetItem(int)
.text:1079D4D8                 dd offset UNetworkHandler::GetVehicle(int)

This is the UNetworkHandler VMT.  It is exported from engine.dll, so finding it is always very easy... just look for:

??_7UNetworkHandler@@6BUObject@@@

 

Edited by Fyyre

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • You always find a way to lower the bar. Consistency matters. I admire your dedication to being completely unaware of how little you matter.     at least you are not entirely useless you can always serve as a bad example
    • hahahahahahahahahahahaha this says more about MaxCheaters than about me xD
    • I already finished my panel for change name and gender, anyway need restart, im used schema  $stmt = $conn->prepare("EXEC lin_ChangeCharacterName2 ?, ?, ?"); for change name... also for change gender i used if ($race == 5) // Kamael race ID; modify this value as per your database { $error = "Gender change is not allowed for Kamael race characters."; } else { $stmt = $conn->prepare(" UPDATE user_data SET gender = ?, face_index = 0, hair_shape_index = 0, hair_color_index = 0 WHERE char_id = ? AND account_name = ? "); Sorry no idea how to add cached update in myext64 about, not have any  solution for this yet compatible to myext64 code. This is my panel make in php http://177.73.143.43:8080/account/ Cool panel for me, without experience in any code. Without help from any people here 🙄
    • Базы данных от прямых источников!                                  Холодка                 Реги                 Депы                 Богатые физики                                  Много актуальных гео!                 Замена брака!                 Гарант+                                  Контакты                 ТГ - @yashkatsigun    
    • Don't listen to that idiot @Nightw0lf — he doesn't know or understand anything... he just talks nonsense. Here's the solution, just to prove that they're the useless ones giving you meaningless and useless answers.   function disableCharacter($charId){ $buf = pack("cVV", 0x14, $charId, 1); return $this->Send($buf); } function enableCharacter($charId, $accountId){ $buf = pack("cVV", 0x15, $charId, $accountId); return $this->Send($buf); } function kickCharacter($charId) { $buf = pack("cV", 0x05, $charId); $tmp = $this->Send($buf); sleep(2); return $tmp; } //-------------------------------------------------------------------------------- if ($func==7)//DESHABILITAR PERSONAJE { $char_id = $var1; $CACHED->kickCharacter($char_id); $respuesta = $CACHED->disableCharacter($char_id); RegistrarActividad("disableCharacter",$respuesta,GetCharNameByCharId($char_id)."(".$char_id.")",0,0,0,0); } else if ($func==8)//HABILITAR PERSONAJE { $char_id = $var1; $account_id = $var2; $CACHED->kickCharacter($char_id); $respuesta = $CACHED->enableCharacter($char_id,$account_id); RegistrarActividad("enableCharacter",$respuesta,GetCharNameByCharId($char_id)."(".$char_id.")",$account_id,0,0,0); } //-------------------------------------------------------------------------------- $CACHED->disableCharacter($char_id); $tabla = sqlsrv_query($conexion_lin2world, "UPDATE user_data SET xxxxxxxxxxxx WHERE char_id=".$char_id.""); $CACHED->enableCharacter($char_id,$account_id); Now just compare the stupidity said by that imbecile @Nightw0lf with the answer I gave you... Thanks to people like this, MaxCheaters is in the state it's in... They keep following useless people who are good for nothing 😉  
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock