Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Создаем адрес сканер для Пб

-

Разработка ПО для Point Blank

- Бюро разработчиков Zhyk.Ru: создание чит-программ и прочего ПО для Point Blank

Ответ
 
Опции темы
Старый 20.08.2012, 17:45   #1
 Разведчик
Аватар для Boomber™
 
Boomber™ неизвестен в этих краяхBoomber™ неизвестен в этих краях
Регистрация: 28.04.2012
Сообщений: 5
Популярность: -168
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 3 сообщениях
 
Post Создаем адрес сканер для Пб

Всем привет!
Я хотел бы вам рассказать о том,как создать свой адрес сканер для пб!
Начнем!
Создаем проект .dll

Создаем заголовочные файлы:
Data.h
Functions.h

Создаем файлы исходного кода:
DllMain.cpp

В DllMain.cpp вписываем
Код:
#include "Functions.h"
#include "Data.h"
//#include "License.h"
using namespace std;
//By Boomber™ for zhyk.ru

typedef HRESULT (WINAPI* oEndScene) ( LPDIRECT3DDEVICE9 MegoFrost);
oEndScene pEndScene;

HRESULT WINAPI EndScene (LPDIRECT3DDEVICE9 MegoFrost)
{
_asm pushad;
_asm popad;
return pEndScene(MegoFrost);
}

typedef HRESULT (WINAPI* oFrostNab)(LPDIRECT3DDEVICE9 Frost, D3DPRESENT_PARAMETERS* pPresentationParameters);
typedef HRESULT (WINAPI* oEndScene)(LPDIRECT3DDEVICE9 Frost);
typedef HRESULT (WINAPI* oDrawIndexedPrimitive)(LPDIRECT3DDEVICE9 Frost, D3DPRIMITIVETYPE Type, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount);
oFrostNab pFrostNab;
//oEndScene pEndScene;
oDrawIndexedPrimitive pDrawIndexedPrimitive;

HRESULT WINAPI FrostNab(LPDIRECT3DDEVICE9 Frost,D3DPRESENT_PARAMETERS* pPresentationParameters)
{

return pFrostNab(Frost,pPresentationParameters);
}


HRESULT WINAPI myDrawIndexedPrimitive(LPDIRECT3DDEVICE9 Frost, D3DPRIMITIVETYPE Type, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount)
{
        return pDrawIndexedPrimitive(Frost, Type, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
}


BOOL HookFrost(void)//хукаем фрост
{
DWORD* vtbl=0;
DWORD hD3D9=(DWORD)LoadLibraryA("d3d9.dll");
DWORD table=FindPattern(hD3D9,0x128000,(PBYTE)"\xC7\x06\x00\x00\x00\x00\
x89\x86\x00\x00\x00\x00\x89\x86","xx????xx????xx");
memcpy(&vtbl,(void *)(table+2),4);
pFrostNab=(oFrostNab)DetourCreate((PBYTE)vtbl[16],(PBYTE)FrostNab,5);
pEndScene=(oEndScene)DetourCreate((PBYTE)vtbl[42],(PBYTE)EndScene,5);
pDrawIndexedPrimitive=(oDrawIndexedPrimitive)DetourCreate((PBYTE)vtbl[82],(PBYTE)myDrawIndexedPrimitive,
5);
return FALSE;
}


VOID StartHookFrost()//хукаем фрост
{
while(1)
{
if(GetAsyncKeyState(VK_HOME)&1)
{
        CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)HookFrost, NULL, NULL, NULL);
goto end;
}
}
end:return;
}




