Dastgir 1246 Posted July 9, 2015 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) Quote Share this post Link to post Share on other sites
PonyVPS 3 Posted July 9, 2015 Alright Sir, I'll make a new post now Quote Share this post Link to post Share on other sites
PonyVPS 3 Posted July 12, 2015 Hello, If its fine for you guys to Share a configured Herc SVN + Client working with this anti wpe patch , that would be cool. Quote Share this post Link to post Share on other sites
Nagad 1 Posted July 15, 2015 (edited) @@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 0x2B951C750x2D67679BThe tool says "Passed" but my questions are: does it makes sense? are my keys strong enough? Edited July 15, 2015 by Nagad Quote Share this post Link to post Share on other sites
Dastgir 1246 Posted July 15, 2015 @@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 1 Nagad reacted to this Quote Share this post Link to post Share on other sites
jaiko23 1 Posted July 17, 2015 (edited) 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 July 17, 2015 by jaiko23 Quote Share this post Link to post Share on other sites
Noil 1 Posted August 15, 2015 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) Quote Share this post Link to post Share on other sites
Dastgir 1246 Posted August 16, 2015 Use custom keys if its broken.. You can diff custom keys using nemo And then change it in src/maps/packets.h Quote Share this post Link to post Share on other sites
Noil 1 Posted August 17, 2015 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 Quote Share this post Link to post Share on other sites
bashjessy 1 Posted October 19, 2015 1 question...what if the hacker hooks the client skill send() function and make the client process the packet id generation? Is there any way to stop him doing that? Quote Share this post Link to post Share on other sites
cumbe11 1 Posted November 9, 2015 queria muito usar isso no hexed 20100730 Quote Share this post Link to post Share on other sites
cumbe11 1 Posted November 13, 2015 essas mods pega no eathena? Quote Share this post Link to post Share on other sites
xlaws27 3 Posted November 30, 2015 can someone share a packet keys for 2013-08-07? i dont know how to make one .. Quote Share this post Link to post Share on other sites
Garr 117 Posted November 30, 2015 (edited) 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 November 30, 2015 by Garr Quote Share this post Link to post Share on other sites
cumbe11 1 Posted November 30, 2015 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 ?? Quote Share this post Link to post Share on other sites
Kuya Jeo 120 Posted November 30, 2015 @@xlaws27 you can experiment any combination unless it will passed Quote Share this post Link to post Share on other sites
xlaws27 3 Posted December 2, 2015 @@xlaws27 you can experiment any combination unless it will passed hmm i just random number and letters? hahaa Quote Share this post Link to post Share on other sites
Dastgir 1246 Posted December 2, 2015 @@xlaws27 you can experiment any combination unless it will passedhmm i just random number and letters? hahaaBe sure its in hexadecimal:Valid Range: 0-9 and A-F Quote Share this post Link to post Share on other sites
malbari911 0 Posted December 9, 2015 (edited) 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.. Edited December 9, 2015 by malbari911 Quote Share this post Link to post Share on other sites
Haru 290 Posted December 9, 2015 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. Quote Share this post Link to post Share on other sites
xlaws27 3 Posted December 9, 2015 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? Quote Share this post Link to post Share on other sites
Legend 43 Posted December 9, 2015 (edited) You can generate your own custom packet keys and check how strong it is by using this tool by Nanakiwurtz. Nkwz RO Toolkit Edited December 9, 2015 by Legend Quote Share this post Link to post Share on other sites
xlaws27 3 Posted December 9, 2015 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? Quote Share this post Link to post Share on other sites
Haru 290 Posted December 9, 2015 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 2 Legend and jowy reacted to this Quote Share this post Link to post Share on other sites
Legend 43 Posted December 9, 2015 Thanks for this great explanation sir, @@Haru Quote Share this post Link to post Share on other sites