Guida [Source]Lockmob in console C++

Stato
Discussione chiusa ad ulteriori risposte.

Franciccio90

Utente Electrum
23 Ottobre 2009
346
26
26
141
Ultima modifica da un moderatore:
Status = Detected

PHP:
#include <iostream>
#include <windows.h>
#define Pointer 0x005f29bc // definisce il pointer
using namespace std;
unsigned long GetAdd(int x,int y);
HANDLE Processo();//trova il processo
int main()
{
    int scritte;
    HANDLE hProcess = Processo();
    system("cls");
    system("TITLE Guida By Franciccio90");//nome della finestra
    system("color a");//mette il colore verde
    cout<<"Guida creata da franciccio90\n"<<endl;//scrive
    cout<<"1. Attiva LockMob\n";//scrive
    cout<<"2. Disattiva LockMob\n"<<endl;//scrive
    cin>>scritte;//lascia la possibilità di scrivere
    switch(scritte)
{
    case 1:
         {
         system("cls");//cancella quello ke ce scritto
         DWORD X = GetAdd(16,1412);//trova la valuta di X
         DWORD Y = GetAdd(16,1416);//trova la valuta di Y
         DWORD Z = GetAdd(16,1420);//trova la valuta di Z
         WriteProcessMemory(hProcess,(LPVOID)0x00600144,&X,sizeof(X),NULL);//scrive su 00600144 la valuta X
         WriteProcessMemory(hProcess,(LPVOID)0x0060014a,&Y,sizeof(Y),NULL);//scrive su 0060014a la valuta Y
         WriteProcessMemory(hProcess,(LPVOID)0x00600153,&Z,sizeof(Z),NULL);//scrive su 00600153 la valuta Z
         BYTE xyz[] = {0xa1, 0x44, 0x01, 0x60, 0x00, 0x89, 0x86, 0xa8, 0x03, 0x00, 0x00, 0x8b, 0x0d, 0x4a, 0x01, 0x60, 0x00, 0x89, 0x8e, 0xac, 0x03, 0x00, 0x00, 0x8b, 0x15, 0x53, 0x01, 0x60, 0x00, 0x89, 0x96, 0xb0, 0x03, 0x00, 0x00, 0x5f, 0xe9, 0xc9, 0x1f, 0xef, 0xff, 0x90};//funzione ke abbiamo creato su cui jumperemo
         WriteProcessMemory(hProcess,(LPVOID)0x0060015d , &xyz , sizeof(xyz),NULL);
         BYTE lock[] = {0xe9, 0x22, 0xe0, 0x10, 0x00, 0x90};//byte del salto per il lockmob
         WriteProcessMemory(hProcess,(LPVOID)0x004F2136, &lock, sizeof(lock),NULL);
         return main();//ritorna al menù
         }
         case 2:
              {
                       system("cls");
                       BYTE unlock[] = {0x89, 0x86, 0xa8, 0x03, 0x00, 0x00};
                       WriteProcessMemory(hProcess,(LPVOID)0x004F2136, &unlock, sizeof(unlock),NULL);
                       return main();
              }
}
         if (scritte!=1)
         {
                      system("cls");
                      cout<<"Il numero deve essere pari a 1 o 2\n"<<endl;
                      system("pause");
                      return main();
                      }
 
}
unsigned long GetAdd(int x,int y)//trova l'address statico delle coordinate x,y,z
{
    int buffer[3];
    int address[2];
ReadProcessMemory(Processo(),(LPVOID)Pointer,&buffer[0],sizeof(buffer[0]),NULL);
address[0] = buffer[0] + x;
ReadProcessMemory(Processo(),(LPVOID)address[0],&buffer[1],sizeof(buffer[1]),NULL);
address[1] = buffer[1] + y;
ReadProcessMemory(Processo(),(LPVOID)address[1],&buffer[2],sizeof(buffer[2]),NULL);
return buffer[2];
}
HANDLE Processo()//trova il processo tramite finestra
      {
          HWND hwnd;
          hwnd = FindWindow(0, "METIN2");      
          DWORD proc_id;
          GetWindowThreadProcessId(hwnd, &proc_id);
          HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proc_id);  
          return hProcess;
       }

mi sembra piuttosto kiara poi una base di c++ dovreste gia saperla
 
Bello, ma poteva essere fatto in un solo code-cave.. L'originale (di Gex001) è fatto con tre funzioni, ma la tecnologia va avanti xD
 
Ultima modifica:
:asd: se tu intendi lo spazio nel codice in realta ce, solo ke nel codice e venuto cosi penso sia colpa del plug in

--- Aggiornamento Post ---

xD adesso e uscito nn so perke prima no :asd:
 
Stato
Discussione chiusa ad ulteriori risposte.