BOOL WINAPI DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved)
{
switch(dwReason)
{
        
case DLL_PROCESS_ATTACH:
        if(GetModuleHandleW(L"PointBlank.exe.exe"))
        {
        
HideModule(hDll);
CreateThread(0,0,(LPTHREAD_START_ROUTINE)StartHookFrost,0,0,0);

Hack.killFrost();//вызов метода убийства фроста
//License();//проверка лицензии

remove("C:\\Signature_Finder.txt");
FILE * a=fopen("C:\\Signature_Finder.txt","w");
                                                           //вывод в текстовик
 fprintf(a,"показ хп за 1 команду 0x");
 fprintf(a,"%x",Hack.HP1);
  fprintf(a,"\n");

  fprintf(a,"показ хп за 2 команду 0x");
 fprintf(a,"%x",Hack.HP2);
 fprintf(a,"\n");

   fprintf(a,"анлим патроны 0x");
   fprintf(a,"%x",Hack.MaxBull);
 fprintf(a,"\n");

  fprintf(a,"телепорт ");
   fprintf(a,"%x",Hack.Speed);
 fprintf(a,"\n");

  fprintf(a,"антиотдача1 0x");
   fprintf(a,"%x",Hack.Antiotd1);
 fprintf(a,"\n");

 fprintf(a,"антиотдача2 0x");
   fprintf(a,"%x",Hack.Antiotd2);
 fprintf(a,"\n");

 fprintf(a,"точность 0x");
   fprintf(a,"%x",Hack.tochnost);
 fprintf(a,"\n");

  fprintf(a,"длинный нож 0x");//9B включение FC выключение
   fprintf(a,"%x",Hack.dn);
 fprintf(a,"\n");

  fprintf(a,"антиурон 0x");
   fprintf(a,"%x",Hack.Antidamage);
 fprintf(a,"\n");

   fprintf(a,"быстрый респ1 0x");
   fprintf(a,"%x",Hack.fastresp1);
 fprintf(a,"\n");

    fprintf(a,"быстрый респ2 0x");
   fprintf(a,"%x",Hack.fastresp2);
 fprintf(a,"\n");

  fprintf(a,"скорострел 0x");
   fprintf(a,"%x",Hack.skorostrel);
 fprintf(a,"\n");

   fprintf(a,"антимигание1 0x");
   fprintf(a,"%x",Hack.antimig1);
 fprintf(a,"\n");

  fprintf(a,"антимигание2 0x");
   fprintf(a,"%x",Hack.antimig2);
 fprintf(a,"\n");

 fprintf(a,"антимигание3 0x");
   fprintf(a,"%x",Hack.antimig3);
 fprintf(a,"\n");

  fprintf(a,"мгновенная перезарядка 0x");//писать F5 для включения, F4 для отключения
   fprintf(a,"%x",Hack.reload);
 fprintf(a,"\n");

  fprintf(a,"прыжок в воздухе1 0x");
   fprintf(a,"%x",Hack.jump1);
 fprintf(a,"\n");

  fprintf(a,"прыжок в воздухе2 0x");
   fprintf(a,"%x",Hack.jump2);
 fprintf(a,"\n");

  fprintf(a,"прыжок в воздухе3 0x");
   fprintf(a,"%x",Hack.jump3);
 fprintf(a,"\n");

   fprintf(a,"зумхак 0x");
   fprintf(a,"%x",Hack.zoom);
 fprintf(a,"\n");

    fprintf(a,"урон 0x");//03 включение fc выключение
   fprintf(a,"%x",Hack.damage);
 fprintf(a,"\n");

   fprintf(a,"радиус взрыва 0x");//[ebp-79]
   fprintf(a,"%x",Hack.grena);
 fprintf(a,"\n");

    fprintf(a,"управляемый взрыв 0x");
   fprintf(a,"%x",Hack.boom);
 fprintf(a,"\n");

  fprintf(a,"координаты взрыва 0x");
   fprintf(a,"%x",Hack.coord_boom);
 fprintf(a,"\n");

  fprintf(a,"подъем оружия на расстоянии 0x");
   fprintf(a,"%x",Hack.lift);
 fprintf(a,"\n");

  fprintf(a,"ВК вкл. 0x");
   fprintf(a,"%x",Hack.VK_SWITCH_ON);
 fprintf(a,"\n");

   fprintf(a,"ВК Основное и песты. 0x");
   fprintf(a,"%x",Hack.VK_PEST);
 fprintf(a,"\n");

 fprintf(a,"ВК ножи. 0x");
   fprintf(a,"%x",Hack.VK_KNIFE);
 fprintf(a,"\n");

 fprintf(a,"ВК гранаты. 0x");
   fprintf(a,"%x",Hack.VK_GRENADE);
 fprintf(a,"\n");

  fprintf(a,"ВК дополнительное. 0x");
   fprintf(a,"%x",Hack.VK_SPEC);
 fprintf(a,"\n");

 fprintf(a,"Антикик 0x");
   fprintf(a,"%x",Hack.kik);
 fprintf(a,"\n");

   fclose(a);


MessageBoxA(0,"Сканер запущен","http://zhyk.ru™",64);
system("C:\\Signature_Finder.txt");
ExitProcess(0);
}
}
return TRUE;
}
Теперь перейдем к Data.h,вписываем в него:
Код:
class Gamehack
{
        
public:

        VOID killFrost()
        {
                if(GetModuleHandleW(L"frostcollector.dll"))
{
DWORD frostadr = (DWORD)GetProcAddress(GetModuleHandleW(L"frostcollector.dll"),"frostFunc");   //убийство фроста
DWORD retfrostfunc = frostadr +0x163;
 for(int i=frostadr;i<retfrostfunc;i++) { MEMwrite((void *)(i),(void *)"\x90",1);}
}
        }

        
        DWORD MaxBull;
        DWORD Speed;
        DWORD HP1;
        DWORD HP2;
        DWORD Antiotd1;
        DWORD Antiotd2;
        DWORD tochnost;
        DWORD Antidamage;
        DWORD fastresp1;
        DWORD fastresp2;
        DWORD skorostrel;
        DWORD antimig1;
        DWORD antimig2;
        DWORD antimig3;
         DWORD reload;//F5 для включениe, F4 отключение
         DWORD jump1;
         DWORD jump2;
         DWORD jump3;
         DWORD zoom;
         DWORD damage;//03 включение fc выключение
         DWORD grena;//87 включение fc выключение
         DWORD boom;//87 включение fc выключение
         DWORD lift;
         DWORD VK_KNIFE;
         DWORD VK_GRENADE;
          DWORD VK_PEST;
          DWORD VK_SPEC;
          DWORD VK_SWITCH_ON;
           DWORD kik;
           DWORD  dn;//9B включение FC выключение
           DWORD coord_boom;//90 включение F8 выключение

        Gamehack()//конкуструктор класса.
        {
                
MaxBull = FindPattern(0x401000,0x4c8000,(PBYTE)"\x8B\x45\xFC\x5E\x8B\xE5\x5D\xC3\x55\x8B\xEC\x83\xEC\x34\x89\x4D\xCC\x8B\x45\xCC\x8B\x88\x00\x00\x00\x00\x89\x4D\xF8\x83\x7D\xF8\x00\x75\x2A\x6A\x00\x68\x00\x00\x00\x00\x68\x00\x00\x00\x00\x6A\x00\xFF\x15\x00\x00\x00\x00\x83\xC4\x10\x68\x00\x00\x00\x00\x68\x00\x00\x00\x00\xFF\x15\x00\x00\x00\x00\x83\xC4\x08","xxxxxxxxxxxxxxxxxxxxxx????xxxxxxxxxxxx????x????xxxx????xxxx????x????xx????xxx");
Speed =  FindPattern(0x401000,0x4c8000,(PBYTE)"\xD9\x45\xF8\x8B\xE5\x5D\
xC2\x04\x00\x8B\xFF\xD5\xF4\x62\x00\xE2\xF4\x62\
x00\xEF\xF4\x62\x00\xFC\xF4","xxxxxxxxxxxxxxxxxxxxxxxxx");

HP1 = FindPattern(0x401000,0x4c8000,(PBYTE)"\x0F\x84\x00\x00\x00\x00\
x8B\x85\x00\x00\x00\x00\x8B\x48\x10\xE8\x00\x00\
x00\x00\x50\x8B\x8D\x00\x00\x00\x00\x8B\x49\x10\
xE8\x00\x00\x00\x00\x50\x8B\x0D\x00\x00\x00\x00\
xE8\x00\x00\x00\x00\x50\x68\x00\x00\x00\x00\x68\
x00\x00\x00\x00","xx????xx????xxxx????xxx????xxxx????xxx????x????xx????x????"
);
HP2 = FindPattern(0x401000,0x4c8000,(PBYTE)"\x0F\x85\x00\x00\x00\x00\
x8D\x4D\x93\x89\x4D\x94\x6A\x00\x6A\x00\x8D\x4D\
xB8\xE8\x00\x00\x00\x00\xC7\x85\x00\x00\x00\x00\
x00\x00\x00\x00\x8B\x95\x00\x00\x00\x00\x83\xC2\
x01\x89\x95\x00\x00\x00\x00\x8B\x85\x00\x00\x00\
x00\x8A\x08\x88\x8D\x57\xFF\xFF\xFF\x83\x85\x5C\
xFF\xFF\xFF\x01\x80\xBD\x57\xFF\xFF\xFF\x00\x75\
xE2\x8B\x95\x00\x00\x00\x00\x2B\x95\x00\x00\x00\
x00\x89\x95\x00\x00\x00\x00\x8B\x85\x00\x00\x00\
x00\x50\x68\x00\x00\x00\x00","xx????xxxxxxxxxxxxxx????xx????????xx????xxxxx????xx????xxxxxxxxxxxxxxxxxxxxxxxxxx????xx????xx????xx????xx????");
Antiotd1= FindPattern(0x401000,0x4c8000,(PBYTE)"\xD9\x45\xF8\x8B\xE5\x5D\
xC3\xCC\xCC\xCC\xCC\xCC\x55\x8B\xEC\x83\xEC\x2C\
x89\x4D\xD4\xF3\x0F\x10\x05\x00\x00\x00\x00\xF3\
x0F\x11\x45\xF8\x8B\x45\xD4\x8B\x88\x00\x00\x00\
x00\x8B\x55\xD4\x8B\x82\x00\x00\x00\x00\x8B\x11\
x8B\xC8\x8B\x82\x00\x00\x00\x00\xFF\xD0\xD9\x5D\
xFC","xxxxxxxxxxxxxxxxxxxxxxxxx????xxxxxxxxxx????xxxxx????xxxxxx????xxxxx");
 Antiotd2 = FindPattern(0x401000,0x4c8000,(PBYTE)"\xD9\x45\xF8\x8B\xE5\x5D\
xC3\xCC\xCC\xCC\xCC\xCC\x55\x8B\xEC\x83\xEC\x18\
x89\x4D\xE8\xF3\x0F\x10\x05\x00\x00\x00\x00\xF3\
x0F\x11\x45\xFC\x8B\x45\xE8\x8B\x88\x00\x00\x00\
x00\x8B\x55\xE8\x8B\x82\x00\x00\x00\x00\x8B\x11\
x8B\xC8\x8B\x82\x00\x00\x00\x00\xFF\xD0","xxxxxxxxxxxxxxxxxxxxxxxxx????xxxxxxxxxx????xxxxx????xxxxxx????xx");
 tochnost = FindPattern(0x401000,0x4c8000,(PBYTE)"\xD9\x45\xFC\x8B\xE5\x5D\
xC3\xCC\xCC\xCC\xCC\x55\x8B\xEC\x83\xEC\x28\x89\
x4D\xDC\x8B\x45\xDC\x8B\x88\x00\x00\x00\x00\x89\
x4D\xF4\x83\x7D\xF4\x00\x74\x4E\x8B\x55\xDC\x8B\
x82\x00\x00\x00\x00\x89\x45\xF0\x8B\x4D\xF0\x8B\
x91\x00\x00\x00\x00\x89\x55\xEC\x8B\x45\xEC\x8B\
x88\x00\x00\x00\x00\x89\x4D\xE8\x83\x7D\xE8\x01\
x75\x24","xxxxxxxxxxxxxxxxxxxxxxxxx????xxxxxxxxxxxxxx????xxxxxxxx????xxxxxxxx????xxxxxxxxx"
);
Antidamage = FindPattern(0x401000,0x4c8000,(PBYTE)"\x8B\x45\xFC\x8B\xE5\x5D\
xC2\x04\x00\xCC\xCC\xCC\xCC\xCC\x55\x8B\xEC\x83\
xEC\x44\x89\x4D\xBC\x8D\x45\xF4\x50\x8B\x4D\xBC\
x8B\x89\x00\x00\x00\x00\xFF\x15\x00\x00\x00\x00\
xD9\x45\xF4","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx????xx????xxx");
  fastresp1 = FindPattern(0x401000,0x4c8000,(PBYTE)"\xF3\x0F\x10\x45\xE8\xF3\
x0F\x11\x45\xC0\x8B\x55\xC4\xF3\x0F\x10\x45\xC0\
xF3\x0F\x11\x82\x00\x00\x00\x00\xA1\x00\x00\x00\
x00\x8B\x88\x00\x00\x00\x00\x89\x4D\xBC\xF3\x0F\
x10\x45\xEC\xF3\x0F\x11\x45\xB8\x8B\x55\xBC\xF3\
x0F\x10\x45\xB8\xF3\x0F\x11\x82\x00\x00\x00\x00\
xF3\x0F\x10\x05\x00\x00\x00\x00\xF3\x0F\x11\x45\
xE8\xF3\x0F\x10\x05\x00\x00\x00\x00\xF3\x0F\x11\
x45\xEC","xxxxxxxxxxxxxxxxxxxxxx????x????xx????xxxxxxxxxxxxxxxxxxxxxxxxx????xxxx????xxxxxxxxx????xxxxx");
 fastresp2 = FindPattern(0x401000,0x4c8000,(PBYTE)"\xF3\x0F\x10\x45\xEC\xF3\
x0F\x11\x45\xB8\x8B\x55\xBC\xF3\x0F\x10\x45\xB8\
xF3\x0F\x11\x82\x00\x00\x00\x00\xF3\x0F\x10\x05\
x00\x00\x00\x00\xF3\x0F\x11\x45\xE8\xF3\x0F\x10\
x05\x00\x00\x00\x00\xF3\x0F\x11\x45\xEC\x8D\x45\
xE8\x50\x68\x00\x00\x00\x00\x8B\x4D\xF8\x51\xFF\
x15\x00\x00\x00\x00\x83\xC4\x0C\x8D\x55\xEC\x52\
x68\x00\x00\x00\x00","xxxxxxxxxxxxxxxxxxxxxx????xxxx????xxxxxxxxx????xxxxxxxxxx????xxxxxx????xxxxxxxx????");
 skorostrel =  FindPattern(0x401000,0x4c8000,(PBYTE)"\xD9\x45\xFC\x8B\xE5\x5D\
xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x55\
x8B\xEC\x83\xEC\x14\x89\x4D\xEC\x8B\x45\xEC\x8B\
x88\x00\x00\x00\x00\xE8\x00\x00\x00\x00\xD9\x5D\
xFC\x8B\x4D\xEC","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx????x????xxxxxx");
 antimig1 = FindPattern(0x401000,0x4c8000,(PBYTE)"\x0F\x10\x45\xE8\xF3\x0F\
x11\x45\xB0\x8B\x45\xB4\xF3\x0F\x10\x45\xB0\xF3\
x0F\x11\x80\x00\x00\x00\x00\x8B\x0D\x00\x00\x00\
x00\x8B\x91\x00\x00\x00\x00\x89\x55\xAC\xF3\x0F\
x10\x45\xEC\xF3\x0F\x11\x45\xA8\x8B\x45\xAC\xF3\
x0F\x10\x45\xA8\xF3\x0F\x11\x80\x00\x00\x00\x00\
x8B\xE5\x5D\xC3","xxxxxxxxxxxxxxxxxxxxx????xx????xx????xxxxxxxxxxxxxxxxxxxxxxxxx????xxxx");
 antimig2 = FindPattern(0x401000,0x4c8000,(PBYTE)"\xB0\xF3\x0F\x11\x80\x00\
x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x8B\x91\x00\
x00\x00\x00\x89\x55\xAC\xF3\x0F\x10\x45\xEC\xF3\
x0F\x11\x45\xA8\x8B\x45\xAC\xF3\x0F\x10\x45\xA8\
xF3\x0F\x11\x80\x00\x00\x00\x00\x8B\xE5\x5D\xC3\
xCC\xCC\xCC\xCC\xCC\x55\x8B\xEC\x6A\xFF","xxxxx????xx????xx????xxxxxxxxxxxxxxxxxxxxxxxxx????xxxxxxxxxxxxxx");
 antimig3 = FindPattern(0x401000,0x4c8000,(PBYTE)"\xEC\xF3\x0F\x11\x45\xA8\
x8B\x45\xAC\xF3\x0F\x10\x45\xA8\xF3\x0F\x11\x80\
x00\x00\x00\x00\x8B\xE5\x5D\xC3\xCC\xCC\xCC\xCC\
xCC","xxxxxxxxxxxxxxxxxx????xxxxxxxxx");
 reload = FindPattern(0x401000,0x4c8000,(PBYTE)"\xD9\x5D\xF4\x8B\x4D\x80\
xE8\x00\x00\x00\x00\x0F\xB6\xC8\x85\xC9\x74\x0C\
xD9\x45\xF4\xDC\x0D\x00\x00\x00\x00\xD9\x5D\xF4\
xE9\x00\x00\x00\x00\x8B\x55\x80","xxxxxxx????xxxxxxxxxxxx????xxxx????xxx");
 jump1 = FindPattern(0x401000,0x4c8000,(PBYTE)"\x74\x05\xE9\x00\x00\x00\
x00\x8B\x45\xF0\x8B\x88\x00\x00\x00\x00\x89\x4D\
xFC\x8B\x55\xFC\x33\xC0\x83\x7A\x2C\x03\x0F\x94\
xC0\x0F\xB6\xC8\x85\xC9\x74\x05\xE9\x00\x00\x00\
x00","xxx????xxxxx????xxxxxxxxxxxxxxxxxxxxxxx????");
 jump2 = FindPattern(0x401000,0x4c8000,(PBYTE)"\x74\x05\xE9\x00\x00\x00\
x00\x8B\x4D\xF0\xE8\x00\x00\x00\x00\x0F\xB6\xD0\
x85\xD2\x74\x6D\x8B\x45\xF0\x8B\x88\x00\x00\x00\
x00\x83\xE1\x04\xF7\xD9\x1B\xC9\xF7\xD9\x0F\xB6\
xD1\x85\xD2","xxx????xxxx????xxxxxxxxxxxx????xxxxxxxxxxxxxx");
 jump3 = FindPattern(0x401000,0x4c8000,(PBYTE)"\x75\x2F\x8B\x4D\xF0\x8B\
x91\x00\x00\x00\x00\x89\x55\xF8\x8B\x4D\xF8\xE8\
x00\x00\x00\x00\x0F\xB6\xC0\x85\xC0\x74\x14\x8B\
x4D\xF0\x8B\x91\x00\x00\x00\x00\x89\x55\xF4\x8B\
x4D\xF4\xE8\x00\x00\x00\x00\x8B\xE5\x5D\xC3","xxxxxxx????xxxxxxx????xxxxxxxxxxxx????xxxxxxx????xxxx");
 zoom = FindPattern(0x401000,0x4c8000,(PBYTE)"\xD9\x45\xFC\x8B\xE5\x5D\
xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\
xCC\xCC\x55\x8B\xEC\x83\xEC\x10","xxxxxxxxxxxxxxxxxxxxxxxxxx"
);
 damage = FindPattern(0x401000,0x4c8000,(PBYTE)"\xD9\x45\xEC\x8B\xE5\x5D\
xC2\x04\x00\x8D\x49\x00\xF8\xFD\x62\x00\x86\xFE"
,"xxxxxxxxxxxxxxxxxx");
 grena = FindPattern(0x401000,0x4c8000,(PBYTE)"\xD9\x45\xFC\x8B\xE5\x5D\
xC3\x55\x8B\xEC\x83\xEC\x34\x56\x89\x4D\xCC\x8B\
x45\xCC\x8B\x88\x00\x00\x00\x00\x89\x4D\xF8\x83\
x7D\xF8\x00","xxxxxxxxxxxxxxxxxxxxxx????xxxxxxx");
 lift = FindPattern(0x401000,0x4c8000,(PBYTE)"\xD9\x45\xFC\x8B\xE5\x5D\
xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\
xCC\x55\x8B\xEC\x8B\x45\x0C\xD9\x00\x8B\x4D\x10\
xD8\x21\x8B\x55\x08","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
 VK_KNIFE=FindPattern(0x401000,0x4c8000,(PBYTE)"\xC7\x41\x00\x00\x00\
x00\x00\x8B\x95\x00\x00\x00\x00\xC7\x42\x00\x00\
x00\x00\x00\x8B\x85\x00\x00\x00\x00\xC7\x40\x00\
x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x89\x8D\
x00\x00\x00\x00\x8B\x8D\x00\x00\x00\x00\xE8\x00\
x00\x00\x00\x89\x85\x00\x00\x00\x00\x8B\x95\x00\
x00\x00\x00\x52","xx?????xx????xx?????xx????xx?????xx????xx????xx????x????xx????xx????x");
 VK_GRENADE=FindPattern(0x401000,0x4c8000,(PBYTE)"\xC7\x42\x00\x00\x00\
x00\x00\x8B\x85\x00\x00\x00\x00\xC7\x40\x00\x00\
x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x89\x8D\x00\
x00\x00\x00\x8B\x8D\x00\x00\x00\x00\xE8\x00\x00\
x00\x00\x89\x85\x00\x00\x00\x00\x8B\x95\x00\x00\
x00\x00\x52","xx?????xx????xx?????xx????xx????xx????x????xx????xx????x");
 VK_PEST = FindPattern(0x401000,0x4c8000,(PBYTE)"\xC7\x40\x00\x00\x00\x00\
x00\x8B\x8D\x00\x00\x00\x00\xC7\x41\x00\x00\x00\
x00\x00\x8B\x95\x00\x00\x00\x00\xC7\x42\x00\x00\
x00\x00\x00\x8B\x85\x00\x00\x00\x00\xC7\x40\x00\
x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x89\x8D\
x00\x00\x00\x00\x8B\x8D\x00\x00\x00\x00\xE8\x00\
x00\x00\x00\x89\x85\x00\x00\x00\x00\x8B\x95\x00\
x00\x00\x00\x52","xx?????xx????xx?????xx????xx?????xx????xx?????xx????xx????xx????x????xx????xx????x");
 VK_SPEC = FindPattern(0x401000,0x4c8000,(PBYTE)"\xC7\x40\x00\x00\x00\x00\
x00\x8B\x0D\x00\x00\x00\x00\x89\x8D\x00\x00\x00\
x00\x8B\x8D\x00\x00\x00\x00\xE8\x00\x00\x00\x00\
x89\x85\x00\x00\x00\x00\x8B\x95\x00\x00\x00\x00\
x52\xE8\x00\x00\x00\x00\x83\xC4\x04\x33\xC9","xx?????xx????xx????xx????x????xx????xx????xx????xxxxx");
 VK_SWITCH_ON = FindPattern(0x401000,0x4c8000,(PBYTE)"\x74\x34\x8B\x85\x00\x00\
x00\x00\xC7\x40\x00\x00\x00\x00\x00\x8B\x8D\x00\
x00\x00\x00\xC7\x41\x00\x00\x00\x00\x00\x8B\x95\
x00\x00\x00\x00\xC7\x42\x00\x00\x00\x00\x00\x8B\
x85\x00\x00\x00\x00\xC7\x40\x00\x00\x00\x00\x00\
x8B\x0D\x00\x00\x00\x00\x89\x8D\x00\x00\x00\x00\
x8B\x8D\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x89\
x85\x00\x00\x00\x00\x8B\x95\x00\x00\x00\x00\x52\
xE8\x00\x00\x00\x00","xxxx????xx?????xx????xx?????xx????xx?????xx????xx?????xx????xx????xx????x????xx????xx????xx????");
 kik = FindPattern(0x401000,0x4c8000,(PBYTE) "\x0F\x85\x00\x00\x00\x00\x8B\x4D\xE4\xC7\
x81\x00\x00\x00\x00\x00\x00\x00\x00\x8B\x15\x00\
x00\x00\x00\x8B\x82\x00\x00\x00\x00\x83\xE0\x08\
x83\xF8\x08\x0F\x94\xC1\x0F\xB6\xD1\x85\xD2\x75\
x3C\x68\x00\x00\x00\x00\x68\x00\x00\x00\x00\xE8\
x00\x00\x00\x00","xx????xxxxx????????xx????xx????xxxxxxxxxxxxxxxxx????x????x????");
  dn= FindPattern(0x401000,0x4c8000,(PBYTE) "\xD9\x45\xFC\x8B\xE5\x5D\xC3\xCC\xCC\xCC\
xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x55\x8B\
xEC\x83\xEC\x08\x89\x4D\xF8\x8B\x45\xF8\x8B\x88\
x00\x00\x00\x00\x8B\x55\xF8\x8B\x82\x00\x00\x00\
x00\x8B\x11\x8B\xC8\x8B\x82\x00\x00\x00\x00","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx????xxxxx????xxxxxx????");
  boom =FindPattern(0x401000,0x4c8000,(PBYTE) "\xD9\x45\xFC\x8B\xE5\x5D\xC3\x55\x8B\xEC\
x83\xEC\x10\x89\x4D\xF0\x8B\x45\xF0\x8B\x88\x00\
x00\x00\x00\x8B\x55\xF0","xxxxxxxxxxxxxxxxxxxxx????xxx");
  coord_boom=FindPattern(0x401000,0x4c8000,(PBYTE) "\xD9\x45\xF8\x8B\xE5\x5D\xC3\xCC\xCC\xCC\
xCC\xCC\xCC\x55\x8B\xEC\x83\xEC\x10\x89\x4D\xF0"
,"xxxxxxxxxxxxxxxxxxxxxx");
        }
}Hack;//объект Hack типа Gamehack
Вписываем в Functions.h
Код:
#include "windows.h"
#include "stdio.h"
#include <time.h>
#include <d3dx9.h>
#include <iostream>
#include "stdlib.h"
#include <fstream>




BOOL bCompare(const BYTE*pData,const BYTE*bMask,const char*szMask)
{
for(;*szMask;++szMask,++pData,++bMask)
if(*szMask=='x'&&*pData!=*bMask) 
return false;
return(*szMask)==NULL;
}

DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE*bMask,char*szMask)//Эта функция позволяет нам по уже заранее известным байтам найти нужный адрес
{
for(DWORD i=0; i < dwLen; i++)
if(bCompare((BYTE*)(dwAddress+i),bMask,szMask))
return(DWORD)(dwAddress+i);
return 0;
}



void MEMwrite(void *adr, void *ptr, int size)                                                                                   
{
        DWORD OldProtection;
VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &OldProtection);
memcpy(adr,ptr,size);
VirtualProtect(adr,size,OldProtection, &OldProtection);
}


        void *DetourCreate(BYTE *src, const BYTE *dst, const int len)
{
BYTE *jmp;
 DWORD dwback;
 DWORD jumpto, newjump;

 VirtualProtect(src,len,PAGE_READWRITE,&dwback);

 if(src[0] == 0xE9)
 {
  jmp = (BYTE*)malloc(10);
  jumpto = (*(DWORD*)(src+1))+((DWORD)src)+5;
  newjump = (jumpto-(DWORD)(jmp+5));
  jmp[0] = 0xE9;
  *(DWORD*)(jmp+1) = newjump;
  jmp += 5;
  jmp[0] = 0xE9;
  *(DWORD*)(jmp+1) = (DWORD)(src-jmp);
 }
 else
 {
  jmp = (BYTE*)malloc(5+len);
  memcpy(jmp,src,len);
  jmp += len;
  jmp[0] = 0xE9;
  *(DWORD*)(jmp+1) = (DWORD)(src+len-jmp)-5;
 }
 src[0] = 0xE9;
 *(DWORD*)(src+1) = (DWORD)(dst - src) - 5;

 for(int i = 5; i < len; i++)
  src[i] = 0x90;
 VirtualProtect(src,len,dwback,&dwback);
 return (jmp-len);
}


void EraseHeaders(HINSTANCE hModule1)
{

        PIMAGE_DOS_HEADER pDoH; 
        PIMAGE_NT_HEADERS pNtH;
        DWORD i, ersize, protect;

        if (!hModule1) return;
        
        // well just to make clear what we doing
        pDoH = (PIMAGE_DOS_HEADER)(hModule1);

        pNtH = (PIMAGE_NT_HEADERS)((LONG)hModule1 + ((PIMAGE_DOS_HEADER)hModule1)->e_lfanew);

        ersize = sizeof(IMAGE_DOS_HEADER);
        if ( VirtualProtect(pDoH, ersize, PAGE_READWRITE, &protect) )
        {
                for ( i=0; i < ersize; i++ )
                                *(BYTE*)((BYTE*)pDoH + i) = 0;
        }

        ersize = sizeof(IMAGE_NT_HEADERS);
        if ( pNtH && VirtualProtect(pNtH, ersize, PAGE_READWRITE, &protect) )
        {
                for ( i=0; i < ersize; i++ )
                                *(BYTE*)((BYTE*)pNtH + i) = 0;
        }
        return;
}

typedef struct _UNICODE_STRING 
{
        USHORT Length;
        USHORT MaximumLength;
        PWSTR Buffer;
} UNICODE_STRING, *PUNICODE_STRING;

