127.0.0.1 34 Posted December 13, 2016 Share Posted December 13, 2016 My name is ramy, I'm a junior programmer with experience of about two years in (STL , boost .. and soo on ) I live Netherlands since 10 years, but i was born in USA Now I'll show you how you can protect your tea-keys against hackers. I love very much c ++ 11 / c ++ 17, so the codes will only work with Visual Studio 2013 or higher. I saw someone selling it, so I thought to give you something better, I think. I came to this forum because someone hired me to work on his server and he recommended me to come here if I need help, ever. Firstly include those two STL headers intro EterPack.h #include <cstdint> #include <array> EterPack.h struct TeaKey { // Date: 01 . 12 . 2016 // Author: Ramy overflow TeaKey(std::array<DWORD, 4>src): data_(src), copy(src) {} operator const std::uint8_t *()const { return reinterpret_cast<const std::uint8_t *>(data_.data()); } operator const DWORD *()const { return data_.data(); } operator DWORD *()const { return copy.data(); } private: std::array<DWORD, 4>data_; mutable std::array<DWORD, 4>copy; }; EterPack.cpp const TeaKey &s_adwEterPackKey() { // Date: 01 . 12 . 2016 // Author: Ramy overflow static const TeaKey key { std::array < DWORD, 4 > {{ 45129401UL, 92367215UL, 681285731UL, 1710201UL, } } }; return key; } const TeaKey &s_adwEterPackSecurityKey() { // Date: 01 . 12 . 2016 // Author: Ramy overflow static const TeaKey key { std::array < DWORD, 4 > {{ 78952482UL, 527348324UL, 1632942UL, 486274726UL, } } }; return key; } And now search for all s_adwEterPackKey / s_adwEterPackSecurityKey and replace with s_adwEterPackKey() / s_adwEterPackSecurityKey() so just add an () because it's a function Sincerely , Ramy overfow 3 Link to comment Share on other sites More sharing options...
Active Member Exygo 1091 Posted December 13, 2016 Active Member Share Posted December 13, 2016 Maybe they need #include <cstdint> too ? https://www.youtube.com/channel/UCQ8mAeda9TWq6SsTzB53emw/videos Link to comment Share on other sites More sharing options...
127.0.0.1 34 Posted December 13, 2016 Author Share Posted December 13, 2016 1 minute ago, Exygo said: Maybe they need #include <cstdint> too ? #include <cstdint> #include <array> Link to comment Share on other sites More sharing options...
Active Member Exygo 1091 Posted December 13, 2016 Active Member Share Posted December 13, 2016 And by the way you wrote s_adwEterPackKey() / s_adwEterPackKey() 2 times https://www.youtube.com/channel/UCQ8mAeda9TWq6SsTzB53emw/videos Link to comment Share on other sites More sharing options...
Premium tierrilopes 452 Posted December 13, 2016 Premium Share Posted December 13, 2016 Whats the problem doing a tutorial even if its a free alternative to a paid service? Link to comment Share on other sites More sharing options...
Premium Galet 510 Posted December 13, 2016 Premium Share Posted December 13, 2016 Great tutorial ! I use another method of obfuscation (more than one it's pretty complex) but I'll use this one completely or just some parts, great ! Link to comment Share on other sites More sharing options...
z35 170 Posted December 13, 2016 Share Posted December 13, 2016 Thanks for the tutorial! I'll definitely use it ! Link to comment Share on other sites More sharing options...
MORTE 78 Posted December 14, 2016 Share Posted December 14, 2016 (edited) This method is better than this ? https://metin2.download/picture/s9Apo27qmFUw397lP8d34Q53Z1mcC08p/.png Edited August 24, 2022 by Metin2 Dev Core X - External 2 Internal 1 1 1 2 Link to comment Share on other sites More sharing options...
Premium North 1175 Posted December 14, 2016 Premium Share Posted December 14, 2016 So this basically just hide xteas and magic ? So the scriptkiddie cant easily get them to decrypt right? Thanks tho for the relase man, really appreciated. Link to comment Share on other sites More sharing options...
127.0.0.1 34 Posted December 16, 2016 Author Share Posted December 16, 2016 On 14.12.2016 at 5:22 AM, Fleon said: So this basically just hide xteas and magic ? So the scriptkiddie cant easily get them to decrypt right? Thanks tho for the relase man, really appreciated. Yes , just hide (Not encryption). Link to comment Share on other sites More sharing options...
TheGameDeveloper 55 Posted August 8, 2017 Share Posted August 8, 2017 How to encrypt lzo ? Link to comment Share on other sites More sharing options...
PeaceMaker 121 Posted October 24, 2017 Share Posted October 24, 2017 (edited) On 12/14/2016 at 3:25 AM, MORTE said: This method is better than this ? https://metin2.download/picture/NNbe1NTAeOPDEVFVG22ikaVuxmUwrxLH/.png On 12/13/2016 at 6:56 PM, 127.0.0.1 said: My name is ramy, I'm a junior programmer with experience of about two years in (STL , boost .. and soo on ) I live Netherlands since 10 years, but i was born in USA Now I'll show you how you can protect your tea-keys against hackers. I love very much c ++ 11 / c ++ 17, so the codes will only work with Visual Studio 2013 or higher. I saw someone selling it, so I thought to give you something better, I think. I came to this forum because someone hired me to work on his server and he recommended me to come here if I need help, ever. Firstly include those two STL headers intro EterPack.h #include <cstdint> #include <array> EterPack.h struct TeaKey { // Date: 01 . 12 . 2016 // Author: Ramy overflow TeaKey(std::array<DWORD, 4>src): data_(src), copy(src) {} operator const std::uint8_t *()const { return reinterpret_cast<const std::uint8_t *>(data_.data()); } operator const DWORD *()const { return data_.data(); } operator DWORD *()const { return copy.data(); } private: std::array<DWORD, 4>data_; mutable std::array<DWORD, 4>copy; }; EterPack.cpp const TeaKey &s_adwEterPackKey() { // Date: 01 . 12 . 2016 // Author: Ramy overflow static const TeaKey key { std::array < DWORD, 4 > {{ 45129401UL, 92367215UL, 681285731UL, 1710201UL, } } }; return key; } const TeaKey &s_adwEterPackSecurityKey() { // Date: 01 . 12 . 2016 // Author: Ramy overflow static const TeaKey key { std::array < DWORD, 4 > {{ 78952482UL, 527348324UL, 1632942UL, 486274726UL, } } }; return key; } And now search for all s_adwEterPackKey / s_adwEterPackSecurityKey and replace with s_adwEterPackKey() / s_adwEterPackSecurityKey() so just add an () because it's a function Sincerely , Ramy overfow so which method is betteR ? or both are shit ? xD Edited August 24, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Tasho 243 Posted October 24, 2017 Share Posted October 24, 2017 3 hours ago, PeaceMaker said: so which method is better? 3 hours ago, PeaceMaker said: both are shit xD Link to comment Share on other sites More sharing options...
PeaceMaker 121 Posted October 24, 2017 Share Posted October 24, 2017 Just now, Tasho said: an answer in a quote !!!!!! Brilliant 1 Link to comment Share on other sites More sharing options...
Recommended Posts