Jump to content

Recommended Posts

Posted

I downloaded hLaPEx and start it and then start L2. Everything works I can see Server/Client trafic on the official servers (and PTS).

 

I have also tried to send a server string by using hLaPEx -> server but nothing happens.

 

So the question is: Is it possible to use hLaPEx on L2 offical servers or is it somehow locked?

 

Thx for your reply

 

 

 

(and yes, I have tried a search, but I could not find a clear answer)

Posted

yes you can use it on the official I have been trying and it works, but it is about the same as for the private servers, if you are gonna try for the overbuff or multiclass its not working on Retail, Ive tried, and well... thats pretty obvious it wouldnt work but it was worth a try, as far as I know there aint that much holes in retail wich can make you a "super char" or rich as hell, but there are ways of bypassing stuff on official yes, so the final answer is, yes it do work

Posted

I'v tried it a little more.... on the PTS, and I am able to replicate all normal actions, like pickup, drop item, buy item, sell item and such.

 

But so far I havent found any kind of "bypass" or so, but I will test some more

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

    • I open the l2j server and see 1. XOR->NewCrypt.encXORPass(raw, offset, size, Rnd.nextInt()); ---> xor everything is clear 2. _staticCrypt.crypt(raw, offset, size); -----> private void encryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex) { int xl = bytesTo32bits(src, srcIndex); int xr = bytesTo32bits(src, srcIndex + 4); xl ^= P[0]; for (int i = 1; i < ROUNDS; i += 2) { xr ^= func(xl) ^ P[i]; xl ^= func(xr) ^ P[i + 1]; } xr ^= P[ROUNDS + 1]; bits32ToBytes(xr, dst, dstIndex); bits32ToBytes(xl, dst, dstIndex + 4); }   I scroll down the code and see this code   ----->>> /**      * Decrypt the given input starting at the given offset and place the result in the provided buffer starting at the given offset. The input will be an exact multiple of our blocksize.      * @param src      * @param srcIndex      * @param dst      * @param dstIndex      */     private void decryptBlock(byte[] src, int srcIndex, byte[] dst, int dstIndex)     {         int xl = bytesTo32bits(src, srcIndex);         int xr = bytesTo32bits(src, srcIndex + 4);         xl ^= P[ROUNDS + 1];         for (int i = ROUNDS; i > 0; i -= 2)         {             xr ^= func(xl) ^ P[i];             xl ^= func(xr) ^ P[i - 1];         }         xr ^= P[0];         bits32ToBytes(xr, dst, dstIndex);         bits32ToBytes(xl, dst, dstIndex + 4);     }   ===================================================   I'm transferring this code to C# private void decryptBlock(byte[] src, uint srcIndex, byte[] dst, uint dstIndex)    {        uint xl = BytesTo32bits(src, srcIndex);        uint xr = BytesTo32bits(src, srcIndex + 4);        xl ^= P[ROUNDS + 1];        for (int i = ROUNDS; i > 0; i -= 2)        {            xr ^= F(xl) ^ P[i];            xl ^= F(xr) ^ P[i - 1];        }        xr ^= P[0];        Bits32ToBytes(xr, dst, dstIndex);        Bits32ToBytes(xl, dst, dstIndex + 4);    }   And in c# I first do decryptBlock and then XOR and everything works, I get the package and the first 2 bytes have already been removed as far as I remember   This only works for the login server for the game server, I think it’s not much different  
    • Ask him what you know, and what I know hahaha.
    • https://prnt.sc/2G_hOHfUIGLM   not sure what you mean Teddy boi  
    • Hello first of all thank you for your prompt response and the time you are taking to read this and answer, I am aware that not everyone takes the time and for that I thank you. On the other hand the specific problem is when decrypting this package and being able to parse it,  In some places it says that it is only encrypted with xor, in others that only a static blowfish is used and in others that both are used in the order of xor and then blowfish, this is the problem in spite of being able to see the encryption mechanisms of the servers, I can not put together the function that reverses this encryption to obtain the keys sent by the init packet.   Thanks for your time, hopefully the rest can contribute something because it is a super useful module to extend any functionality to the client and I will publish it in an opensource way when it is finished.
  • Topics

×
×
  • Create New...