Advertisement
Riremito

TWMS Bypass v178 Public

Apr 2nd, 2015
1,295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.12 KB | None | 0 0
  1.    
  2.  
  3.     /*
  4.     if you want newer AirMemory Library source code, you should pay 10b mesos for me in EMS to get the source
  5.     */
  6.     /*
  7.     Maple.cpp
  8.     */
  9.     #include"AirBypass.h"
  10.     DWORD Memory, Memory_Start, Memory_End;
  11.     AirMemory AM;
  12.     // v178.0 ~
  13.     void Bypass(){
  14.             AM.Init();
  15.             AM.CreateMemoryDump();
  16.             AM.GetDumpInfo(&Memory_Start, &Memory_End, &Memory);
  17.      
  18.             DWORD DR_Check = AM.AobScan("55 8B EC 81 EC F0 02 00 00 A1 ?? ?? ?? ?? 33 C5 89 45 FC 53 56 57 E9");//v178
  19.             DWORD ASPLunchr = AM.AobScan("55 8B EC 83 EC 0C 56 57 8B F1 E9");//v178
  20.             DWORD mkd25tray = AM.AobScan("55 8B EC 83 EC 0C 56 57 8B F1 E9", 2);//v178
  21.      
  22.             AM.MemoryWriter(DR_Check, "31 C0 C3");
  23.             AM.MemoryWriter(ASPLunchr, "31 C0 C3");
  24.             AM.MemoryWriter(mkd25tray, "31 C0 C3");
  25.      
  26.             DWORD HSUpdate = AM.AobScan("55 8B EC 6A FF 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 81 C4 ?? ?? ?? ?? 53 56 57 89 65 E8 C7 45 BC 00 00 00 00 C7 45 E4 00 00 00 00 C7 85 A8 FE FF FF 00 00 00 00 C7 45 D4 00 00 00 00 33 C0 89 45 D8 89 45 DC 89 45 E0 C7 85 18 FE FF FF 00 00 00 00 B9 10 00 00 00 33 C0 8D BD 1C FE FF FF F3 AB");
  27.             AM.MemoryWriter(HSUpdate, "31 C0 C2 10 00");
  28.      
  29.             DWORD MSCRC23 = AM.AobScan("55 8B EC 6A FF 68 ?? ?? ?? ?? 64 A1 00 00 00 00 50 81 EC ?? ?? ?? ?? 53 56 57 A1 ?? ?? ?? ?? 33 C5 50 8D ?? ?? 64 A3 00 00 00 00 89 8D ?? ?? ?? ?? 83 A5 ?? ?? ?? ?? 00 6A 01");
  30.             AM.MemoryWriter(MSCRC23, "31 C0 C3");
  31.     }
  32.      
  33.     /*
  34.     AirBypass.h
  35.     */
  36.      
  37.     #pragma once
  38.     #include<Windows.h>
  39.     #include"AirMemory.h"
  40.      
  41.     void AirBypass();
  42.      
  43.     BOOL WINAPI Inject(DWORD processID, wchar_t * sourceDLL);
  44.      
  45.     void FullAccess(DWORD Address, DWORD Size);
  46.     void Bypass();
  47.     void HackShieldBypass();
  48.     extern DWORD Memory, Memory_Start, Memory_End;
  49.      
  50.     /*
  51.     HackShield.cpp
  52.     */
  53.      
  54.     #include"AirBypass.h"
  55.      
  56.     DWORD HS_Memory_Start, HS_Memory_End, HS_Memory;
  57.      
  58.     DWORD HSCRC1_Ret, HSCRC2_Ret, HSCRC3_Ret, HSCRC4_Ret;
  59.      
  60.     void _declspec(naked) HSCRC1_Hook(){
  61.             _asm{
  62.                     cmp ecx,[HS_Memory_Start]
  63.                     jb Ending_HSCRC1
  64.                     cmp ecx,[HS_Memory_End]
  65.                     ja Ending_HSCRC1
  66.                     sub ecx,[HS_Memory_Start]
  67.                     add ecx,[HS_Memory]
  68.     Ending_HSCRC1:
  69.                     mov dl,[ecx]
  70.                     xor eax,edx
  71.                     mov ecx,[ebp+0x10]
  72.                     jmp dword ptr [HSCRC1_Ret]
  73.             }
  74.     }
  75.      
  76.     void _declspec(naked) HSCRC2_Hook(){
  77.             _asm{
  78.                     cmp ebx,[HS_Memory_Start]
  79.                     jb Ending_HSCRC2
  80.                     cmp ebx,[HS_Memory_End]
  81.                     ja Ending_HSCRC2
  82.                     sub ebx,[HS_Memory_Start]
  83.                     add ebx,[HS_Memory]
  84.     Ending_HSCRC2:
  85.                     add al,[ebx]
  86.                     pop ebx
  87.                     sub esp,0x04
  88.                     jmp dword ptr [HSCRC2_Ret]
  89.             }
  90.     }
  91.      
  92.     void _declspec(naked) HSCRC3_Hook(){
  93.             _asm{
  94.                     cmp edx,[HS_Memory_Start]
  95.                     jb Ending_HSCRC3
  96.                     cmp edx,[HS_Memory_End]
  97.                     ja Ending_HSCRC3
  98.                     push edx
  99.                     sub edx,[HS_Memory_Start]
  100.                     cmp edx,0x9B252 - 0x100
  101.                     jb Ending_HSCRC3_2
  102.                     cmp edx,0x37C217 + 0x100
  103.                     ja Ending_HSCRC3_2
  104.                     cmp edx,0x9B252 + 0x100
  105.                     jb Ending_HSCRC3_1
  106.                     cmp edx,0x37C217 - 0x100
  107.                     ja Ending_HSCRC3_1
  108.                     jmp Ending_HSCRC3_2
  109.     Ending_HSCRC3_1:
  110.                     add edx,[HS_Memory]
  111.                     mov edx,[edx]
  112.                     mov dword ptr [esp+0x04],edx
  113.     Ending_HSCRC3_2:
  114.                     pop edx
  115.     Ending_HSCRC3:
  116.                     jmp dword ptr [HSCRC3_Ret]
  117.             }
  118.     }
  119.      
  120.     void _declspec(naked) HSCRC4_Hook(){
  121.             _asm{
  122.                     push esi
  123.                     cmp esi,[Memory_Start]
  124.                     jb Ending_
  125.                     cmp esi,[Memory_End]
  126.                     ja Ending_
  127.                     sub esi,[Memory_Start]
  128.                     add esi,[Memory]
  129.     Ending_:
  130.                     lea edi,[ebp-0x1228]
  131.                     repe movsd
  132.                     pop esi
  133.                     jmp dword ptr [HSCRC4_Ret]
  134.             }
  135.     }
  136.      
  137.     void HSCRC5_TableHack(DWORD dwHSCRC5_Table){
  138.             int i;
  139.             for(i=0; i<4; i++){
  140.                     *(DWORD *)(dwHSCRC5_Table + i*8) = ((*(DWORD *)(dwHSCRC5_Table + i*8)^*(DWORD *)(dwHSCRC5_Table + 0x20)) - HS_Memory_Start + HS_Memory)^(*(DWORD *)(dwHSCRC5_Table + 0x20));
  141.             }
  142.     }
  143.      
  144.     void HSCRC5_TableHack2(DWORD dwHSCRC5_Table, DWORD dwFreeSpace, DWORD dwSize){
  145.             int i;
  146.             DWORD *HSCRC5_Table = (DWORD *)dwHSCRC5_Table;
  147.             DWORD DecryptKey = HSCRC5_Table[8];
  148.             DWORD WrittenSize = 0;
  149.      
  150.             FullAccess(dwFreeSpace, dwSize);
  151.      
  152.             for(i=0; i<8; i++){//Decrypt
  153.                     HSCRC5_Table[i] ^= DecryptKey;
  154.             }
  155.      
  156.             for(i=0; i<4; i++){
  157.                     RtlCopyMemory((void *)(dwFreeSpace + WrittenSize), (void *)HSCRC5_Table[i*2], HSCRC5_Table[i*2+1]);
  158.                     HSCRC5_Table[i*2] = dwFreeSpace + WrittenSize;
  159.                     WrittenSize += HSCRC5_Table[i*2+1];
  160.             }
  161.            
  162.             for(i=0; i<8; i++){//Encrypt
  163.                     HSCRC5_Table[i] ^= DecryptKey;
  164.             }
  165.     }
  166.      
  167.     AirMemory HM;
  168.      
  169.     void HackShieldBypass(){
  170.             LoadLibraryA("HShield/EHSvc.dll");
  171.             HM.Init("EHSvc.dll");
  172.      
  173.             HM.CreateMemoryDump();
  174.             HM.GetDumpInfo(&HS_Memory_Start, &HS_Memory_End, &HS_Memory);
  175.      
  176.             HSCRC5_TableHack2(HS_Memory_Start + 0x164048, HS_Memory_Start + 0x500, 0x500);
  177.             HM.WriteHook(0x9B252, JMP, HSCRC1_Hook, &HSCRC1_Ret, 2);//HSCRC1
  178.             HM.WriteHook(0x37C217, JMP, HSCRC2_Hook, &HSCRC2_Ret, 1);//HSCRC2
  179.             HM.WriteHook(0x26B6B7, JMP, HSCRC3_Hook);//HSCRC3
  180.             HSCRC3_Ret = HS_Memory_Start + 0x26AEC2;
  181.             HM.WriteHook(0x408F7, JMP, HSCRC4_Hook, &HSCRC4_Ret, 3);//HSCRC4
  182.            
  183.             HM.MemoryWriter(0x56BF0, "31 C0 C2 04 00");//Process Scanner
  184.             HM.MemoryWriter(0x5D8B0, "31 C0 C2 04 00");//Module Scanner
  185.      
  186.             HM.MemoryWriter(0x11280, "31 C0 C3");//HardwareBreakPoint Detection(Main)
  187.             HM.MemoryWriter(0xF870, "31 C0 C3");//HardwareBreakPoint Detection2
  188.             HM.MemoryWriter(0xFA60, "31 C0 C3");//HardwareBreakPoint Detection3
  189.             HM.MemoryWriter(0x101F0, "31 C0 C2 18 00");//HardwareBreakPoint Detection4
  190.            
  191.             HM.MemoryWriter(0x779A0, "31 C0 C3");//SoftwareBreakPoint Detection
  192.             HM.MemoryWriter(0xDA5CA, "B8 00 00 00 00");//Memory Protection
  193.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement