Итак тема для того что бы научиться делать в своём ВХ купоны
Кто не умеет находить пойнтеры и оффсеты тупые вопросы не задавать
Итак начнём:
1.Объявляем наши переменные:
kypont
kyponc
Согласно вашему исходнику
int kypont;
int kyponc;
или
int kypont=0;
int kyponc=0;
2. cMain.cpp
-Прописываем функцию в меню:
Например:
Код:
Код:
MenuAdd(" Купоны для Терров",Moptonoff,&kypont,2,3);
MenuAdd(" Купоны для Копов",Moptonoff,&kyponc,2,3);
У каждого структура меню разная.
-Далее находим такую строчку
Код:
Код:
return pDrawIndexedPrimitive(pDevice, Type, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
Ниже неё пишем
Код:
Код:
DWORD WINAPI Pointer(LPVOID param)
{
DWORD Module=NULL;
while(Module==NULL)
Module=(DWORD)GetModuleHandleA("pointblank.i3exec");
DWORD Pointer_Room=(DWORD)Module+0xваш поинтер;
int Address_room;
while (1)
{
if(kypont == 1)
{
ReadProcessMemory(GetCurrentProcess(), (LPVOID*)(DWORD) Pointer_Room, &Address_room, sizeof(Address_room), NULL);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
}
if(kyponc == 1)
{
ReadProcessMemory(GetCurrentProcess(), (LPVOID*)(DWORD) Pointer_Room, &Address_room, sizeof(Address_room), NULL);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
MEMwrite((void *)(Address_room + 0x ваше смещение),(void *)"\xFF\xFF" , 2);
}
Sleep(500);
}
}
Листае ниже и видим такое:
Код:
Код:
BOOL WINAPI DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved)
{
if (dwReason==DLL_PROCESS_ATTACH)
{
HideDLL(hDll);
HANDLE hExitThread=CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)что-то ваше,NULL,NULL,NULL);
}
return TRUE;
}
Дописуем:
Код:
Код:
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)Pointer,NULL,NULL,NUL
L);
Должно получится так:
Код:
Код:
OOL WINAPI DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved)
{
if (dwReason==DLL_PROCESS_ATTACH)
{
HideDLL(hDll);
HANDLE hExitThread=CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)что-то ваше,NULL,NULL,NULL);
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)Pointer,NULL,NULL,NUL
L);
}
return TRUE;
}
3. В cHack.h пишем
Код:
void MEMwrite(void *adr, void *ptr, int size)
{
VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &OldProtection);
memcpy(adr,ptr,size);
VirtualProtect(adr,size,OldProtection, &OldProtection);
}
Всё делаем dll и наши купоны готовы
Будут вопросы задавайте постораемся ответить
Хайд на усмотрение Администрации[/HIDE]
Добавлено через 15 часов 12 минут
Хайд на усмотрение администрации