typedef struct _ModuleInfoNode
{
        LIST_ENTRY LoadOrder;
        LIST_ENTRY InitOrder;
        LIST_ENTRY MemoryOrder;
        HMODULE baseAddress;
        unsigned long entryPoint;
        unsigned int size;
        UNICODE_STRING fullPath;
        UNICODE_STRING name;
        unsigned long flags;
        unsigned short LoadCount;
        unsigned short TlsIndex;
        LIST_ENTRY HashTable;
        unsigned long timestamp;
} ModuleInfoNode, *pModuleInfoNode;

typedef struct _ProcessModuleInfo
{
        unsigned int size;
        unsigned int initialized;
        HANDLE SsHandle;
        LIST_ENTRY LoadOrder;
        LIST_ENTRY InitOrder;
        LIST_ENTRY MemoryOrder;
} ProcessModuleInfo, *pProcessModuleInfo;

#define UNLINK(x) (x).Blink->Flink = (x).Flink; \
        (x).Flink->Blink = (x).Blink;

int HideModule( HMODULE hMod )
{
        ProcessModuleInfo *pmInfo;
        ModuleInfoNode *module;

        _asm
        {
                mov eax, fs:[18h] // TEB
                mov eax, [eax + 30h] // PEB
                mov eax, [eax + 0Ch] // PROCESS_MODULE_INFO
                mov pmInfo, eax
        }

        module = (ModuleInfoNode *)(pmInfo->LoadOrder.Flink);

        while(module->baseAddress && module->baseAddress != hMod){
                module = (ModuleInfoNode *)(module->LoadOrder.Flink);}

        if(!module->baseAddress){
                return 0;}

        UNLINK(module->LoadOrder);
        UNLINK(module->InitOrder);
        UNLINK(module->MemoryOrder);
        UNLINK(module->HashTable);
        memset(module->fullPath.Buffer, 0, module->fullPath.Length);
        memset(module, 0, sizeof(ModuleInfoNode));

        return 1;
}
Ну вот и все,в принципе наш сканер готов,но в чем загвоздка ?
А загвоздка тут:
Нужно обновить паттерн для правильности поиска адресов
И еще один сюрпрайз))
Добавляем привязку для большей крутости
Создаем License.h и пишем в него
Код:
VOID License()//привязка
{

        //==============Лицензия================

DWORD FreeBytesAvailable;   
DWORD TotalNumberOfBytes;
DWORD TotalNumberOfFreeBytes;
BOOL GetDiskFreeSpaceFlag = GetDiskFreeSpaceExA("c:\\",(PULARGE_INTEGER)&FreeBytesAvailable,(PULARGE_INTEGER)&
TotalNumberOfBytes,(PULARGE_INTEGER)&TotalNumberOfFreeBytes);
char NameBuffer[100];
char FileBuffer[100];
LPDWORD sz,fs;
DWORD drive_sn;
GetVolumeInformationA(NULL,NameBuffer,100,&drive_sn,sz,fs,FileBuffer,100);
DWORD INFO_DICK = drive_sn+ TotalNumberOfBytes+GetSystemMetrics(0);
const DWORD Keys[100] = {123,1682744229,0xee3df256,  
        0xee3df255,//пример ключа
               
for (int i = 0;i<100;i++)
{
        
     
        if(Keys[i]==INFO_DICK)
        {
                return;
        }
        
        
}
char text[60];
sprintf(text,"Ключ : %x\nSkype автора:",INFO_DICK);
MessageBoxA(0,text,"DLL не активирована!",MB_ICONHAND);
ExitProcess(0);
}
В исходнике уберите "//" возле того,что отвечает за лицуху
Пробуйте)
ПыСы.Сорри за оформление,делал на скорую руку.

Последний раз редактировалось Boomber™; 20.08.2012 в 17:47.
  Ответить с цитированием
Пользователь сказал cпасибо:
Travakur92 (25.08.2012)
Старый 20.08.2012, 18:14   #2
 Старший сержант
Аватар для slava-zis
 
slava-zis троюродный дядя Чака Норрисаslava-zis троюродный дядя Чака Норрисаslava-zis троюродный дядя Чака Норрисаslava-zis троюродный дядя Чака Норрисаslava-zis троюродный дядя Чака Норрисаslava-zis троюродный дядя Чака Норрисаslava-zis троюродный дядя Чака Норрисаslava-zis троюродный дядя Чака Норрисаslava-zis троюродный дядя Чака Норрисаslava-zis троюродный дядя Чака Норрисаslava-zis троюродный дядя Чака Норриса
Регистрация: 18.02.2011
Сообщений: 232
Популярность: 8824
Сказал(а) спасибо: 43
Поблагодарили 801 раз(а) в 240 сообщениях
Отправить сообщение для slava-zis с помощью Skype™
 
По умолчанию Re: Создаем адрес сканер для Пб

а зачем тут хукать директ?
________________
Hack for ShadowCompany
Hack for War Thunder
Дно геймхакинга
  Ответить с цитированием
Старый 20.08.2012, 18:18   #3
Читер-спонсор
 Пехотинец
Аватар для DED_MA3AY
 
DED_MA3AY гордость нацииDED_MA3AY гордость нацииDED_MA3AY гордость нацииDED_MA3AY гордость нацииDED_MA3AY гордость нацииDED_MA3AY гордость нацииDED_MA3AY гордость нацииDED_MA3AY гордость нацииDED_MA3AY гордость нацииDED_MA3AY гордость нацииDED_MA3AY гордость нации
Регистрация: 26.05.2010
Сообщений: 89
Популярность: 3087
Сказал(а) спасибо: 3
Поблагодарили 666 раз(а) в 268 сообщениях
Отправить сообщение для DED_MA3AY с помощью Skype™
 
По умолчанию Re: Создаем адрес сканер для Пб

Цитата:
Сообщение от slava-zisПосмотреть сообщение
а зачем тут хукать директ?

не .. ну тамже фрост хукается
  Ответить с цитированием
Старый 20.08.2012, 18:25   #4
 Разведчик
Аватар для Boomber™
 
Boomber™ неизвестен в этих краяхBoomber™ неизвестен в этих краях
Регистрация: 28.04.2012
Сообщений: 5
Популярность: -168
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 3 сообщениях
 
По умолчанию Re: Создаем адрес сканер для Пб

Оо , тут отписались цари
ПыСы. Славик,дай пожалуйста скуп в лс. Если что,то распространять не буду,ну если ты скажешь мне
ну и так не буду ^^
  Ответить с цитированием
Старый 20.08.2012, 18:35   #5
 Сержант
Аватар для Meteor2142
 
Meteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нации
Регистрация: 12.04.2011
Сообщений: 142
Популярность: 3904
Сказал(а) спасибо: 279
Поблагодарили 361 раз(а) в 174 сообщениях
Отправить сообщение для Meteor2142 с помощью Skype™
 
