PDA

Просмотр полной версии : DLL не долго


TXB-Hero
29.09.2010, 20:05
Пожалуйста, помогите, ...
Я пытался создать файл. Библиотек прибыль фальсификации Point Blank Индонезии ...
но, может быть код, который я использую слишком просто ... так всегда быть обнаружены и выбыла из игры ...
просьба дать решение ... Я создал этот код


#include <windows.h>
#include "main.h"
#include "addys.h"

LPTSTR i3exec = "PointBlank.i3exec";

HANDLE Handle_Of_Thread_1, Handle_Of_Thread_2 = 0;
int Data_Of_Thread_1 = 1;
int Data_Of_Thread_2 = 2;
bool pertamax=true;

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

void PATCH(void)
{
// patch sekali aja
if (pertamax) {
DWORD adrWall = 0;
// cari base address i3exec
DWORD dwI3EXEC = (DWORD)GetModuleHandleA(i3exec);


adrNoDC1 = dwI3EXEC + (DWORD)OFS_NODC1;
MEMwrite((void *)(adrNoDC1),(void*)(PBYTE)"\x00", 1);

adrNoDC2 = dwI3EXEC + (DWORD)OFS_NODC2;
MEMwrite((void *)(adrNoDC2),(void*)(PBYTE)"\x00", 1);


adrAmmo = dwI3EXEC + (DWORD)OFS_AMMO;
MEMwrite((void *)(adrAmmo),(void*)(PBYTE)"\xC3", 1);


adrWall = dwI3EXEC + (DWORD)OFS_WALL;
MEMwrite((void *)(adrWall),(void*)(PBYTE)"\xC3", 1);


MessageBeep(0);
pertamax=false;
// we're done
CloseHandle(Handle_Of_Thread_2);
}
}

DWORD WINAPI theLoop(LPVOID param)
{
while (1) {
DWORD dwI3EXEC = (DWORD)GetModuleHandleA(i3exec);
if (dwI3EXEC!=0)
{
PATCH();
}

if (GetAsyncKeyState(VK_INSERT)&1) {
CloseHandle(Handle_Of_Thread_2);
MessageBeep(1);
return(0);
}
Sleep(50);
}
return (0);
}

// disable AHNS_DETECT_BLA_BLA in pointblank.exe
// parah nih PB, goyangin mouse dikit pada saat hs loading
// dapat ini dari BC.log "HShield Error AHNHS_ACTAPC_DETECT_AUTOMOUSE"
DWORD WINAPI theLoopEXE(LPVOID param)
{
while (1) {
DWORD adrBlaBlaBla = 0;
// cari base address pb.exe
DWORD dwEXE = (DWORD)GetModuleHandleA("PointBlank.exe");
static int pb;
if (dwEXE>0)
{
adrBlaBlaBla = dwEXE + (DWORD)OFS_DETECT_BLA_BLA;
// patch with RET, stupid mouse, macro, etc etc detection
MEMwrite((void *)(adrBlaBlaBla),(void*)(PBYTE)"\xC3", 1);
CloseHandle(Handle_Of_Thread_1);
return (0);
}
Sleep(50);
}
return (0);
}

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
// ngurangin beban kerja dll
DisableThreadLibraryCalls(hDll);
if (dwReason == DLL_PROCESS_ATTACH) {
Handle_Of_Thread_1 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)theLoopEXE, &Data_Of_Thread_1, 0, NULL);
Handle_Of_Thread_2 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)theLoop, &Data_Of_Thread_2, 0, NULL);
if ( Handle_Of_Thread_1 == NULL) ExitProcess(Data_Of_Thread_1);
if ( Handle_Of_Thread_2 == NULL) ExitProcess(Data_Of_Thread_2);
}
return TRUE;
}

Добавлено через 5 минут
Пожалуйста, помогите, ...
Я пытался создать файл. Библиотек прибыль фальсификации Point Blank Индонезии ...
но, может быть код, который я использую слишком просто ... так всегда быть обнаружены и выбыла из игры ...
просьба дать решение ... Я создал этот код


#include <windows.h>
#include "main.h"
#include "addys.h"

LPTSTR i3exec = "PointBlank.i3exec";

HANDLE Handle_Of_Thread_1, Handle_Of_Thread_2 = 0;
int Data_Of_Thread_1 = 1;
int Data_Of_Thread_2 = 2;
bool pertamax=true;

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

void PATCH(void)
{
// patch sekali aja
if (pertamax) {
DWORD adrWall = 0;
// cari base address i3exec
DWORD dwI3EXEC = (DWORD)GetModuleHandleA(i3exec);


adrNoDC1 = dwI3EXEC + (DWORD)OFS_NODC1;
MEMwrite((void *)(adrNoDC1),(void*)(PBYTE)"\x00", 1);

adrNoDC2 = dwI3EXEC + (DWORD)OFS_NODC2;
MEMwrite((void *)(adrNoDC2),(void*)(PBYTE)"\x00", 1);


adrAmmo = dwI3EXEC + (DWORD)OFS_AMMO;
MEMwrite((void *)(adrAmmo),(void*)(PBYTE)"\xC3", 1);


adrWall = dwI3EXEC + (DWORD)OFS_WALL;
MEMwrite((void *)(adrWall),(void*)(PBYTE)"\xC3", 1);


MessageBeep(0);
pertamax=false;
// we're done
CloseHandle(Handle_Of_Thread_2);
}
}

DWORD WINAPI theLoop(LPVOID param)
{
while (1) {
DWORD dwI3EXEC = (DWORD)GetModuleHandleA(i3exec);
if (dwI3EXEC!=0)
{
PATCH();
}

if (GetAsyncKeyState(VK_INSERT)&1) {
CloseHandle(Handle_Of_Thread_2);
MessageBeep(1);
return(0);
}
Sleep(50);
}
return (0);
}

// disable AHNS_DETECT_BLA_BLA in pointblank.exe
// parah nih PB, goyangin mouse dikit pada saat hs loading
// dapat ini dari BC.log "HShield Error AHNHS_ACTAPC_DETECT_AUTOMOUSE"
DWORD WINAPI theLoopEXE(LPVOID param)
{
while (1) {
DWORD adrBlaBlaBla = 0;
// cari base address pb.exe
DWORD dwEXE = (DWORD)GetModuleHandleA("PointBlank.exe");
static int pb;
if (dwEXE>0)
{
adrBlaBlaBla = dwEXE + (DWORD)OFS_DETECT_BLA_BLA;
// patch with RET, stupid mouse, macro, etc etc detection
MEMwrite((void *)(adrBlaBlaBla),(void*)(PBYTE)"\xC3", 1);
CloseHandle(Handle_Of_Thread_1);
return (0);
}
Sleep(50);
}
return (0);
}

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
// ngurangin beban kerja dll
DisableThreadLibraryCalls(hDll);
if (dwReason == DLL_PROCESS_ATTACH) {
Handle_Of_Thread_1 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)theLoopEXE, &Data_Of_Thread_1, 0, NULL);
Handle_Of_Thread_2 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)theLoop, &Data_Of_Thread_2, 0, NULL);
if ( Handle_Of_Thread_1 == NULL) ExitProcess(Data_Of_Thread_1);
if ( Handle_Of_Thread_2 == NULL) ExitProcess(Data_Of_Thread_2);
}
return TRUE;
}