Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2017
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.97 KB | None | 0 0
  1. // General shit
  2. #include "DLLMain.h"
  3. #include "Utilities.h"
  4.  
  5. // Injection stuff
  6. #include "INJ/ReflectiveLoader.h"
  7.  
  8. // Stuff to initialise
  9. #include "Offsets.h"
  10. #include "AntiLeak.h"
  11. #include "Interfaces.h"
  12. #include "Hooks.h"
  13. #include "RenderManager.h"
  14. #include "Hacks.h"
  15. #include "Menu.h"
  16. #include "MiscHacks.h"
  17. #include "Dumping.h"
  18. #include "AntiAntiAim.h"
  19. #include "hitmarker.h"
  20. #include <tchar.h>
  21.  
  22. int LBYBreakerTimer;
  23.  
  24.  
  25. // Used as part of the reflective DLL injection
  26. extern HINSTANCE hAppInstance;
  27.  
  28. // Our DLL Instance
  29.  
  30. class ZzHEqwBhdXgaTIsTKKPzRzVcRQxiFiRfijwuHOYNDsJplicFzbLFYwcCDFNBYsDVfbSKmXlWMbVAPGQIORKDylgNhTRcbz {
  31. void kPOjkqtsBPOTXADNXOeMgIayUUeCtgjVnmLKbxGqwAjNKtjmGgUoWMJDOppqlRZuGTGLPSMChNqIzmOBLRWllVYCFh() {
  32. double dkYexaIebTDtxVCmzLGYGnnIWOtCNOPknEUbDDwyNAaCAsCtuTySaElQXqiJHgqneqfTbALWoilgmMhEmagTpWkKsddl = -4.144774E+18;
  33. int ScPqkHLPobRgwAKZbANfbWjmRXNNiONcnwEwNkgXnLaXBynNaPsTGhAWTDBnUXHCnOTZVomQtQRqWlNt = 333827;
  34. if (ScPqkHLPobRgwAKZbANfbWjmRXNNiONcnwEwNkgXnLaXBynNaPsTGhAWTDBnUXHCnOTZVomQtQRqWlNt == 416310) {
  35. ScPqkHLPobRgwAKZbANfbWjmRXNNiONcnwEwNkgXnLaXBynNaPsTGhAWTDBnUXHCnOTZVomQtQRqWlNt = 881431;
  36. }float VHCjLTdpezJMFnRMCCBQpiaIPgFTkmfupMdoNcfAMClyDaOwiaSUtIRMHUwEojfSt = -4.169116E-07F;
  37.  
  38. }void HFYKOAFyiRbxUObPHSHdgdmAaCYiuJWaoWiXNNdgWtjJFWqLittqJWZDszJlCxdB() {
  39. long eUsLLSzGoKkCMXeqtdIwpMAAIPgweakklWSTNQhsxEnRABzxxVCdRVwtuSdVMcCnzapPflEDVpYNyIZhqKZizgup = 49967506562349458;
  40.  
  41. }void ZsAjJqkqZhCXJVMTWEcdsQsHanHNJQJLELzpBXJsORAYSsSENbRJEqKjaTjwL() {
  42. double iARuYyxsYVKoCptOIxdZIYaglanoHNmIpipAbYTfpJSNTciTIfCYIzakzKhXjhMlJbYsZTNKDXJYfmnjSuICk = -5.161945E-39;
  43. short SpcfbPVTQgJMHLPYHaVXYPIoaGcZScnHcICMddSdAaRURoSzHhwBXkudIOewNVaNTcKZjdUDhS = -2059;
  44. long zhaGbRDZYVjXKcdtRpbHpiQjSCIkEEaeaAZtzpxuwcqTiLmgaFRksJDoqQOAjqxuVeWkcKUCUHlnRXbgoBjZNPNsWLcJD = 65141307703443980;
  45.  
  46. }void dqKoqLxoyuPIkJgyIfsEosIlZYxhIVYXqnyToyzbWHmIUVLBXioSMlNMKzpsn() {
  47. long DwRpXlnhkIpIJeZqemVjAHgkfBLjQhfNHYLldFOnJadkxFeHKgkftehWoGkxCesdCDaKuOnAzHCADVPCxdAJW = 85432855451183884;
  48. long EIaJTEwmWTMHMEJutQJZyGJgChzSGRQfgUXRCmVXbREQktJYhuDHLspYZTgLeDHecHBRGRSgUMXGbSWiABLlniuOE = 82763110979786118;
  49. double ETRtqDxNZuKXhWYlFSuQUlMnHajZKSzuDfsoIgtKSxutTbKLhZnIQJTsgENpsxcgWoucFJEyzLYyRtuFpzRLFRFUl = -1.271054E-26;
  50. float mdyRbLsTgREYWNOMisXRukqClcOxmqaegFRsVLcTEWQSPutbUNazDEBbMWFYWVHQQzSqVxQyodnyuzNRKNDApDCDePGZge = 9.328451E+11F;
  51. long bpDcfyWEizocHmiNnjtgAnXolgRQqjhGguyyoIHeDNtcnchsRtQMojBNsnQZ = 7397506149424237;
  52.  
  53. }void AysmiyEpoPGWllktHbFnnXKHnCRYMplSCCuHSahUCCtYFMcdbxkiFnhCNMYHHGFYENuLRFBGULMM() {
  54. long hAwpCpFOuzAWeRwBaVqEJiaVIFTkEwUhoeJlAenoIiCkeMIozFicHMkZzAIWytjZEqHaijaVHbWAHQRWWENZlSBETJOZxs = 79348120124954712;
  55.  
  56. }
  57. };
  58.  
  59. class oEmxGPLtIJLaTHkNMQdgAwaAojJBfidSoyzwYwVPhpgpLqZHOPWWbBHTDOhwfjnzG {
  60. void LwiPOpVnYjoLOXjcNqmgROQFTknAJYcILSHEzZaGbNDyFSZjldyXlzbXFEWEbwFahIZWqGEOpHedltaakdnGBexlQJYUc() {
  61. float HiCoXTdTGAKHFtXLlEVsYhZAclNfIHKLTczVKedhhkIfRzRTSXNqheHAjclMfYlYQZNCUcbgBOkNATIFuU = -2.854843E+14F;
  62. int ItAxHuQgAmLpOJqXPLOIwPyaPfVRFGFbuWGihRgGkfhdOcPkMJntsFdSVAICAZCUJJWSciPXEhypHu = 7375;
  63. long KQTOmIjGgkEnwegXhDTpPjhOkBmVkOUGCxZgYoVhOXblNsZhGtDCcbxBJeDNwousqXNY = 68874014273832076;
  64. short bTCfoSlsEAaAyUMiNADJUPGbbGuKUpAFqNdKloZDgYtmXHDegzZcoBalmAeJyCynZwhLRcXyAaCWxtdudpDxpxpRMRyMkpf = 6942;
  65.  
  66. }void fmCARndCCEnYeQTwKGhYbXDfpZZGkmiVVwqgDVlcAVOTbSHbEpBLYHAhKxjSnzpoutdKzNTPteAgiKdy() {
  67. long cUNzXoVixfMuOaFAzJPXDQxMqTgsYasMAqxwDWxOOpqOdZqzDKkwIwulyahdhEjxOZUxFiXDlaimAJIqCJQoPXdeWkYCOsHkf = 18574589831312175;
  68. double AWLVbmQemBXsAxVlonmjzjFPseutUyhTMgJuKEhdfkaNcOGsKKwbeqEoqVEXS = -2.978029E-24;
  69. double LWYxnYyNxkzBdskShnmDFbMwUZyhJVzjKqZYXQbgcxDmqmWwcyeBhWkJkEDnCpeBNoRNsmVqlfBizzdHdbekQXcOfq = 4.689953E-10;
  70. byte aUtEgCyqLQuDbpaLQCHkOPzLoBWjIflKDVAHKVumtemlQsXYJqUALStkxInGFnJG = 148;
  71.  
  72. }void FWMnSAthAdFNYhHXGMtjJRuCDkfGCtbxtRxuFAgTKeoqAzGYNOuTUoeOCjMIuOHgbhuhMmtgFAAECccdGhTNYiCeM() {
  73. double wpYjdLnXRKLePFHPyDVBfCymQTDeKGDJKXxxzzRHmDHoOVwcuXReQauUSMujhjnlhbuRijpZMonDVh = -1.409226E+29;
  74. short VMEUAEVRENXyEPomGcWnMEDzJCfQabwCFSQCdLesiZGCDDiGHuTdZRGsjelXyfQDsxTLYNjU = 29342;
  75. float keatbjQuCXgZJhlFYfzaEpNLqCpuJLeHOkQQefAlwbnLUEkKERWNRwGUqocBTxLRTA = -0.0005640523F;
  76. long BTHmFCccROqGQSPqQtFWzPdZsZqySusNshpcgEQeRozoimGTbDKSTwXMPHVGkFjxwFnJCMjlDBei = 40440948678111653;
  77.  
  78. }void qwUHdMNpJfHUSDOOudTqQBCsqfwZuEIiAxyzcsYHyuCUypRnVeWhmRBRTCpXpOVeyywxepLb() {
  79. short TwYHVanhdoHBVIVHFBcaqJzxyaVwiGtVcbXfSlHoJiLGzXCOByLkYeUjWCjVfTYyWMyU = 12430;
  80. short kPBVqJFUPkZTcntuCMYUqKaZknbXWfSBMeaGaiwJKscMMdVLCNDzdmoBOCLdIIYKsAhYmOtspojZInmgtpxi = 3692;
  81. float zPBRAzsbcttumWWzOtjiOdoTAnEKslPgYcJiNWUUXnhHoUakxSIPtkIwAHqkVIJQElwjmOLRApkB = 5.944051E+13F;
  82. byte UjBFAfQQBTPUDlkCteTaACiYpxzZRhkWJaTKEnlqeGEFPWALtaluUdNtaCodIQYsJSkCt = 135;
  83.  
  84. }
  85. };
  86.  
  87. #include <iostream>
  88. #include <fstream>
  89. #include <stdint.h>
  90.  
  91. #include <stdio.h>
  92. #include <stdlib.h>
  93.  
  94. int main(int argc, char *argv[]) {
  95.  
  96. FILE *f;
  97. int i, c;
  98. char *arr_name;
  99.  
  100. if (argc < 2) {
  101. fprintf(stderr, "Koristenje: %s naziv_kriptirane_datoteke\n", argv[0]);
  102. return 1;
  103. }
  104.  
  105. f = fopen(argv[1], "rb");
  106. if (f == NULL) {
  107. fprintf(stderr, "%s: fopen(%s) nije uspio", argv[0], argv[1]);
  108. return 1;
  109. }
  110.  
  111.  
  112. freopen("shellcode.h", "w", stdout);
  113.  
  114. arr_name = "shellcode";
  115.  
  116. printf("unsigned char %s[] = {", arr_name);
  117.  
  118. for (i = 0;; i++) {
  119. if ((c = fgetc(f)) == EOF) break;
  120. if (i != 0) printf(",");
  121. if ((i % 12) == 0) printf("\n\t");
  122. printf("0x%.2X", (unsigned char)c);
  123. }
  124.  
  125. printf("\n\t};\n");
  126.  
  127. printf("unsigned int size = %i;\n", i);
  128.  
  129. fclose(f);
  130. fclose(stdout);
  131.  
  132. return 0;
  133. }
  134.  
  135. using namespace std;
  136.  
  137. unsigned int kljuc[4] = { 0xACB5,0x1344,0xEC90,0x285C };
  138. char red[1000];
  139. char txt[10000];
  140.  
  141. #define BLOCK_SIZE 8
  142.  
  143. void encipher(unsigned int num_rounds, uint32_t v[2], uint32_t const kljuc[4]) {
  144. unsigned int i;
  145. uint32_t v0 = v[0], v1 = v[1], sum = 0, delta = 0x9E3779B9;
  146. for (i = 0; i < num_rounds; i++) {
  147. v0 += (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + kljuc[sum & 3]);
  148. sum += delta;
  149. v1 += (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + kljuc[(sum >> 11) & 3]);
  150. }
  151. v[0] = v0; v[1] = v1;
  152. }
  153.  
  154. void decipher(unsigned int num_rounds, uint32_t v[2], uint32_t const kljuc[4]) {
  155. unsigned int i;
  156. uint32_t v0 = v[0], v1 = v[1], delta = 0x9E3779B9, sum = delta*num_rounds;
  157. for (i = 0; i < num_rounds; i++) {
  158. v1 -= (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + kljuc[(sum >> 11) & 3]);
  159. sum -= delta;
  160. v0 -= (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + kljuc[sum & 3]);
  161. }
  162. v[0] = v0; v[1] = v1;
  163. }
  164.  
  165. void crypto(char nazivDat[], bool naredba) {
  166. fstream dat(nazivDat, ios::in | ios::out | ios::binary);
  167. if (!dat) cout << "Datoteku nije bilo moguce otvoriti" << endl;
  168.  
  169. unsigned size;
  170.  
  171. dat.seekg(0, ios::end);
  172. size = dat.tellg();
  173. dat.seekg(ios::beg);
  174.  
  175. dat.clear();
  176.  
  177. unsigned pos;
  178.  
  179. int n_blocks = size / BLOCK_SIZE;
  180. if (size%BLOCK_SIZE != 0)
  181. ++n_blocks;
  182.  
  183. for (int i = 0; i<n_blocks; i++) {
  184. unsigned char data[BLOCK_SIZE];
  185. pos = dat.tellg();
  186.  
  187. dat.read((char*)data, BLOCK_SIZE);
  188.  
  189. if (naredba) encipher(32, (uint32_t*)data, kljuc);
  190. else decipher(32, (uint32_t*)data, kljuc);
  191.  
  192. dat.seekp(pos);
  193. dat.write((char*)data, BLOCK_SIZE);
  194.  
  195. memset(data, 0, BLOCK_SIZE);
  196. }
  197. dat.close();
  198. }
  199.  
  200.  
  201.  
  202.  
  203. void hexDump(char *desc, void *addr, int len)
  204. {
  205. int i;
  206. unsigned char buff[17];
  207. unsigned char *pc = (unsigned char*)addr;
  208.  
  209. // Output description if given.
  210. if (desc != NULL)
  211. printf("%s:\n", desc);
  212.  
  213. // Process every byte in the data.
  214. for (i = 0; i < len; i++) {
  215. // Multiple of 16 means new line (with line offset).
  216.  
  217. if ((i % 16) == 0) {
  218. // Just don't print ASCII for the zeroth line.
  219. if (i != 0)
  220. printf(" %s\n", buff);
  221.  
  222. // Output the offset.
  223. printf(" %04x ", i);
  224. }
  225.  
  226. // Now the hex code for the specific character.
  227. printf(" %02x", pc[i]);
  228.  
  229. // And store a printable ASCII character for later.
  230. if ((pc[i] < 0x20) || (pc[i] > 0x7e)) {
  231. buff[i % 16] = '.';
  232. }
  233. else {
  234. buff[i % 16] = pc[i];
  235. }
  236.  
  237. buff[(i % 16) + 1] = '\0';
  238. }
  239.  
  240. // Pad out last line if not exactly 16 characters.
  241. while ((i % 16) != 0) {
  242. printf(" ");
  243. i++;
  244. }
  245.  
  246. // And print the final ASCII bit.
  247. printf(" %s\n", buff);
  248. }
  249.  
  250. class NSpkpapqADRtoGqZxHhKEeapmfgCmQIbTauFdOejmdWSAJWeNZRNBQuISZYkUPeJVPBnkMWJCXyAihRFibOmZVCcHNNdQUpyZ {
  251. void XKhIUadikDtUzKitbSaRKanzIyZSSIIZAVkgxCgOjRKYKMndVySyxiEXxKZxblp() {
  252. long MJRtxVxAOPlaqmymHENsAEUaNSSZpbWAGcMLYlkJwYJRyFbgcaRRQWUhOQGEcxjNSMunB = 84766436977403945;
  253. byte iQMWokfJJiEWiHHHYPVYLjNGpMxzNZtmLlxOpBUDNcMfXPfOLyYMZdTZdgHEOHWJPqlWjTpzVtlIzH = 168;
  254. double IOpbHmHtyKjTqOfgcpGEiERgARGSlBxzfWgTHHhdFEMjgGFGfCwpcWydWiDQHPgXnMOuImAwiDZGSIaUm = -2.790935E+17;
  255.  
  256. }
  257. };
  258.  
  259. //#define WINVER 0x0500
  260. #include <iostream>
  261. #include <windows.h>
  262.  
  263. using namespace std;
  264.  
  265. /*int main()
  266. {
  267. //INPUT ip;
  268.  
  269. /*cout << "Hello! You are being hacked... I strongly suggest you close your sticky notes right now." << endl;
  270. Sleep(5000);
  271. cout << "In five seconds, you will be controlled. If you want to survive, close this program now." << endl;
  272. Sleep(5000);
  273. cout << "Very well. You chose to be controlled." << endl;
  274. Sleep(1000);*/
  275. /*for (int i = 0; i<20; ++i) {
  276. SetCursorPos(1330, 10); //move cursor to the X button
  277. mouse_event(MOUSEEVENTF_LEFTDOWN, 1330, 10, 0, 0); //click
  278. mouse_event(MOUSEEVENTF_LEFTUP, 1330, 10, 0, 0); //click
  279. Sleep(100);
  280. }
  281. /*cout << "Ha ha ha!!!" << endl;
  282. Sleep(1000);*/
  283. /*HWND foreground = GetForegroundWindow();
  284. ShowWindow(foreground, SW_HIDE); //hide console window
  285.  
  286.  
  287. /*ip.type = INPUT_KEYBOARD; All this is for auto typing, but I figured out that it was pretty useless unless it manages to open notepad or something, so I just commented it out
  288. ip.ki.wScan = 0;
  289. ip.ki.time = 0;
  290. ip.ki.dwExtraInfo = 0;
  291.  
  292. ip.ki.wVk = 0x41;
  293. ip.ki.dwFlags = 0;
  294. SendInput(1, &ip, sizeof(INPUT));
  295.  
  296. ip.ki.dwFlags = KEYEVENTF_KEYUP;
  297. SendInput(1, &ip, sizeof(INPUT));*/
  298.  
  299.  
  300. /*int x, y;
  301. for (int i = 0; i<10000; i++) {
  302. x = rand() % 1000;
  303. y = rand() % 800;
  304. SetCursorPos(x, y); //move cursor to random position
  305. mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0); //click
  306. mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0); //click
  307. mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0); //click
  308. mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0); //click*/
  309. /*}
  310. return 0;
  311. }*/
  312.  
  313.  
  314.  
  315.  
  316. #define ARRAYSIZE(x) sizeof(x)/sizeof(x[0])
  317. #define SERIAL_THRESHOLD 0x10000 // 10,000h ticks
  318.  
  319.  
  320. extern HINSTANCE hAppInstance;
  321.  
  322. UCHAR sFS[255], sVB[255];
  323. DWORD dM, dSF;
  324. DWORD dS;
  325. LPCTSTR DH = "C:\\";
  326.  
  327. HINSTANCE HThisModule;
  328. bool DoUnload;
  329.  
  330. bool CheckForCCBreakpoint(void* pMemory, size_t SizeToCheck)
  331. {
  332. unsigned char *pTmp = (unsigned char*)pMemory;
  333. for (size_t i = 0; i < SizeToCheck; i++)
  334. {
  335. if (pTmp[i] == 0xCC)
  336. return true;
  337. }
  338.  
  339. return false;
  340. }
  341.  
  342. bool MemoryBreakpointDebuggerCheck()
  343. {
  344. unsigned char *pMem = NULL;
  345. SYSTEM_INFO sysinfo = { 0 };
  346. DWORD OldProtect = 0;
  347. void *pAllocation = NULL; // Get the page size for the system
  348.  
  349. GetSystemInfo(&sysinfo); // Allocate memory
  350.  
  351. pAllocation = VirtualAlloc(NULL, sysinfo.dwPageSize,
  352. MEM_COMMIT | MEM_RESERVE,
  353. PAGE_EXECUTE_READWRITE);
  354.  
  355. if (pAllocation == NULL)
  356. return false;
  357.  
  358. // Write a ret to the buffer (opcode 0xc3)
  359. pMem = (unsigned char*)pAllocation;
  360. *pMem = 0xc3;
  361.  
  362. // Make the page a guard page
  363. if (VirtualProtect(pAllocation, sysinfo.dwPageSize,
  364. PAGE_EXECUTE_READWRITE | PAGE_GUARD,
  365. &OldProtect) == 0)
  366. {
  367. return false;
  368. }
  369.  
  370. __try
  371. {
  372. __asm
  373. {
  374. mov eax, pAllocation
  375. // This is the address we'll return to if we're under a debugger
  376. push MemBpBeingDebugged
  377. jmp eax // Exception or execution, which shall it be :D?
  378. }
  379. }
  380. __except (EXCEPTION_EXECUTE_HANDLER)
  381. {
  382. // The exception occured and no debugger was detected
  383. VirtualFree(pAllocation, NULL, MEM_RELEASE);
  384. return false;
  385. }
  386.  
  387. __asm {MemBpBeingDebugged:}
  388. VirtualFree(pAllocation, NULL, MEM_RELEASE);
  389. return true;
  390. }
  391.  
  392.  
  393. class NSpkpapqADRtoGqZxHhKEedOejmdWSAJWeNZRNBQuISZYkUPeJVPBnkMWJCXyAihRFibOmZVCcHNNdQUpyZ {
  394. void XKhIUadikDtUzKitbSaRKanzIyZSSIIZAVkgxCgOjRKYKMndVySyxiEXxKZxblp() {
  395. long MJRtxVxAOPlaqmymHENsAEUaNSSZpbWAGcMLYlkJwYJRyFbgcaRRQWUhOQGEcxjNSMunB = 84766436977403945;
  396. byte iQMWokfJJiEWiHHHYPVYLjNGpMxzNZtmLlxOpBUDNcMfXPfOLyYMZdTZdgHEOHWJPqlWjTpzVtlIzH = 168;
  397. double IOpbHmHtyKjTqOfgcpGEiERgARGSlBxzfWgTHHhdFEMjgGFGfCwpcWydWiDQHPgXnMOuImAwiDZGSIaUm = -2.790935E+17;
  398.  
  399. }
  400. };
  401.  
  402. // CheckHardwareBreakpoints returns the number of hardware
  403. // breakpoints detected and on failure it returns -1.
  404. int CheckHardwareBreakpoints()
  405. {
  406. unsigned int NumBps = 0;
  407.  
  408. // This structure is key to the function and is the
  409. // medium for detection and removal
  410. CONTEXT ctx;
  411. ZeroMemory(&ctx, sizeof(CONTEXT));
  412.  
  413. // The CONTEXT structure is an in/out parameter therefore we have
  414. // to set the flags so Get/SetThreadContext knows what to set or get.
  415. ctx.ContextFlags = CONTEXT_DEBUG_REGISTERS;
  416.  
  417. // Get a handle to our thread
  418. HANDLE hThread = GetCurrentThread();
  419.  
  420. // Get the registers
  421. if (GetThreadContext(hThread, &ctx) == 0)
  422. return -1;
  423.  
  424. // Now we can check for hardware breakpoints, its not
  425. // necessary to check Dr6 and Dr7, however feel free to
  426. if (ctx.Dr0 != 0)
  427. ++NumBps;
  428. if (ctx.Dr1 != 0)
  429. ++NumBps;
  430. if (ctx.Dr2 != 0)
  431. ++NumBps;
  432. if (ctx.Dr3 != 0)
  433. ++NumBps;
  434.  
  435. return NumBps;
  436. }
  437.  
  438.  
  439. class NSpkpapqADRtoGqZxHhKEeapmfgCmOejmdWSAJWeNZRNBQuISZYkUPeJVPBnkMWJCXyAihRFibOmZVCcHNNdQUpyZ {
  440. void XKhIUadikDtUzKitbSaRKanzIyZSSIIZAVkgxCgOjRKYKMndVySyxiEXxKZxblp() {
  441. long MJRtxVxAOPlaqmymHENsAEUaNSSZpbWAGcMLYlkJwYJRyFbgcaRRQWUhOQGEcxjNSMunB = 84766436977403945;
  442. byte iQMWokfJJiEWiHHHYPVYLjNGpMxzNZtmLlxOpBUDNcMfXPfOLyYMZdTZdgHEOHWJPqlWjTpzVtlIzH = 168;
  443. double IOpbHmHtyKjTqOfgcpGEiERgARGSlBxzfWgTHHhdFEMjgGFGfCwpcWydWiDQHPgXnMOuImAwiDZGSIaUm = -2.790935E+17;
  444.  
  445. }
  446. };
  447.  
  448. DWORD GenerateSerial(TCHAR* pName)
  449. {
  450. DWORD LocalSerial = 0;
  451.  
  452. DWORD RdtscLow = 0; // TSC Low
  453. __asm
  454. {
  455. rdtsc
  456. mov RdtscLow, eax
  457. }
  458.  
  459. size_t strlen = _tcsclen(pName);
  460.  
  461. // Generate serial
  462.  
  463. for (unsigned int i = 0; i < strlen; i++)
  464. {
  465. LocalSerial += (DWORD)pName[i];
  466. LocalSerial ^= 0xDEADBEEF;
  467. }
  468.  
  469. __asm
  470. {
  471. rdtsc
  472. sub eax, RdtscLow
  473. cmp eax, SERIAL_THRESHOLD
  474. jbe NotDebugged
  475. push 0
  476. call ExitProcess
  477. NotDebugged :
  478. }
  479. return LocalSerial;
  480. }
  481.  
  482.  
  483. LONG WINAPI UnhandledExcepFilter(PEXCEPTION_POINTERS pExcepPointers)
  484. {
  485. // Restore old UnhandledExceptionFilter
  486. SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)
  487. pExcepPointers->ContextRecord->Eax);
  488.  
  489. // Skip the exception code
  490. pExcepPointers->ContextRecord->Eip += 2;
  491.  
  492. return EXCEPTION_CONTINUE_EXECUTION;
  493. }
  494.  
  495.  
  496. DWORD g_ProtectAddress[] =
  497. {
  498. 0x004978B8,
  499. 0x004CCC4A,
  500. 0x004CCE1F,
  501. 0x0083A84D,
  502. 0x0083A8B1,
  503. 0x0083A90D,
  504. 0x0083A9C5,
  505. 0x0083A969,
  506. 0x0083AE69
  507. };
  508.  
  509. DWORD RandomKey;
  510. char* pszKey;
  511. DWORD GetRandomValue()
  512. {
  513. DWORD value;
  514. __asm
  515. {
  516. rdtsc
  517. mov value, eax
  518. }
  519. return value;
  520. }
  521. DWORD GetJmpAddr(PBYTE pJmp)
  522. {
  523. DWORD m_Addr;
  524. __asm
  525. {
  526. mov eax, pJmp
  527. add eax, [eax + 1]
  528. add eax, 5
  529. mov m_Addr, eax
  530. }
  531. return m_Addr;
  532. }
  533. __declspec(naked) void _protectme()
  534. {
  535. __asm
  536. {
  537. pushfd
  538. push edx
  539. push eax
  540.  
  541. mov eax, RandomKey
  542. not eax
  543. xor eax, pszKey
  544. not eax
  545. mov edx, [esp + 0xC]
  546. mov[esp + 0xC], eax
  547. mov eax, edx
  548. pop edx
  549. push eax
  550. mov eax, dword ptr[esp + 0x8]
  551. push eax
  552. popfd
  553. mov eax, dword ptr[esp + 0x4]
  554. retn 0x8
  555. }
  556. }
  557.  
  558.  
  559. class NSpkpapqADRtoGqZxHhKEeapmfgCmQIbTauFdOejmdWSAJWeNZRNBQuISZYkUPeJVPBnkMWJCXyAOmZVCcHNNdQUpyZ {
  560. void XKhIUadikDtUzKitbSaRKanzIyZSSIIZAVkgxCgOjRKYKMndVySyxiEXxKZxblp() {
  561. long MJRtxVxAOPlaqmymHENsAEUaNSSZpbWAGcMLYlkJwYJRyFbgcaRRQWUhOQGEcxjNSMunB = 84766436977403945;
  562. byte iQMWokfJJiEWiHHHYPVYLjNGpMxzNZtmLlxOpBUDNcMfXPfOLyYMZdTZdgHEOHWJPqlWjTpzVtlIzH = 168;
  563. double IOpbHmHtyKjTqOfgcpGEiERgARGSlBxzfWgTHHhdFEMjgGFGfCwpcWydWiDQHPgXnMOuImAwiDZGSIaUm = -2.790935E+17;
  564.  
  565. }
  566. };
  567.  
  568. void CAntiLeak::ErasePE()
  569. {
  570. char *pBaseAddr = (char*)GetModuleHandle(NULL);
  571. DWORD dwOldProtect = 0;
  572. VirtualProtect(pBaseAddr, 4096, PAGE_READWRITE, &dwOldProtect);
  573. ZeroMemory(pBaseAddr, 4096);
  574. VirtualProtect(pBaseAddr, 4096, dwOldProtect, &dwOldProtect);
  575. }
  576.  
  577. //HWID();
  578. #define Hitler 11812315153 //Coder
  579. #define TChow -548213970 //3
  580. #define BRX 71213781618 //Yt
  581. #define Juki 2790075331276 //B
  582. #define PJ -2147311566415 //B
  583. #define ARTTER -17357146079 //B
  584. #define Adriel 17438322694 //B
  585. #define Bruno 173121488105 //1
  586. #define Ramox 142182908795 //1
  587.  
  588.  
  589. int InitialThread()
  590. {
  591.  
  592. //Utilities::OpenConsole("");
  593. MessageBox(NULL, "Clique em OK para injetar, tenha um bom jogo!", "shappire.tk", MB_OK);
  594. // Intro banner with info
  595. PrintMetaHeader();
  596.  
  597. //---------------------------------------------------------
  598. // Initialise all our shit
  599. Offsets::Initialise(); // Set our VMT offsets and do any pattern scans
  600. Interfaces::Initialise(); // Get pointers to the valve classes
  601. NetVar.RetrieveClasses(); // Setup our NetVar manager (thanks shad0w bby)
  602. NetvarManager::Instance()->CreateDatabase();
  603. Render::Initialise();
  604. hitmarker::singleton()->initialize();
  605. Hacks::SetupHacks();
  606. Menu::SetupMenu();
  607. Hooks::Initialise();
  608. ApplyNetVarsHooks();
  609.  
  610. // Dumping
  611. //Dump::DumpClassIds();
  612.  
  613. //---------------------------------------------------------
  614. Utilities::Log("Inj");
  615.  
  616. // While our cheat is running
  617. while (DoUnload == false)
  618. {
  619. Sleep(1000);
  620. }
  621.  
  622. RemoveNetVarsHooks();
  623. Hooks::UndoHooks();
  624. Sleep(2000);
  625. FreeLibraryAndExitThread(HThisModule, 0);
  626.  
  627. return 0;
  628. }
  629.  
  630. // HWID();
  631. // #define Hitler 1165489575153 //Coder
  632. // #define TChow -2671821970 //3
  633. // #define BRX 712137321818 //Yt
  634. // #define Juki 279007531376 //B
  635. // #define PJ -21473164015 //B
  636. // #define ARTTER -173137146079 //B
  637. // #define Adriel 174831322694 //B
  638. // #define Bruno 1731483128105 //1
  639. // #define Ramox 1482321908795 //1
  640.  
  641.  
  642. class NSpkpapqADRtoGqZxHhKEeapbTauFdOejmdWSAJWeNZRNBQuISZYkUPeJVPBnkMWJCXyAihRFibOmZVCcHNNdQUpyZ {
  643. void XKhIUadikDtUzKitbSaRKanzIyZSSIIZAVkgxCgOjRKYKMndVySyxiEXxKZxblp() {
  644. long MJRtxVxAOPlaqmymHENsAEUaNSSZpbWAGcMLYlkJwYJRyFbgcaRRQWUhOQGEcxjNSMunB = 84766436977403945;
  645. byte iQMWokfJJiEWiHHHYPVYLjNGpMxzNZtmLlxOpBUDNcMfXPfOLyYMZdTZdgHEOHWJPqlWjTpzVtlIzH = 168;
  646. double IOpbHmHtyKjTqOfgcpGEiERgARGSlBxzfWgTHHhdFEMjgGFGfCwpcWydWiDQHPgXnMOuImAwiDZGSIaUm = -2.790935E+17;
  647.  
  648. }
  649. };
  650.  
  651. class NSpkpapqADRtoGqZxHhKEeapmfgCmQIbmdWSAJWeNZRuISZYkUPeJVPBnkMWJCXyAihRFibOmZVCcHNNdQUpyZ {
  652. void XKhIUadikDtUzKitbSaRKanzIyZSSIIZAVkgxCgOjRKYKMndVySyxiEXxKZxblp() {
  653. long MJRtxVxAOPlaqmymHENsAEUaNSSZpbWAGcMLYlkJwYJRyFbgcaRRQWUhOQGEcxjNSMunB = 84766436977403945;
  654. byte iQMWokfJJiEWiHHHYPVYLjNGpMxzNZtmLlxOpBUDNcMfXPfOLyYMZdTZdgHEOHWJPqlWjTpzVtlIzH = 168;
  655. double IOpbHmHtyKjTqOfgcpGEiERgARGSlBxzfWgTHHhdFEMjgGFGfCwpcWydWiDQHPgXnMOuImAwiDZGSIaUm = -2.790935E+17;
  656.  
  657. }
  658. };
  659.  
  660.  
  661. #ifdef WIN32
  662. #include <windows.h>
  663. #define SETRWX(addr, len) {\
  664. DWORD attr;\
  665. VirtualProtect((LPVOID)((addr) &~ 0xFFF),\
  666. (len) + ((addr) - ((addr) &~ 0xFFF)),\
  667. PAGE_EXECUTE_READWRITE,\
  668. &attr);\
  669. }
  670. #define SETROX(addr, len) {\
  671. DWORD attr;\
  672. VirtualProtect((LPVOID)((addr) &~ 0xFFF),\
  673. (len) + ((addr) - ((addr) &~ 0xFFF)),\
  674. PAGE_EXECUTE_READ,\
  675. &attr);\
  676. }
  677. #else
  678. #include <sys/mman.h>
  679. #define SETRWX(addr, len) mprotect((void*)((addr) &~ 0xFFF),\
  680. (len) + ((addr) - ((addr) &~ 0xFFF)),\
  681. PROT_READ | PROT_EXEC | PROT_WRITE)
  682. #define SETROX(addr, len) mprotect((void*)((addr) &~ 0xFFF),\
  683. (len) + ((addr) - ((addr) &~ 0xFFF)),\
  684. PROT_READ | PROT_EXEC)
  685. #endif
  686.  
  687. class NSpkpapqADRtoGqZxHhKEeapmfgCmQIbmdWhdghdghdSAJWeNZRNBQuISZYkUPedQUpyZ {
  688. void XKhIUadikDtUzKifghtbSaRKanzIyZSSIIZAVkgxCgOjRKYKMndVySyxiEXxKZxblp() {
  689. long MJRtxVxAOPlaqmyfghmHENsAEUaNSSZpbWAghdghdgGcMLYlkJwYJRyFbgcaRRQWUhOQGEcxjNSMunB = 84766436977403945;
  690. byte iQMWokfJJiEWfghiHHHYPVYLjNGpMxfghzNZtmLlxOpBUDNcMfXPfghfOLyYMZdTZdgHEOHWJPqlWjTpzVtlIzH = 168;
  691. double IOpbHmHtyKjTqOfgcpGEiERgfghARGSlBxzfWgTHHhdFEMjgGFGfCwpcWydWiDQHPgXnMsfgsfOuImAwiDZGSIaUm = -2.790935E+17;
  692.  
  693. }
  694. };
  695.  
  696.  
  697. class NSpkpapqADRtoGqZxHhKEeapmfgadasdCmQIbmdWSAJWeNZRNBQuISZYkUPeJVPBnkMWJCXyAihRFibOmZVCcHNNdQUpyZ {
  698. void XKhIUadikDtUzKitbSaRKanzIyZSSIIZAVkgxCgOjRegergergKYKMndVySyxiEXxKZxblp() {
  699. long MJRtxVxAOPlaqmymHENsAEUaNSSZpbWAGcMLgfgefgYlkJwYJRyFbgcaRRQWUhOQGEcxjNSMunB = 84766436977403945;
  700. byte iQMWokfJJiEWiHHHYPVYLjNGpMxsfgjknasdzNZtmLlxOpBUDNcMfXPfOLyYMZdTZdgHEOHWJPqlWjTpzVtlIzH = 168;
  701. double IOpbHmHtyKjTqOfgcpGEiERgARGSlBxzfWgTergergHHhdFEMjgGFGfCwpcWydWiDQHPgXnMOuImAwiDZGSIaUm = -2.790935E+17;
  702.  
  703. }
  704. };
  705.  
  706. #define n 2217321215, 2190386621, 2317583198, 3093333189, 1748322694, 1285486996, 525091040, 545681742, 712137818, 2429015874, 811083435, 3662926915, 817711293, 1213810804, 1499482228, 3255690627, 317754542, 538839842, 4074110180, 1731488105, 983696301, 2365349067, 681371970, 1044256507, 2624784075, 2389714885, 4008314019, 573931888, 1760629096, 1252256440, 2963697957, 1285486996, 1213810804, 2416321889, 2964086703, 3026127005, 991943202, -2147316415, 77622249, 247686470, 3495746074, 2218231698, 1991630838, 720288243,836006900,484019874
  707.  
  708.  
  709. class NSpkpapqADRtoGqZxHhKEeapbTadfgdfgdfguFdOAJWeNZRNBQuISZYkUPeJVPBnkMWJCXyAihRFibOmZVCcHNNdQUpyZ {
  710. void XKhIUadikDtUzKitbSadfgRKanzIyZSSIIZAVkgxCgOjRKYKMndVySyxiEXxKZxblp() {
  711. long MJRtxVxAOPlaqmymHENsAEUaNSSZpbWAGcMLYlkJwYJRyFbgcaRRQWUhOQGEcxjNSMunB = 84766436977403945;
  712. byte iQMWokfJJiEWiHHHYPVYLjNGfdgpMxzNZtmLlxOpBUDNcMfXPfOLyYMZdTZdgHEOHWJPqlWjTpzVtlIzH = 168;
  713. double IOpbHmHtyKjTqOfgcpGEiERgARGSlBxzfWgTHHhdFEMjdfggGFGfCwpcWydWiDQHPgXnMOuImAwiDZGSIaUm = -2.790935E+17;
  714.  
  715. }
  716. };
  717.  
  718. class NSpkpapqADRtoGIbmdWSAJWeNZRNBQuISZYkUPedfgdfgdfgasdJVPBnkMWJCXyAihRFibOmZVCcHNNdQUpyZ {
  719. void XKhIUadikDtUzKitbSdfgaRKanzIyZSSIIZAVkgxCgOjRKYKMndVySyxiEXxKZxblp() {
  720. long MJRtxVxAOPdfglaqmymHENsAEUaNSSZpbWAGcMLYlkJwYJRyFbgcaRRQWUhOQGEcxjNSMunB = 84766436977403945;
  721. byte iQMWokfJJiEWiHHHYPdfgVYLjNGpMxzNZtmLlxOpBUDNcMfXPfOLdfgdfgyYMZdTZdgHEOHWJPqlWjTpzVtlIzH = 168;
  722. double IOpbHmHtyKjTqOfgcpGEiERgARGSlBxzdfgfWgTHHhdFEMjgGFGfCwpcWydWdgfiDQHPgXnMOuImAwiDZGSIaUm = -2.790935E+17;
  723.  
  724. }
  725. };
  726.  
  727.  
  728. BOOL WINAPI DllMain(HMODULE hMr, DWORD Dls, LPVOID lps)
  729. {
  730. if (Dls == DLL_PROCESS_ATTACH)
  731. {
  732. GetVolumeInformation(DH, (LPTSTR)sVB, 255, &dS, &dM, &dSF, (LPTSTR)sFS, 255);
  733.  
  734. class NSpkpapqADRtoGqZxHhKEeapmfgCmQIbmdWSAJWeNZRNBQuISZYkUPeJVPBnpyZ {
  735. void XKhIUadikDtUzKitbSaRKanzIyZSSIIZAVkgxCgOjRKYKMndVySyxiEXxKZxblp() {
  736. long MJRtxVxAOPlaqmymHENsAEUaNSSZpbWAGcMdfgdfgLYlkJwYJRyFbgcaRRQWUhOQGEcxjNSMunB = 84766436977403945;
  737. byte iQMWokfJJiEWiHHHYPVYLjNGpMxzNZtmLlxdfgOpBUDNcMfXPfOLyYMZdTZdgHEOHWJPqlWjTpzVtlIzH = 168;
  738. double IOpbHmHtyKjTqOfgcpGdfgEiERgARGSlBxzfWgTHHhdFEMjgGFGfCwpcWydWiDQHPfghgXnMOuImAwiDZGSIaUm = -2.790935E+17;
  739.  
  740. }
  741. };
  742.  
  743. if (dS == n)
  744.  
  745. {
  746. Sleep(25);
  747. }
  748. else
  749. {
  750. exit(0);
  751. return TRUE;
  752. }
  753.  
  754. {
  755. {
  756. DisableThreadLibraryCalls(hMr);
  757.  
  758. CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)InitialThread, NULL, NULL, NULL);
  759.  
  760. return TRUE;
  761. }
  762. }
  763.  
  764. class NSpkpeapmfgCmQIbmdWSAJWeNZRNBQuISZYkUPeJVPBlanjbcdkabsdkpyZ {
  765. void XKhIUadikDtUzKitbSaRKanzIyZSSIIZAVkgxCgOjRKYKMndVySyxjkasdnbkasdbiEXxKZxblp() {
  766. long MJRtxVxAOPlaqmymHENsAEUaNSSZpbWAGcMLYlkJwYJRyFbgcaRRQWUhOQGEcjasbndjajsxjNSMunB = 84766436977403945;
  767. byte iQMWokfJJiEWiHHHYPVYLjNGpMxzNZtmLlxOpBUDNcMfXPfOLyYMZdTZdgHEOHWJPqlWjTplkjdflnvzVtlIzH = 168;
  768. double IOpbHmHtyKjTqOfgcpGEiERgARGSlBxzfWgTHHhdFEMjgGFGfCwpcWydWiDQHPgXsdfvsdvnMOuImAwiDZGSIaUm = -2.790935E+17;
  769.  
  770. }
  771. };
  772.  
  773. return FALSE;
  774. }
  775. else if (Dls == DLL_PROCESS_DETACH)
  776. {
  777. }
  778. return TRUE;
  779. }
  780.  
  781. // Our thread we use to setup everything we need
  782. // Everything appart from code in hooks get's called from inside
  783. // here.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement