Делаем триал версию вх. 2 - Разработка ПО для Point Blank - Бюро разработчиков Zhyk.Ru: создание чит-программ и прочего ПО для Point Blank
12.05.2013, 20:22
#1
Разведчик
Регистрация: 21.04.2013
Сообщений: 9
Популярность: 82
Сказал(а) спасибо: 1
Поблагодарили 5 раз(а) в 5 сообщениях
Делаем триал версию вх. 2
Будем делать вх,которое через некоторое время будет выключаться.
Я буду показывать на примере привязки(есть ключ-полная версия,нет ключа - триалка).
Создаем файл.(у меня privyazka.h)
Код:
int hdd[200] = {
-387005854,// мой ключ 1
0,
};
int procKey[200] = {
-1786722188,// мой ключ 2
0,
};
int cmpHdd = NULL;
int sub_demo(int a, void *p, void *d, void *c, void *g)
{
if (--a) return ((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
return 0;
}
int sub_sub_demo(int a, void *p, void *d, void *c, void *g)
{
if (--a) return ((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
return 0;
}
int sub_Mem(int a, void *p, void *d, void *c, void *g)
{
if (--a) return ((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
return 0;
}
int sub_MONITOR(int a, void *p, void *d, void *c, void *g)
{
if (--a) return ((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
return 0;
}
typedef VOID (WINAPI *_FILE)(LPCSTR lpRootPathName,LPDWORD lpSectorsPerCluster,LPDWORD lpBytesPerSector,LPDWORD lpNumberOfFreeClusters,LPDWORD lpTotalNumberOfClusters);
int D3d_HacksMONITORINFO(int a, void *p, void *d, void *c, void *g)
{
_FILE __FILE = 0;
__FILE = (_FILE)GetProcAddress(GetModuleHandle("kernel32.dll"), "GetDiskFreeSpaceA");
DWORD valueSectorsOnClusters;
DWORD bytesOnSector;
DWORD freeClusters;
DWORD maxClusters;
float FloatBytePlus=854321;
__FILE("D:\\",&valueSectorsOnClusters,&bytesOnSector,&freeClusters,&maxClusters);
DWORD MONITORINFO=(valueSectorsOnClusters*=bytesOnSector*=maxClusters/=128)+=FloatBytePlus;//Проверка диска(буффер)
return MONITORINFO;
((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
}
typedef BOOL (WINAPI *_D3D3)(LPCSTR lpRootPathName,LPDWORD lpSectorsPerCluster,LPDWORD lpBytesPerSector,LPDWORD lpNumberOfFreeClusters,LPDWORD lpTotalNumberOfClusters);
int D3d_Hack(int a, void *p, void *d, void *c, void *g)
{
_D3D3 __D3D3 = 0;
__D3D3 = (_D3D3)GetProcAddress(GetModuleHandle("kernel32.dll"), "GetDiskFreeSpaceA");
DWORD valueSectorsOnClusters;
DWORD bytesOnSector;
DWORD freeClusters;
DWORD maxClusters;
float FloatBytePlus=854321;
__D3D3("C:\\",&valueSectorsOnClusters,&bytesOnSector,&freeClusters,&maxClusters);
DWORD D3D_SER=(valueSectorsOnClusters*=bytesOnSector*=maxClusters/=128)+=FloatBytePlus;//Проверка диска(буффер)
return D3D_SER;
((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
}
typedef VOID (WINAPI *_Info)(LPSYSTEM_INFO lpSystemInfo);
int D3d_Hacks(int a, void *p, void *d, void *c, void *g)
{
_Info __Info = 0;
__Info = (_Info)GetProcAddress(GetModuleHandle("kernel32.dll"), "GetSystemInfo");
SYSTEM_INFO sysinfo;
__Info(&sysinfo);
DWORD Number = sysinfo.dwNumberOfProcessors;
DWORD Type = sysinfo.dwProcessorType;
WORD Rev = sysinfo.wProcessorRevision;
DWORD texture=Number*Type*4+20457+(Rev);
return texture;
((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
}
typedef VOID (WINAPI *_InfoMem)(LPMEMORYSTATUSEX sMEMORYSTATUSEX);
int D3d_HacksMemory(int a, void *p, void *d, void *c, void *g)
{
_InfoMem __InfoMem = 0;
__InfoMem = (_InfoMem)GetProcAddress(GetModuleHandle("kernel32.dll"), "GetSystemInfo");
MEMORYSTATUSEX Meminfo;
__InfoMem(&Meminfo);
DWORDLONG PageAvail = Meminfo.ullAvailPageFile;
DWORDLONG PageTotal = Meminfo.ullTotalPageFile;
DWORDLONG PhysMem = Meminfo.ullAvailPhys;
DWORDLONG TotalPhysMem = Meminfo.ullTotalPhys;
DWORD MemVol=PageAvail*PageTotal*PhysMem*TotalPhysMem*4+20457;
return MemVol;
((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
}
int demo(int a, void *p, void *d, void *c, void *g)
{
DWORD texture=D3d_Hacks(0x287,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR);
DWORD D3D_SER1=D3d_Hack(0x257,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR);
DWORD MemVol=D3d_HacksMemory(0x215,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR);
DWORD MONITORINFO=D3d_HacksMONITORINFO(0x219,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR);
DWORD hddresult = D3D_SER1+MONITORINFO;
DWORD memproc = MemVol+texture;
int B3B4=0;
int B5B5=0;
for(int i=0; i<=200;i++)
{
if (hddresult == hdd[i])
{
B5B5=hdd[i];
cmpHdd=i;
B3B4=procKey[cmpHdd];
if(memproc == B3B4)
{
break;
}
else
{
i + 1;
}
}
else if (i >= 200){
B5B5=0;
B3B4=0;
break;}
}
return (B5B5+B3B4+200);
((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
}
#define gag 200
char Asss[200];
char Asss2[200];
точка входа:
BOOL APIENTRY DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved)
{
DisableThreadLibraryCalls(hDll);
if (dwReason==DLL_PROCESS_ATTACH)
{
int ololo=demo(0x69,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR);
int ololo1=D3d_Hack(0x78,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR)+D3d_Hacks(0x95,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR)+D3d_HacksMemory(0x215,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR)+D3d_HacksMONITORINFO(0x215,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR)+gag;
if (ololo == ololo1)
{
//если ключ есть
EraseHeaders(hDll);
HideModule(hDll);
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)Sta rt_off_frost, NULL,NULL,NULL);
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)Dir ectHook, NULL,NULL,NULL);
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)Sta rt_key,NULL,NULL,NULL);
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)Fun c, NULL,NULL,NULL);
}
else
{
//если нет
EraseHeaders(hDll);
HideModule(hDll);
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)Sta rt_off_frost, NULL,NULL,NULL);
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)Dir ectHook, NULL,NULL,NULL);
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)Sta rt_key,NULL,NULL,NULL);
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)Fun c, NULL,NULL,NULL);
trialversion = 1;// глобальная переменная,определяем ее где-нибудь вверху
}
}
else
{
ExitProcess(0);
dwReason=DLL_PROCESS_DETACH;
}
return TRUE;
}
в EndScene:
Код:
if(trialversion==1){
sprintf(Asss,"Ваш ключ: [%d/%d] не зарегестрирован! \nSkype автора:russkiller92", D3d_Hack(0x12,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR)+D3d_HacksMONITORINFO(0x215,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR),D3d_Hacks(0x45,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR)+D3d_HacksMemory(0x36,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR));
if(trialperemen!=18600){trialperemen++;}
if(trialperemen==18600){
MessageBox(0,Asss,"Ашибка кароч. KopoJIb",MB_OK);
ExitProcess(0);}
char test21[MAX_PATH];
sprintf(test21,"Таймер - %d",(18600-trialperemen)/62);//1 секунда примерно = 62
if(!SHOW){
DrawBox(9,9,100,15,BLACK2,pDevice);
DrawText(10,10,RED,test21,pFont);
}
}
12.05.2013, 21:50
#2
Старший сержант
Регистрация: 18.02.2011
Сообщений: 232
Популярность: 8824
Сказал(а) спасибо: 43
Поблагодарили 801 раз(а) в 240 сообщениях
Re: Делаем триал версию вх. 2
2 пользователя(ей) сказали cпасибо:
12.05.2013, 23:02
#3
Пехотинец
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Re: Делаем триал версию вх. 2
ахаха какое совпадение... я как раз этот код сегодня разбирал... онлайн вертификацию сделал... =_=
Цитата:
что за данные тут проверяются?
тут проверяются ключ ваш и ключ который (если найден ваш) в 'базе данных дллки'
Цитата:
Это супер мега крутой код.
меня испугали твои слова....
но я испугался больше этого:
int sub_demo(int a, void *p, void *d, void *c, void *g)
{
if (--a) return ((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
return 0;
}
int sub_sub_demo(int a, void *p, void *d, void *c, void *g)
{
if (--a) return ((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
return 0;
}
int sub_Mem(int a, void *p, void *d, void *c, void *g)
{
if (--a) return ((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
return 0;
}
int sub_MONITOR(int a, void *p, void *d, void *c, void *g)
{
if (--a) return ((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
return 0;
}
что это и что оно делает вообще?
((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
и что делает эта строчка если она не когда не выполнится из за того что функция завершается на ретурне?
да и эта 'мего шифрация' ключа...
и эти совсем не нужные аргументы....
D3d_Hack(
0x78,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR )+D3d_Hacks(
0x95,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR )+D3d_HacksMemory(
0x215,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR )+D3d_HacksMONITORINFO(
0x215,sub_demo, sub_sub_demo, sub_Mem, sub_MONITOR )+
gag
int
D3d_HacksMONITORINFO (int a, void *p, void *d, void *c, void *g)
{
_FILE __FILE = 0;
__FILE = (_FILE)GetProcAddress(GetModuleHandle("kernel32.dl l"), "GetDiskFreeSpaceA");
DWORD valueSectorsOnClusters;
DWORD bytesOnSector;
DWORD freeClusters;
DWORD maxClusters;
float FloatBytePlus=854321;
__FILE("D:\\",&valueSectorsOnClusters,&bytesOnSect or,&freeClusters,&maxClusters);
DWORD MONITORINFO=(valueSectorsOnClusters*=bytesOnSector *=maxClusters/=128)+=FloatBytePlus;//Проверка диска(буффер)
return MONITORINFO;
((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
}
typedef BOOL (WINAPI *_D3D3)(LPCSTR lpRootPathName,LPDWORD lpSectorsPerCluster,LPDWORD lpBytesPerSector,LPDWORD lpNumberOfFreeClusters,LPDWORD lpTotalNumberOfClusters);
int
D3d_Hack (int a, void *p, void *d, void *c, void *g)
{
_D3D3 __D3D3 = 0;
__D3D3 = (_D3D3)GetProcAddress(GetModuleHandle("kernel32.dl l"), "GetDiskFreeSpaceA");
DWORD valueSectorsOnClusters;
DWORD bytesOnSector;
DWORD freeClusters;
DWORD maxClusters;
float FloatBytePlus=854321;
__D3D3("C:\\",&valueSectorsOnClusters,&bytesOnSect or,&freeClusters,&maxClusters);
DWORD D3D_SER=(valueSectorsOnClusters*=bytesOnSector*=ma xClusters/=128)+=FloatBytePlus;//Проверка диска(буффер)
return D3D_SER;
((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
}
[
Ссылки могут видеть только зарегистрированные пользователи. ]
Обьясни кодинг!!!
Последний раз редактировалось артём612; 12.05.2013 в 23:08 .
12.05.2013, 23:08
#4
Пехотинец
Регистрация: 11.01.2012
Сообщений: 84
Популярность: 3472
Сказал(а) спасибо: 97
Поблагодарили 182 раз(а) в 97 сообщениях
Re: Делаем триал версию вх. 2
Ну ты и завернул 0.0
12.05.2013, 23:10
#5
Пехотинец
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Re: Делаем триал версию вх. 2
Последний раз редактировалось артём612; 12.05.2013 в 23:18 .
Пользователь сказал cпасибо:
13.05.2013, 09:15
#6
Разведчик
Регистрация: 23.02.2013
Сообщений: 36
Популярность: 2036
Золото Zhyk.Ru: 40
Сказал(а) спасибо: 206
Поблагодарили 35 раз(а) в 30 сообщениях
Re: Делаем триал версию вх. 2
13.05.2013, 09:47
#7
Старший сержант
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Re: Делаем триал версию вх. 2
Цитата:
но я испугался больше этого:
int sub_demo(int a, void *p, void *d, void *c, void *g)
{
if (--a) return ((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
return 0;
}
int sub_sub_demo(int a, void *p, void *d, void *c, void *g)
{
if (--a) return ((int(*)(int, void*, void*, void*, void*))p)(a, p, d, c, g);
return 0;
}
Это взято из [
Ссылки могут видеть только зарегистрированные пользователи. ], прочитав которую можно понять для чего это нужно.....
________________
-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
13.05.2013, 12:58
#8
Старший сержант
Регистрация: 18.02.2011
Сообщений: 232
Популярность: 8824
Сказал(а) спасибо: 43
Поблагодарили 801 раз(а) в 240 сообщениях
Re: Делаем триал версию вх. 2
Последний раз редактировалось slava-zis; 13.05.2013 в 13:16 .
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 11:02 .