Ind 945 Posted June 14, 2013 (edited) Hercules WPE Free - June 14th Patch Made Possible Thanks to Yommy We're only able to provide you with this feature thanks to Yommy, Thank you very much! WPE Free - Official Packet Obfuscation Support Packet spamming is no longer possible by normal means, with this feature each packet sent has its own id, so spamming (by sending the same packet more than once) is impossible. For this feature to function you MUST NOT use the 'disable packet obfuscation' client diff. conf/battle/client.conf // 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: <value> Currently functional for over 44 clients (Thanks to Shakto!): 20110817, 20110824, 20110831, 20110906, 20111005, 20111012, 20111021, 20111025, 20111102, 20111109, 20111122, 20111207, 20111214, 20111220, 20111228, 20120104, 20120111, 20120120, 20120202, 20120207, 20120214, 20120229, 20120307, 20120314, 20120321, 20120328, 20120404, 20120410, 20120418, 20120424, 20120509, 20120515, 20120525, 20120605, 20120612, 20120618, 20120702, 20120716, 20130320, 20130514, 20130522, 20130529, 20130605, 20130612, 20130618 Currently functional for over 44 clients (Thanks to Shakto!): 2011-08-17 - 2015-05-13 Special Thanks to Yommy ..Yommy ...The all-awesome Yommy~! Thank you again! Shakto for the 44 PacketKeys! Also - SQL DB Updates & DB2SQL For logical and performance reasons we've modified the structure of the renewal item db tables, atk and matk no longer share the same column, equip_level was replaced by equip_level_min so that we could add equip_level_max which is required by new renewal items. Note however that because of the previous atk:matk format, it was not possible to provide a upgrade file that would save the matk data Item script errors from sql dbs used to point to a inexistent line number, it was modified to display the item id instead. This update has shrunk the sizes of the item db .sql files, making it possible for tools such as phpmyadmin to parse them, once again. With this patch we're also introducing a new official plugin, db2sql, its purpose is to make it easier for our developers to keep the .sql db files up to date (but you may use that to convert your own if you so desire, too), to use this plugin (when it is enabled in plugins.conf) type server tools db2sql in the console. Link~u! Commit 1 Commit 2 Edited February 7, 2017 by Ridley 16 Yoh Asakura, malufett, anacondaq and 13 others reacted to this Quote Share this post Link to post Share on other sites
hemagx 69 Posted June 14, 2013 you awesome ! ~ Quote Share this post Link to post Share on other sites
Yommy 265 Posted June 14, 2013 for anyone who requires, the 3 keys are hardcoded to each client, you can search the keys in hex editor and modify for something unique. for those with IDA / OllyDBG, the keys are pushed just before the PACKET_CZ_ENTER reference (not the actual string) .text:007962A7 0F 84 77 FC FF FF jz loc_795F24 .text:007962AD 8B 0D 04 0F 98 00 mov ecx, dword_980F04 .text:007962B3 68 05 22 05 22 push 22052205h // key 3 .text:007962B8 68 05 22 05 22 push 22052205h // key 2 .text:007962BD 68 05 22 05 76 push 76052205h // key 1 .text:007962C2 E8 A9 64 E3 FF call sub_5CC770 .text:007962C7 68 6C 30 89 00 push offset aPacket_cz_ente ; "PACKET_CZ_ENTER" .text:007962CC E8 6F 19 C7 FF call nullsub_1 .text:007962D1 B9 2D 02 00 00 mov ecx, 22Dh .text:007962D6 83 C4 04 add esp, 4 .text:007962D9 66 89 4C 24 48 mov word ptr [esp+3ECh+cp+2], cx 5 jaBote, adam62, Ind and 2 others reacted to this Quote Share this post Link to post Share on other sites
Neo-Mind 264 Posted June 14, 2013 Just an update the structure is a bit different in the new clients. The 3 key pushes comes up a lot of instructions before push PACKET_CZ_ENTER. so just scroll up a bit once you find 68 6C 30 89 00 (push offset aPacket_cz_ente) 1 Ind reacted to this Quote Share this post Link to post Share on other sites
Dastgir 1246 Posted June 14, 2013 . Amazing patch. Great work Ind and Yommy. Quote Share this post Link to post Share on other sites
Takumirai 1 Posted June 14, 2013 This is sooo helpfulllll in all server owners.. Quote Share this post Link to post Share on other sites
EriNa_KillerSoul 9 Posted June 14, 2013 Yes!niCe! Quote Share this post Link to post Share on other sites
Takumirai 1 Posted June 14, 2013 If WPE are now able to counter, - im hoping and looking forward also for DDos Protection.. Quote Share this post Link to post Share on other sites
Patskie 88 Posted June 14, 2013 If WPE are now able to counter, - im hoping and looking forward also for DDos Protection.. DDOS will not be covered by the hercules dev and staff. It's the duty of your hosting to provide ddos protection since it's a hardware related and this project is a software related. Quote Share this post Link to post Share on other sites
Shakto 45 Posted June 14, 2013 A thing is missing : The possibility to configure our own packet key (3 key) in the conf file Quote Share this post Link to post Share on other sites
thanna 11 Posted June 15, 2013 this is very cool Quote Share this post Link to post Share on other sites
Jedzkie 58 Posted June 15, 2013 Even RPE blocks this update? Quote Share this post Link to post Share on other sites
Ind 945 Posted June 15, 2013 Yes, anything that may be used to send packets outside of the client will not function (if you send as much as 1 packet outside of the client the formula in the client and in the server will go off, and the server will disconnect you in the next packet). Quote Share this post Link to post Share on other sites
pajodex 0 Posted June 15, 2013 can be used on rA? Quote Share this post Link to post Share on other sites
Dastgir 1246 Posted June 15, 2013 can be used on rA?You have to convert it to rA compatible and patch it. Quote Share this post Link to post Share on other sites
pajodex 0 Posted June 15, 2013 can be used on rA?You have to convert it to rA compatible and patch it. any one who can convert this to rA? badly need it Quote Share this post Link to post Share on other sites
Yommy 265 Posted June 15, 2013 either request at rAthena to convert it, or change to using Hercules Hercules devs will not create this for rAthena o_O 8 Mystery, ScriptingPhailure, cJei and 5 others reacted to this Quote Share this post Link to post Share on other sites
mofo 2 Posted June 16, 2013 I'm using 07162012 ragexe and if I diff the client with "Disable Nagle Algorithm" I get disconnected at random times or whenever I try to disband my guild. So I would suggest that people uncheck that diff. This maybe an isolated case, but that's how it was for me. Tested with different diff combinations and removing that one along with skip packet obfuscation seems to fix the issue. Quote Share this post Link to post Share on other sites
Mystery 594 Posted June 16, 2013 I'm using 07162012 ragexe and if I diff the client with "Disable Nagle Algorithm" I get disconnected at random times or whenever I try to disband my guild. So I would suggest that people uncheck that diff. This maybe an isolated case, but that's how it was for me. Tested with different diff combinations and removing that one along with skip packet obfuscation seems to fix the issue. Does this occur on a clean version of Hercules? Quote Share this post Link to post Share on other sites
mofo 2 Posted June 16, 2013 I'm using 07162012 ragexe and if I diff the client with "Disable Nagle Algorithm" I get disconnected at random times or whenever I try to disband my guild. So I would suggest that people uncheck that diff. This maybe an isolated case, but that's how it was for me. Tested with different diff combinations and removing that one along with skip packet obfuscation seems to fix the issue. Does this occur on a clean version of Hercules? I don't have src mods. I only have custom npcs and edits to the import files. I even did a fresh checkout of packets.h to make sure I have the latest version from the main branch. For now, I would say that the anti-WPE feature is a little overprotective. Sometimes, clicking an npc - move - click npc again results in disconnection. Of course this will require further testing because it's too early to confirm or disprove my findings. And I love this emulator for rolling out updates that makes so much sense. So, salut! Quote Share this post Link to post Share on other sites
Zopokx 7 Posted June 16, 2013 Hercules devs will not create this for rAthena o_O 1 ScriptingPhailure reacted to this Quote Share this post Link to post Share on other sites