По умолчанию Re: Создаем адрес сканер для Пб

slava-zis,
Спроси у автора этого чуда, похоже он отлично разбирается в С++
P.S не знаю зачем это все чудо делать, если у тебя и так будут готовые паттерны...
  Ответить с цитированием
Старый 20.08.2012, 18:37   #6
 Разведчик
Аватар для Boomber™
 
Boomber™ неизвестен в этих краяхBoomber™ неизвестен в этих краях
Регистрация: 28.04.2012
Сообщений: 5
Популярность: -168
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 3 сообщениях
 
По умолчанию Re: Создаем адрес сканер для Пб

Цитата:
Сообщение от Meteor2142Посмотреть сообщение
Спроси у автора этого чуда, похоже он отлично разбирается в С++

Ой,а я же забыл сказать,что код копипаст
  Ответить с цитированием
Старый 22.08.2012, 11:08   #7
 Разведчик
Аватар для Teest[3]
 
Teest[3] неизвестен в этих краяхTeest[3] неизвестен в этих краях
Регистрация: 27.07.2012
Сообщений: 1
Популярность: -175
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Создаем адрес сканер для Пб

Копипаст. Автор Жуков!
  Ответить с цитированием
Старый 22.08.2012, 13:37   #8
 Разведчик
Аватар для smile33
 
smile33 блестящий пример для подражанияsmile33 блестящий пример для подражанияsmile33 блестящий пример для подражанияsmile33 блестящий пример для подражанияsmile33 блестящий пример для подражанияsmile33 блестящий пример для подражанияsmile33 блестящий пример для подражанияsmile33 блестящий пример для подражанияsmile33 блестящий пример для подражанияsmile33 блестящий пример для подражанияsmile33 блестящий пример для подражания
Регистрация: 22.02.2012
Сообщений: 49
Популярность: 2418
Сказал(а) спасибо: 123
Поблагодарили 79 раз(а) в 56 сообщениях
 
По умолчанию Re: Создаем адрес сканер для Пб

Цитата:
Сообщение от Boomber™Посмотреть сообщение
BOOL HookFrost(void)//хукаем фрост

спасибо,поржал

Добавлено через 2 минуты
slava-zis, Ссорь что не по теме,но..ты у меня в скайпе есть
________________
Украина не победима...
Кто имел дело с ring0 пишите в лс...

Последний раз редактировалось smile33; 22.08.2012 в 13:40. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 22.08.2012, 16:28   #9
 Разведчик
Аватар для alex29star
 
alex29star на правильном пути
Регистрация: 07.09.2011
Сообщений: 16
Популярность: 22
Сказал(а) спасибо: 4
Поблагодарили 13 раз(а) в 10 сообщениях
 
По умолчанию Re: Создаем адрес сканер для Пб

А если байты адресов функций сменятся ? сканер будит находить адреса?
________________
Цитата:
[Ссылки могут видеть только зарегистрированные пользователи. ]

  Ответить с цитированием
Старый 22.08.2012, 17:39   #10
 Сержант
Аватар для Meteor2142
 
Meteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нации
Регистрация: 12.04.2011
Сообщений: 142
Популярность: 3904
Сказал(а) спасибо: 279
Поблагодарили 361 раз(а) в 174 сообщениях
Отправить сообщение для Meteor2142 с помощью Skype™
 
По умолчанию Re: Создаем адрес сканер для Пб

alex29star,
Кашено нет, он по маске находит, если такой последовательности байтов он не найдет функция выдаст 0
  Ответить с цитированием
Старый 22.08.2012, 17:49   #11
 Разведчик
Аватар для alex29star
 
alex29star на правильном пути
Регистрация: 07.09.2011
Сообщений: 16
Популярность: 22
Сказал(а) спасибо: 4
Поблагодарили 13 раз(а) в 10 сообщениях
 
По умолчанию Re: Создаем адрес сканер для Пб

Цитата:
Сообщение от Meteor2142Посмотреть сообщение
alex29star,
Кашено нет, он по маске находит, если такой последовательности байтов он не найдет функция выдаст 0

просто после вчерашней профы сменились байты на некоторых функциях, если иннова терь каждую обнову будит делать такую то смысла в сканере я не вижу
________________
Цитата:
[Ссылки могут видеть только зарегистрированные пользователи. ]

  Ответить с цитированием
Старый 22.08.2012, 17:58   #12
 Сержант
Аватар для Meteor2142
 
Meteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нацииMeteor2142 гордость нации
Регистрация: 12.04.2011
Сообщений: 142
Популярность: 3904
Сказал(а) спасибо: 279
Поблагодарили 361 раз(а) в 174 сообщениях
Отправить сообщение для Meteor2142 с помощью Skype™
 
По умолчанию Re: Создаем адрес сканер для Пб

alex29star,
Лично у меня паттерн работает ~ 3-5 обнов
  Ответить с цитированием
Старый 24.08.2012, 20:55   #13
 Разведчик
Аватар для alex29star
 
alex29star на правильном пути
Регистрация: 07.09.2011
Сообщений: 16
Популярность: 22
Сказал(а) спасибо: 4
Поблагодарили 13 раз(а) в 10 сообщениях
 
По умолчанию Re: Создаем адрес сканер для Пб

кстати исходник рабочий, ток байты там рабочие на анлимпатроны ,а остальные надо обновлять
________________
Цитата:
[Ссылки могут видеть только зарегистрированные пользователи. ]


Последний раз редактировалось alex29star; 24.08.2012 в 20:57.
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Сканер чата Half Blood Общение и обсуждение Perfect World 0 30.09.2011 10:11
Сканер hope18666 Боты, скрипты и прочий софт для Aion 1 08.11.2010 18:15
гео бот и сканер dead91 Общение и обсуждение Perfect World 3 11.09.2010 00:51

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 02:30.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net