Jump to content
Ind

Hercules WPE Free - June 14th Patch

Recommended Posts

Hello dastgir sir,

 

disabled packet encryption < -- unchecked or unmarked @ nemo,,

i changed the packet keys of 2012-04-04 or 2012-02-07, i get it from http://www.robrowser.com/prototype/packet-keys/

and put them on trunk/src/map/packet.h

 

 

addition. i also did this

 

"If

you're using NEMO v.2.0 or newer, it's pretty easy to do it when hexing

your client. Just enable the three "Packet __ Key Encryption" patches,

and input the desired values.

 

Then

edit your src/map/packets.h, adding a line like this near the end of

your file (replacing FIRSTKEY, SECONDKEY and THIRDKEY as appropriate):

 

 // Add me before the '#endif /* _MAP_PACKETS_H */' line

packetKeys(0xFIRSTKEY,0xSECONDKEY,0xTHIRDKEY);´

 

result is this:

 

#endif

 

packetKeys(0x1D373F5D,0x5ACD604D,0x1C4D7C4D);

 

#endif /* MAP_PACKETS_H */

 

Altermatively,

if you don't want to edit source files, and you're compiling through

./configure and make, you can use the following (again, replace with

your actual keys):

 

./configure --with-key1=0xFIRSTKEY --with-key2=0xSECONDKEY --with-key3=0xTHIRDKEY

conf/battle/client.conf:

packet_obfuscation: 

^ Maybe you have it 0, change to 2.

 

(Also if possible , post screenshot of the error, so its easy to know what's the exact error)

 

(And if possible open new topic, instead posting in this news topic)

Share this post


Link to post
Share on other sites

@@Haru What if I use this tool http://www.robrowser.com/prototype/packet-keys/ then I copy existing values (of a specific client date) but changing randomly some numbers?

 

For example, for the 20141022 default keys are:

 

0x290551EA
0x2B952C75
0x2D67669B

 

Just changing them a little bit:

0x290552EA

0x2B951C75
0x2D67679B

The tool says "Passed" but my questions are: does it makes sense? are my keys strong enough?

Edited by Nagad

Share this post


Link to post
Share on other sites

@@Haru What if I use this tool http://www.robrowser.com/prototype/packet-keys/ then I copy existing values (of a specific client date) but changing randomly some numbers? For example, for the 20141022 default keys are: 0x290551EA0x2B952C750x2D67669B Just changing them a little bit:0x290552EA0x2B951C750x2D67679BThe tool says "Passed" but my questions are: does it makes sense? are my keys strong enough?

If it shows passed, that means its strong, you can use those

Share this post


Link to post
Share on other sites

how bout for 20130807 ? 

 

i already added this

 

#if PACKETVER >= 20130807

 

packetKeys(0x7E241DE0,0x5E805580,0x3D807D80);

 

#ifdef PACKETVER_RE

#else

#endif // PACKETVER_RE

#endif

 

 

also 

 

// Whether to enable the official packet obfuscation support (good vs WPE)
// 0: disabled
// 1: optional (not recommended) -- identifies whether it is required
// 2: enabled (recommended)
packet_obfuscation: 2
 
and added at diff 
first, second and third as 7E241DE0,5E805580 and 3D807D80 using nemo patcher v2.5...
 
also im running pre-renewal...
 
but rpe is still working on my server.. where did i miss?
Edited by jaiko23

Share this post


Link to post
Share on other sites

 

how bout for 20130807 ? 

 

i already added this

 

#if PACKETVER >= 20130807

 

packetKeys(0x7E241DE0,0x5E805580,0x3D807D80);

 

#ifdef PACKETVER_RE

#else

#endif // PACKETVER_RE

#endif

 

 

also 

 

// Whether to enable the official packet obfuscation support (good vs WPE)
// 0: disabled
// 1: optional (not recommended) -- identifies whether it is required
// 2: enabled (recommended)
packet_obfuscation: 2
 
and added at diff 
first, second and third as 7E241DE0,5E805580 and 3D807D80 using nemo patcher v2.5...
 
also im running pre-renewal...
 
but rpe is still working on my server.. where did i miss?

 

check this http://www.robrowser.com/prototype/packet-keys/

 

20130807
0x7E241DE0 0x5E805580 0x3D807D80
BROKEN (4)

Share this post


Link to post
Share on other sites

Use custom keys if its broken..

You can diff custom keys using nemo

And then change it in src/maps/packets.h

Share this post


Link to post
Share on other sites

Use custom keys if its broken..

You can diff custom keys using nemo

And then change it in src/maps/packets.h

 

or use

./configure --with-key1=0xFIRSTKEY --with-key2=0xSECONDKEY --with-key3=0xTHIRDKEY

if you use /configure and make

Share this post


Link to post
Share on other sites

Just check this page, and if default keys for your date i broken (and they are), just choose ones that are not. Like these ones:

0x434115DE 0x34A10FE9 0x6791428E
Edited by Garr

Share this post


Link to post
Share on other sites

 

Just check this page, and if default keys for your date i broken (and they are), just choose ones that are not. Like these ones:

0x434115DE 0x34A10FE9 0x6791428E

as I think the hexed keys 20100730 ??

Share this post


Link to post
Share on other sites

 

@@xlaws27 you can experiment any combination unless it will passed

hmm i just random number and letters? hahaa
Be sure its in hexadecimal:

Valid Range: 0-9 and A-F

Share this post


Link to post
Share on other sites

I'm using the 2013-08-07 client.

 

I've modified the required files as per the instructions in this topic. [Diffed in 3 working keys using NEMO, edited client.conf and edited packets.h]

My client connects to the server without any errors, but I'm still able to spam skills/packets using WPE.

 

I think someone did mention earlier that this client doesnt work, but I don't think anybody confirmed it.

Does this mean that the 2013-08-07 client is definitely not compatible with the feature?

 

It would be a shame if one of the most stable clients didn't support the best Hercules feature. :(

 

 

 

--------------------------

EDIT

--------------------------

 

Nvm..

I got it to work on the 2013-08-07 client.

Tried changing the keys a few times. 4th time was the charm.

 

If any of the previous posters who had issues with the 2013-08-07 client are still interested, these are the keys I used -

 

1581359

55F86C1E

6AFB6E2E

 

I don't know if these are strong enough or not, because I didn't quite understand the concept of strong/weak keys.

But they passed the test here - http://www.robrowser.com/prototype/packet-keys/ , so I guess they should be good enough.

 

A big thanks to all those who contributed to developing this feature as well as all those who provide support for it on these forums.

 

And I guess someone could update the list of compatible clients on the first post.. :D

Edited by malbari911

Share this post


Link to post
Share on other sites

Those keys aren't all that strong. Stronger than the ones that originally came with the 2013-08-07 client, but still weak. They don't seem to pass the test at the URL you posted.

Share this post


Link to post
Share on other sites

Those keys aren't all that strong. Stronger than the ones that originally came with the 2013-08-07 client, but still weak. They don't seem to pass the test at the URL you posted.

any tip for a strong key? like which letter/number to use or start with?

Share this post


Link to post
Share on other sites

You can generate your own custom packet keys and check how strong it is by using this tool by Nanakiwurtz.

 

Nkwz RO Toolkit

woah thank you for this I just got my packet key

 

may I have a few question please?

1. let's say, my packetkey passed on http://www.robrowser.com/prototype/packet-keys, will I be able to use it on all clients?

2. how can I determine  if the packet key is strong?

3.  what does lteration means?

Share this post


Link to post
Share on other sites

1. If the key passes the test on that URL, you can use it on all clients, yes (provided that you compile Hercules with the same key)

 

2. That URL will tell you. I don't really know how to generate a strong key, but I observed that the second key must be an odd number (ending with 1, 3, 5, 7, 9, B, D, F). If it's an even number, it will repeat after a few iterations. Not all the sets with an odd key are strong, but all sets where the second key is even, are weak (that happens because of the key schedule function that Gravity uses).

 

3. I'll try to explain it briefly.

After each packet sent, the client (and the server), applies a function to the current encryption (sub-)key to make it different for each packet sent (this is what prevents tools such as WPE from working for packet spamming, because if the key changes, a packet can't be re-played as it is).

Each packet will be a different encryption/decryption sub-key, which is derived from the three original keys, by applying some sort of mathematical function (this is called the key schedule). The page you linked, runs the key schedule algorithm over and over (iterates it) several times, checking if the encryption sub-key changes every time. When it detects that the key didn't change, it reports a failure. The iteration number is how many times the key schedule function was applied before it started repeating the same key.

 

I hope it makes any sense :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.