serega11134
-
Постов
22 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные serega11134
-
-
Я почти ничего не понял. Может ты имел ввиду, написать хак самому себе и никому не отдавать? Ну а последнее предложение вообще бред. Смысл чтения? Чтобы хакнуть что-то, нужно это модифицировать. Даже пресловутый ESP, где вроде бы все завязано на чтении координат из памяти - все равно, чтобы всё это отображалось на экране нужна запись в память (в d3d9.lib, чтобы dHook был).
Или я не понял сути сообщения?
Ну а последнее предложение вообще бред
Делаеш d3d окно которое накладывается на игру, играеш в окне скриншоты чистые сколько не снимай.Все отображается в виртуальном окне а с игры
ты только читаеш.
-
Так ты создай тему с нужным тебе вопросом. Думаю, кто-нибудь да ответит что-нибудь полезное.
Так ты самый умный и я так понял ваш сайт, создайте тему: в отмеску США.
-
Я просто не знаю как залить видео сюда но знаю что здесь ни кто не поможет с взломом онлан
-
U are quite right.
Я не то чтобы не умею их искать... Я это умею делать, но в самой игре стоит какой-то неведомая защита. Ну или... Я не знаю какие еще могут быть варианты.
Ты сначала покажи что ломаеш СТИМ или просто.
-
Защиты нет найди здоровье сначала себя.В игре. Измени его,!!!! Теперь ищи указатель на него.
-
Извиняюсь !!!!!!!!!!!!
-
Хотелось бы обратится к администраторам :
Ну не надо опускать всех низко!
Тут все начинающие
Хотелось бы привести пример
http://www.unknowncheats.me/forum/
Американцы этого не стесняются !!!!!!!
-
Обязательно!!!!!!!
-
Элементарно ты же сам уроки давал. Отнять смещение на начало структуры.
-
VAC как и другой античит не чего не видет если нет в базе, ИГРАЕМ уже два года . Главное собрать на своем ПК и не давать не кому!!!!!!!! И не внедрятся в процесс а читать из него.
-
Надо найти здоровье, через него выйти на базовый адрес Player_Base а дальше через смещения
Переход между игроками : DWORD EntityLoopDistance = 0x10;
Это смещения на адреса ESP:
DWORD dw_mTeamOffset = 0x1f0;
DWORD dw_Health = 0xE0;DWORD dw_Pos = 0x304;CSS sours ! -
Примерно так :
DWORD EntityLoopDistance = 0x10;DWORD dw_vMatrix = 0x005A5730;//-------------------------------------------//DWORD Player_Base = 0x00;DWORD dw_mTeamOffset = 0x1f0;DWORD dw_Health = 0xE0;DWORD dw_Pos = 0x304;DWORD EntityPlayer_Base = 0x00;DWORD dw_angRotation = 0x00; -
Находиш координаты своих и чужих, id команды, и самое главное World to screen !!!!!!!!!!!
-
Можно закрыть тему
if(GetWindowText(Edit1, buf, 256 ) == 0)
pName = Buf1 ;
else
pName = buf ; -
#include <Windows.h>
#include <gdiplus.h>
#include "resource.h"
#include "Inject.h"
#include <string>
#include <fstream>
#include <iostream>
using namespace std;
int a;
int date;
char Buf1[255] = "";
char buf[256] = "Re" ;
static HWND Edit1;
#pragma comment (lib, "gdiplus.lib")
using namespace Gdiplus;
GdiplusStartupInput gdi;
ULONG_PTR gdi1;
char* pName = "";
char* pName1 = "";
char* dll_name = "";
DWORD pID = 0;
bool isGame = false;
bool isInjected = false;
HMODULE hDll;
#define width 320
#define height 320
HINSTANCE hInst;
static HWND hCombo;
HRGN hRgn;
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
void OnPaint(HDC hdc)
{
Graphics graphics(hdc);
SolidBrush brush(Color(255, 0, 255, 0));
SolidBrush brush1(Color(255, 255, 255, 0));
FontFamily fontFamily(L"Times New Roman");
Font font(&fontFamily, 14, FontStyleRegular, UnitPixel);
PointF pointF(10.0f, 20.0f);
Bitmap* picture = Bitmap::FromResource(GetModuleHandle(NULL), MAKEINTRESOURCEW(101));
graphics.DrawImage(picture, 0, 0);
delete [] picture;
graphics.DrawString(L"Dll Injector!", -1, &font, pointF, &brush);
if(isGame)
{
graphics.DrawString(L"\nИгра найдена", -1, &font, pointF, &brush1);
}
else
{
graphics.DrawString(L"\nИгра не найдена", -1, &font, pointF, &brush);
}
if(isInjected)
{
graphics.DrawString(L"\n\n\n\n\nИнжектировано", -1, &font, pointF, &brush1);
}
else
{
graphics.DrawString(L"\n\n\n\n\nНет Инжекта", -1, &font, pointF, &brush);
}
}
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HWND hWnd;
MSG msg;
WNDCLASS w;
memset(&w,0,sizeof(w));
w.style = NULL;
w.lpfnWndProc = WndProc;
w.hIcon = LoadIcon(hInstance, IDI_WARNING);
w.hInstance = hInstance;
w.lpszClassName = "C Windows";
RegisterClass(&w);
hWnd = CreateWindow("C Windows","Injector", WS_OVERLAPPEDWINDOW
& ~WS_THICKFRAME & ~WS_MAXIMIZEBOX,
10, 10, height, width, NULL, NULL, hInstance, NULL);
GdiplusStartup(&gdi1, &gdi, NULL);
ShowWindow(hWnd,nCmdShow);
SetTimer(hWnd, 0, 200, NULL);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wparam,LPARAM lparam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
RECT rc;
HDC hdcMem;
HBITMAP hbeMem;
HANDLE hOld;
if (msg == WM_DESTROY )
{
PostQuitMessage(0);
return 0;
}
switch (msg)
{
case WM_CREATE:
CreateWindow("BUTTON", "Open.dll ", WS_CHILD | WS_VISIBLE ,170, 190, 70 , 25,hWnd ,(HMENU) 1, NULL, NULL);
Edit1 = CreateWindow("Edit","", WS_VISIBLE|WS_CHILD|WS_BORDER|ES_MULTILINE, 170, 40, 100, 20, hWnd,(HMENU) Edit1, hInst, NULL);
//CreateWindow("BUTTON", ".... ", WS_CHILD | WS_VISIBLE ,270, 190, 70 , 25,hWnd ,(HMENU) 2, NULL, NULL);
hCombo = CreateWindow("combobox", "", WS_CHILD|WS_VISIBLE|WS_VSCROLL|CBS_DROPDOWNLIST|CBS_HASSTRINGS , 10, 190, 150, 350, hWnd, 0, hInst , NULL);
HANDLE hSnap;
hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnap == NULL)
{
MessageBox(NULL,"Process not found", MB_OK, MB_ICONERROR);
}
PROCESSENTRY32 proc;
if (Process32First(hSnap, &proc))
{
SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM)proc.szExeFile);
while (Process32Next(hSnap, &proc))
{
SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM)proc.szExeFile);
}
}
CloseHandle(hSnap);
break;
case WM_COMMAND:
switch (wparam)
{
case 1:
{
MessageBox(NULL, Buf1 , "Выбрано", MB_OK);
}
/*case 2:
{
}
break;*/
}
break;
case WM_SIZE:
GetWindowRect(hWnd, &rc);
OffsetRect(&rc, - rc.left, - rc.top);
DeleteObject(hRgn);
hRgn = CreateRoundRectRgn(rc.left, rc.top, rc.right, rc.bottom, (rc.right - rc.left) / 20, (rc.bottom - rc.top) / 20);
SetWindowRgn(hWnd, hRgn, TRUE);
break;
case WM_TIMER:
date = SendMessage(hCombo, CB_GETCURSEL, 0, 0L);
SendMessage(hCombo, CB_GETLBTEXT, (WPARAM)date, (LPARAM)Buf1);
GetWindowText(Edit1, buf, 256);
pName = Buf1 ;
pName1 = buf ;
GetClientRect(hWnd, &rect);
GetProcessByName(pName, &pID);
if(pID > 0 )
{
isGame = true;
if(!isInjected)
{
Inject(pID, dll_path);
isInjected = true;
}
}
else
{
isGame = false;
isInjected = false;
}
InvalidateRect(hWnd, &rect, false);
break;
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
hdcMem = CreateCompatibleDC(hdc);
hbeMem = CreateCompatibleBitmap(hdc, width, height);
hOld = SelectObject(hdcMem, hbeMem);
OnPaint(hdcMem);
BitBlt(hdc, 0 , 0 , width, height, hdcMem, 0, 0, SRCCOPY); //width, height
SelectObject(hdcMem, hOld);
DeleteObject(hbeMem);
DeleteDC(hdcMem);
EndPaint(hWnd, &ps);
}
break;
default:
return DefWindowProc(hWnd, msg, wparam, lparam);
}
}Пишу инжектор
-
date = SendMessage(hCombo, CB_GETCURSEL, 0, 0L);
SendMessage(hCombo, CB_GETLBTEXT, (WPARAM)date, (LPARAM)Buf1);
GetWindowText(Edit1, buf, 256);
pName = Buf1 ;
pName = buf ;
как в pName записать или Edit1 + или hCombo с условием что я выбираю или Edit1 или hCombo
-
логер
//////////////////////////////////////
#include <windows.h>
#include <fstream>
#include <stdio.h>
#include <vector>
#include <conio.h>
#include <d3d9.h>
#include <d3dx9.h>
#pragma comment( lib, "d3d9.lib" )
#pragma comment( lib, "d3dx9.lib" )
#pragma warning( disable : 4996 )
using namespace std;
//-------------------------------------------------------------------
typedef struct _STRIDELOG{
INT Base; UINT Min;
UINT Num; UINT Start;
UINT Prim;
}STRIDELOG,*PSTRIDELOG;
HRESULT ( WINAPI* oReset )
( LPDIRECT3DDEVICE9, D3DPRESENT_PARAMETERS* );
HRESULT ( WINAPI* oEndScene )
( LPDIRECT3DDEVICE9 );
HRESULT ( WINAPI* oDrawIdP )
( LPDIRECT3DDEVICE9, D3DPRIMITIVETYPE,
INT, UINT, UINT, UINT, UINT );
STRIDELOG StrideLog;
vector<STRIDELOG> STRIDE;
vector<DWORD> BASETEX;
D3DPRESENT_PARAMETERS PrP = {NULL};
LPDIRECT3DBASETEXTURE9 BTEX = NULL;
LPDIRECT3DDEVICE9 pDev = NULL;
LPDIRECT3DTEXTURE9 Green = NULL;
LPDIRECT3DTEXTURE9 pTx = NULL;
DWORD dCrDev = NULL;
LPDIRECT3D9 pDx = NULL;
LPD3DXFONT pFont = NULL;
D3DVIEWPORT9 Vpt;
D3DLOCKED_RECT d3dlr;
PDWORD VTab = NULL;
DWORD Old = NULL;
ofstream ofile;
char dlldir[320];
char strbuff[260];
UINT iStride = 0;
UINT iBaseTex = 0;
bool Found = false;
bool Startlog = false;
void __cdecl add_log
(const char *fmt, ...);
//-------------------------------------------------------------------
__declspec( naked )
VOID WINAPI CREATEDEVICE( VOID )
{
__asm
{
PUSH EBP
MOV EBP,ESP
PUSH [EBP+0x20]
PUSH [EBP+0x1C]
PUSH [EBP+0x18]
PUSH [EBP+0x14]
PUSH [EBP+0x10]
PUSH [EBP+0xC]
PUSH [EBP+0x8]
CALL [dCrDev]
MOV EDX,[EBP+0x20]
MOV EDX,[EDX]
MOV [pDev],EDX
POP EBP
RETN 0x1C
}
}
//-------------------------------------------------------------------
HRESULT WINAPI nDrawIdP
( LPDIRECT3DDEVICE9 pDev, D3DPRIMITIVETYPE Type,
INT Base, UINT Min, UINT Num, UINT Start, UINT Prim )
{
LPDIRECT3DVERTEXBUFFER9 Stream_Data;
UINT Offset = 0;
UINT Stride = 0;
if(pDev->GetStreamSource
( 0, &Stream_Data, &Offset, &Stride )==S_OK)
Stream_Data->Release();
if(Stride == iStride)
{
pDev->GetTexture( 0, &BTEX );
Found = false;
for( UINT i = 0;i < BASETEX.size();i++ )
if( BASETEX[i] == (DWORD)BTEX )
Found = true;
if( Found == false )
BASETEX.push_back
( (DWORD)BTEX );
if( BASETEX[iBaseTex] == (DWORD)BTEX && Green )
{
pDev->SetTexture( 0, Green );
pDev->SetRenderState( D3DRS_ZENABLE, FALSE );
oDrawIdP( pDev, Type, Base, Min, Num, Start, Prim );
pDev->SetRenderState( D3DRS_ZENABLE, TRUE );
if( Startlog == true )
{
Found = false;
for( UINT i = 0;i < STRIDE.size();i++ )
if( STRIDE[i].Base == Base &&
STRIDE[i].Min == Min &&
STRIDE[i].Num == Num &&
STRIDE[i].Start == Start &&
STRIDE[i].Prim == Prim )
{
Found = true;
break;
}
if( Found == false )
{
StrideLog.Base = Base;
StrideLog.Min = Min;
StrideLog.Num = Num;
StrideLog.Start = Start;
StrideLog.Prim = Prim;
add_log( "(NumVertices == %i && PrimitiveCount == %i && Stride == %i)",
Num, Prim, Stride );
STRIDE.push_back
( StrideLog );
}
}
}
}
return oDrawIdP( pDev, Type,
Base, Min, Num, Start, Prim );
}
//-------------------------------------------------------------------
HRESULT WINAPI nEndScene
( LPDIRECT3DDEVICE9 pDev )
{
pDev->GetViewport( &Vpt );
RECT FRect = { Vpt.Width-250,Vpt.Height-300,
Vpt.Width,Vpt.Height };
if( Green == NULL )
if( pDev->CreateTexture(8, 8, 1, 0, D3DFMT_A8R8G8B8,
D3DPOOL_DEFAULT, &Green, NULL) == S_OK)
if( pDev->CreateTexture(8, 8, 1, 0, D3DFMT_A8R8G8B8,
D3DPOOL_SYSTEMMEM, &pTx, NULL) == S_OK)
if( pTx->LockRect( 0, &d3dlr, 0, D3DLOCK_DONOTWAIT |
D3DLOCK_NOSYSLOCK ) == S_OK )
{
for(UINT xy=0; xy < 8*8; xy++)
((PDWORD)d3dlr.pBits)[xy] = 0xFF00FF00;
pTx->UnlockRect( 0 );
pDev->UpdateTexture( pTx, Green );
pTx->Release();
}
if( pFont == NULL )
D3DXCreateFontA( pDev, 16, 0, 700, 0, 0, 1, 0,
0, DEFAULT_PITCH | FF_DONTCARE, "Calibri", &pFont );
sprintf( strbuff, "Num of Textures: %i\nStride: %i\nBase Tex Num: %i\n\nSTRIDE LOGGER V1\n\n" \
"Log Enable: %i\n\nNUM1: Stride++\nNUM2: Stride--\nNUM3: BaseTexNum++" \
"\nNUM4: BaseTexNum--\nNUM0: Log On/Off", \
BASETEX.size(), iStride, iBaseTex + 1, Startlog );
if( pFont )
pFont->DrawTextA( 0, strbuff, -1, &FRect,
DT_CENTER|DT_NOCLIP, 0xFF00FF00);
if( GetAsyncKeyState( VK_NUMPAD1 ) &1 )
{iStride++;BASETEX.clear();iBaseTex = 0;}
if( GetAsyncKeyState( VK_NUMPAD2 ) &1 )
if( iStride > 0 )
{iStride--;BASETEX.clear();iBaseTex = 0;};
if( GetAsyncKeyState( VK_NUMPAD3 ) &1 )
if(iBaseTex < BASETEX.size() - 1)iBaseTex++;
if( GetAsyncKeyState( VK_NUMPAD4 ) &1 )
if( iBaseTex > 0 )
iBaseTex--;
if( GetAsyncKeyState( VK_NUMPAD0 ) &1 )
{Startlog = !Startlog;STRIDE.clear();}
return oEndScene( pDev );
}
//-------------------------------------------------------------------
HRESULT WINAPI nReset
( LPDIRECT3DDEVICE9 pDev,
D3DPRESENT_PARAMETERS* PresP )
{
if( pFont ) {pFont->Release();pFont = NULL;}
if( Green ) {Green->Release();Green = NULL;}
return oReset( pDev, PresP );
}
//-------------------------------------------------------------------
VOID WINAPI THREAD( )
{
while( pDev == NULL )
Sleep( 100 );
VTab[16] = dCrDev;
VirtualProtect( (PVOID)&VTab[16], 4, Old, &Old );
VTab = (PDWORD)*(PDWORD)pDev;
*(PDWORD)&oEndScene = VTab[42];
*(PDWORD)&oReset = VTab[16];
*(PDWORD)&oDrawIdP = VTab[82];
while( 1 )
{
VTab[42] = (DWORD)nEndScene;
VTab[16] = (DWORD)nReset;
VTab[82] = (DWORD)nDrawIdP;
Sleep( 100 );
}
}
//-------------------------------------------------------------------
void __cdecl add_log (const char *fmt, ...)
{
if(ofile != NULL)
{
if(!fmt) { return; }
va_list va_alist;
char logbuf[256] = {0};
va_start (va_alist, fmt);
_vsnprintf (logbuf+strlen(logbuf),
sizeof(logbuf) - strlen(logbuf), fmt, va_alist);
va_end (va_alist);
ofile << logbuf << endl;
}
}
//-------------------------------------------------------------------
BOOL WINAPI DllMain( HMODULE hModule,
DWORD dwReason, LPVOID lpReserved )
{
if( dwReason == DLL_PROCESS_ATTACH )
{
DisableThreadLibraryCalls( hModule );
GetModuleFileNameA( hModule, dlldir, 320 );
dlldir[strlen(dlldir)-3] = 0;
strcat(dlldir,"txt");
ofile.open(dlldir, ios::app);
add_log("\nxDD Log");
pDx = Direct3DCreate9
( D3D_SDK_VERSION );
if( pDx != NULL )
{
VTab = (PDWORD)*(PDWORD)pDx;
pDx->Release();
dCrDev = (DWORD)VTab[16];
VirtualProtect( (PVOID)&VTab[16], 4, 0x40, &Old );
VTab[16] = (DWORD)CREATEDEVICE;
CreateThread( NULL, NULL, (LPTHREAD_START_ROUTINE)
THREAD, NULL, NULL, NULL );
}
}
return TRUE;
}
инжектор
///////////////////////////////////////////
#include <Windows.h> // Windows API
#include <TlHelp32.h> //Связано с процессами
#include <iostream> // Для вывода консоли
#include <io.h> //Проверять фаил на наличие dll
DWORD GetProcessByName(char * process_name)
{
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 process;
DWORD proc_id = 0;
if(Process32First(snapshot, &process))
{
while (Process32Next(snapshot, &process))
{
if(_stricmp(process.szExeFile, process_name) == 0)
{
proc_id = process.th32ProcessID;
break;
}
}
}
CloseHandle(snapshot);
return proc_id;
}
bool FileExist(char * name)
{
return _access(name, 0) != -1;
}
bool Inject(DWORD pID, char * path)
{
HANDLE proc_handle;
LPVOID RemoteString;
LPVOID LoadLibAddy;
if(pID == 0)
return false;
proc_handle = OpenProcess(PROCESS_ALL_ACCESS ,false, pID);
if (proc_handle == 0)
return false;
LoadLibAddy = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
RemoteString = VirtualAllocEx(proc_handle, NULL, strlen(path), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(proc_handle, RemoteString, path, strlen(path), NULL);
CreateRemoteThread(proc_handle, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibAddy, RemoteString, NULL, NULL);
CloseHandle(proc_handle);
return true;
}
int main()
{
printf("-------------------------------CONSOLE INJECTOR---------------------------------\n" );
//**************************************************************************************************
char dll_name[32];
char path[256];
while (FileExist(path) == 0 )
{
printf("Enter dll name : " );
scanf("%s", dll_name);
GetFullPathName(dll_name, sizeof(path), path, 0);
if(FileExist(path))
{
printf("dll found \n ");
//break;
}
else
{
printf("dll not found \n ");
}
//***************************************************************************************************
char process_name[32];
printf("Enter Process Name : " );
scanf("%s", process_name);
DWORD pID = GetProcessByName(process_name);
printf("Waiting %s for start ...... \n", process_name);
for(;;Sleep(50))
{
if(pID == 0)
pID = GetProcessByName(process_name);
if(pID != 0) break;
}
printf("%s Process found (pid %X)! \n" , process_name , pID);
//*****************************************************************************************************
printf("Preparing dll for injection \n");
if(Inject(pID, path))
{
printf("dll successfully injected !!!!!!!! \n" );
system("PAUSE");
}
else
{
printf("CRITICAL ERROR ???????? \n" );
Sleep(500);
}
}
}
#include <Windows.h> // Windows API
#include <TlHelp32.h> //Связано с процессами
#include <iostream> // Для вывода консоли
#include <io.h> //Проверять фаил на наличие dll
DWORD GetProcessByName(char * process_name)
{
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 process;
DWORD proc_id = 0;
if(Process32First(snapshot, &process))
{
while (Process32Next(snapshot, &process))
{
if(_stricmp(process.szExeFile, process_name) == 0)
{
proc_id = process.th32ProcessID;
break;
}
}
}
CloseHandle(snapshot);
return proc_id;
}
bool FileExist(char * name)
{
return _access(name, 0) != -1;
}
bool Inject(DWORD pID, char * path)
{
HANDLE proc_handle;
LPVOID RemoteString;
LPVOID LoadLibAddy;
if(pID == 0)
return false;
proc_handle = OpenProcess(PROCESS_ALL_ACCESS ,false, pID);
if (proc_handle == 0)
return false;
LoadLibAddy = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
RemoteString = VirtualAllocEx(proc_handle, NULL, strlen(path), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(proc_handle, RemoteString, path, strlen(path), NULL);
CreateRemoteThread(proc_handle, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibAddy, RemoteString, NULL, NULL);
CloseHandle(proc_handle);
return true;
}
int main()
{
printf("-------------------------------CONSOLE INJECTOR---------------------------------\n" );
//**************************************************************************************************
char dll_name[32];
char path[256];
while (FileExist(path) == 0 )
{
printf("Enter dll name : " );
scanf("%s", dll_name);
GetFullPathName(dll_name, sizeof(path), path, 0);
if(FileExist(path))
{
printf("dll found \n ");
//break;
}
else
{
printf("dll not found \n ");
}
//***************************************************************************************************
char process_name[32];
printf("Enter Process Name : " );
scanf("%s", process_name);
DWORD pID = GetProcessByName(process_name);
printf("Waiting %s for start ...... \n", process_name);
for(;;Sleep(50))
{
if(pID == 0)
pID = GetProcessByName(process_name);
if(pID != 0) break;
}
printf("%s Process found (pid %X)! \n" , process_name , pID);
//*****************************************************************************************************
printf("Preparing dll for injection \n");
if(Inject(pID, path))
{
printf("dll successfully injected !!!!!!!! \n" );
system("PAUSE");
}
else
{
printf("CRITICAL ERROR ???????? \n" );
Sleep(500);
}
}
} -
Переустанави операционку
-
Может программа неизвесная блокирует (антивирус)
-
А другие dll инжектит ?
-
template <class T> T ReadMemoryAddress(DWORD address)
{
static char buffer[1024];
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, NULL);
ReadProcessMemory(hProcess, (LPCVOID) address, &buffer, sizeof(buffer), NULL);
CloseHandle(hProcess);
return reinterpret_cast<T> (buffer) ;
}
bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
for(;*szMask;++szMask,++pData,++bMask)
if(*szMask=='x' && *pData!=*bMask)
return 0;
return (*szMask) == NULL;
}
DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
{
for(DWORD i=0; i<dwLen; i++)
if (bCompare(ReadMemoryAddress<BYTE*>(dwAddress + i),bMask,szMask))
return (DWORD)(dwAddress+i);
return 0;
}
Улучшаем свой первый EXE трейнер на C++ (видео урок #10)
Coder
Обман VAC && MD5 spoofing
in Общение
Опубликовано
Все здесь http://www.unknowncheats.me/forum/ и хотелось бы также и на этом сайте.