Пытаюсь написать, но не получается. - Общение разработчиков - Программирование для Point Blank, общение и обсуждение разработок
10.09.2012, 23:10
#1
Разведчик
Регистрация: 11.08.2012
Сообщений: 14
Популярность: 12
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
Пытаюсь написать, но не получается.
Так и не получается написать свой исход, все как то не так...
Код:
#include <stdio.h>
#include <windows.h>
#include <d3dx9.h>
#include "Spriters.h"
#include "Hacks.h"
#include "Color.h"
#include "Main.h"
#include "Menu.h"
#include "Textures.h"
#include "DllCloaking.h"
#include <time.h>
///////////
#pragma warning(disable:4244)
#pragma comment(lib, "D3DX9.LIB")
#pragma comment(lib, "D3D9.LIB")
D3DVIEWPORT9 Viewport;
ID3DXFont *inside = NULL;
bool hExitThread;
POINT myCursor;
extern char Mtitle[81];
////////папки
int d3d=0;
//////функции
int wallhack=0;
/////Генерируем текстуры
HRESULT GenerateTexture(IDirect3DDevice9 *pD3Ddev, IDirect3DTexture9 **ppD3Dtex, DWORD colour32)
{
if(FAILED(pD3Ddev->CreateTexture(8, 8, 1, 0, D3DFMT_A4R4G4B4, D3DPOOL_MANAGED, ppD3Dtex, NULL)))
return E_FAIL;
WORD colour16 = ((WORD)((colour32>>28)&0xF)<<12)
|(WORD)(((colour32>>20)&0xF)<<8)
|(WORD)(((colour32>>12)&0xF)<<4)
|(WORD)(((colour32>>4)&0xF)<<0);
D3DLOCKED_RECT d3dlr;
(*ppD3Dtex)->LockRect(0, &d3dlr, 0, 0);
WORD *pDst16 = (WORD*)d3dlr.pBits;
for(int xy=0; xy < 8*8; xy++)
*pDst16++ = colour16;
(*ppD3Dtex)->UnlockRect(0);
return S_OK;
}
void DiamondMenu(LPDIRECT3DDEVICE9 pDevice)//Меню
{
MenuAdd("[Visual Hack]", Moptfolder, &d3d, 2,1);
if(d3d)
{
MenuAdd("WallHack", Moptonoff , &wallhack, 2,3);
}
D3DXCreateTextureFromFileInMemoryEx(pDevice,&_cBody,sizeof(_cBody),227,Mmax * 14,D3DX_DEFAULT,0,D3DFMT_UNKNOWN,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,NULL,NULL,&txBody);
pFooter.x=14.0f; pFooter.y=Mmax * 14 + 70.003980; pFooter.z=0.0f; //координаты спрайта Footer
}
void CreateSprite(LPDIRECT3DDEVICE9 pDevice)////создаём спрайт.
{
pHeader.x=14.0f; pHeader.y=6.0f; pHeader.z=0.0f; //координаты спрайта Header
pBody.x=14.0f; pBody.y=90.0f; pBody.z=0.0f; //координаты спрайта Body
if(txBody == NULL)D3DXCreateTextureFromFileInMemoryEx(pDevice
,&_cBody,sizeof(_cBody),227,10,D3DX_DEFAULT,0,D3DFMT_UNKNOWN
,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,NULL,NULL,&txBody);
if(spBody == NULL)D3DXCreateSprite(pDevice, &spBody);
if(txFooter == NULL)D3DXCreateTextureFromFileInMemoryEx(pDevice
,&_cFooter,sizeof(_cFooter),227,74,D3DX_DEFAULT,0,D3DFMT_UNKNOWN
,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,NULL,NULL,&txFooter);
if(spFooter == NULL)D3DXCreateSprite(pDevice, &spFooter);
if(txHeader == NULL)D3DXCreateTextureFromFileInMemoryEx(pDevice
,&_cHeader,sizeof(_cHeader),227,84,D3DX_DEFAULT,0,D3DFMT_UNKNOWN
,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,NULL,NULL,&txHeader);
if(spHeader == NULL)D3DXCreateSprite(pDevice, &spHeader);
}
BOOL Font()
{
if(pFont1)
return FALSE;
else return TRUE;
}
HRESULT WINAPI myDrawIndexedPrimitive(LPDIRECT3DDEVICE9 pDevice, D3DPRIMITIVETYPE Type, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount)
{
if(pDevice->GetStreamSource(0,&StreamData,&OffsetInBytes,&m_Stride) == D3D_OK)
{
StreamData->Release();
}
if(Color)
{
GenerateTexture(pDevice, &White, WHITE);
GenerateTexture(pDevice, &Red, RED);
GenerateTexture(pDevice, &Green, GREEN);
GenerateTexture(pDevice, &Blue, BLUE);
GenerateTexture(pDevice, &Black, BLACK);
GenerateTexture(pDevice, &Purple, PURPLE);
GenerateTexture(pDevice, &Grey, GREY);
GenerateTexture(pDevice, &Yellow, YELLOW);
GenerateTexture(pDevice, &Orange, ORANGE);
GenerateTexture(pDevice, &DeepSkyBlue, DEEPSKYBLUE);
GenerateTexture(pDevice, &Chocolate2, CHOCOLATE2);
GenerateTexture(pDevice, &Gold2, GOLD2);
Color = false;
}
if(wallhack)//Валлхак
{
if(playerheads||playersswat||playersterror)
{
pDevice->SetRenderState(D3DRS_ZENABLE, 0);
pDrawIndexedPrimitive(pDevice, Type, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
pDevice->SetRenderState(D3DRS_ZENABLE, 1);
}
}
return pDrawIndexedPrimitive(pDevice, Type, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
}
HRESULT WINAPI myReset ( LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters)
{
spBody->OnLostDevice();
spBody->OnResetDevice();
spHeader->OnLostDevice();
spHeader->OnResetDevice();
spFooter->OnLostDevice();
spFooter->OnResetDevice();
pFont1->OnLostDevice();
pFont1->OnResetDevice();
return pReset(pDevice, pPresentationParameters);
}
void MenuFontCreate(LPDIRECT3DDEVICE9 pDevice)
{
//шрифт || где (pDevice, |17| - размер шрифта, где (LPCSTR)"|Comic Sans MS|", &pFont1) - название шрифта
D3DXCreateFont(pDevice,17,0,FW_BOLD,0,0,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,(LPCWSTR)"Comic Sans MS",&pFont1);
}
HRESULT WINAPI EndScene (LPDIRECT3DDEVICE9 pDevice)
{
if(!Create)
{
MenuFontCreate(pDevice);
CreateSprite(pDevice);
Create=true;
}
if(Font())
pFont1->OnLostDevice();
if(Mmax==0)DiamondMenu(pDevice);
MenuShow(30,75,pDevice); //координаты меню x,y УБИРАЕТЕ палочки "//" если хотите что бы показывало в Д3Д_Тесте
MenuNav();
if(Mvisible)
{
spHeader->Begin(D3DXSPRITE_ALPHABLEND);
spHeader->Draw(txHeader, NULL, NULL, &pHeader, 0xFFFFFFFF);
spHeader->End();
spFooter->Begin(D3DXSPRITE_ALPHABLEND);
spFooter->Draw(txFooter, NULL, NULL, &pFooter, 0xFFFFFFFF);
spFooter->End();
spBody->Begin(D3DXSPRITE_ALPHABLEND);
spBody->Draw(txBody,0,0,&pBody,0xFFFFFFFF);
spBody->End();
}
MenuShow(30,75,pDevice); //координаты меню x,y МОЖЕТЕ убрать тут, но там (чуть выше, где закоментированно) палочки нужно убрать... Если оставить две, то нагрузка будет. Если у вас полупрозрачный спрайт, то ничего не меняем.
MenuNav();
if(GetAsyncKeyState(VK_F12)) //выход
{
ExitProcess(0);
}
return pEndScene (pDevice);
}
void StartHookpDevice()//
{
while(1)
{
if(GetAsyncKeyState(VK_END)&1)
{
MainProc();
}
}
}
void MainProc()
{
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)StartHookpDevice,NULL,NULL,NULL);
//-----------Что то типо скрытия
DWORD M_frostcollestor = (DWORD)GetModuleHandleA("frostcollector.dll");
DWORD BaseAddr = M_frostcollestor + 0x3EC0;
DWORD BaseAddrFunc1 = BaseAddr + 0x15;
DWORD BaseAddrFunc2 = M_frostcollestor + 0x8E5B;
DWORD BaseAddrFunc3 = BaseAddr + 0xFFFFFFFFFFFFFFE9;
DWORD BaseAddrFunc4 = BaseAddr + 0xBA;
DWORD BaseAddrFunc5 = BaseAddr + 0xFFFFFFFFFFFFFC00;
DWORD func1_addr_ret = BaseAddrFunc1 + 0x5;
DWORD func2_addr_ret = BaseAddrFunc2 + 0x3;
DWORD func3_addr_ret = BaseAddrFunc3 + 0x6;
DWORD func4_addr_ret = BaseAddrFunc4 + 0x3;
DWORD func5_addr_ret = BaseAddrFunc5 + 0x4;
int HookpDeviceFrost(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);
MessageBoxA( NULL, "Автор:Metro Berlin", "Info",MB_ICONINFORMATION |MB_SERVICE_NOTIFICATION);
pReset=(oReset)DetourCreate((PBYTE)vtbl[16],(PBYTE)myReset,5);
pEndScene=(oEndScene)DetourCreate((PBYTE)vtbl[42],(PBYTE)EndScene,5);
pDrawIndexedPrimitive=(oDrawIndexedPrimitive)DetourCreate((PBYTE)vtbl[82],(PBYTE)myDrawIndexedPrimitive,5);
return FALSE;
}
void Start()
{
while(1)
{
if(GetAsyncKeyState(VK_HOME)&1) //кнопка включения
{
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)HookpDeviceFrost,NULL,NULL,NULL);
MessageBeep(0);
ExitThread(hExitThread);
}
}
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if (dwReason==DLL_PROCESS_ATTACH)
}
return TRUE;
}
Множество ошибок...
Код:
1>------ Построение начато: проект: dxhook, Конфигурация: Debug Win32 ------
1>Построение начато 10.09.2012 23:09:06.
1>InitializeBuildStatus:
1> Обращение к "Debug\dxhook.unsuccessfulbuild".
1>ClCompile:
1> main.cpp
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(30): warning C4244: инициализация: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(31): warning C4244: инициализация: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(80): warning C4244: аргумент: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(80): warning C4244: аргумент: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(80): warning C4244: аргумент: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(80): warning C4244: аргумент: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(96): warning C4244: аргумент: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(96): warning C4244: аргумент: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(96): warning C4244: аргумент: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(96): warning C4244: аргумент: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(97): warning C4244: аргумент: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(97): warning C4244: аргумент: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(97): warning C4244: аргумент: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\menu.h(97): warning C4244: аргумент: преобразование "float" в "int", возможна потеря данных
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\main.cpp(179): error C3861: MainProc: идентификатор не найден
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\main.cpp(207): error C2601: HookpDeviceFrost: недопустимые локальные определения функций
1> c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\main.cpp(185): эта строка содержит "{", которая пока не имеет парной
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\main.cpp(220): error C2601: Start: недопустимые локальные определения функций
1> c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\main.cpp(185): эта строка содержит "{", которая пока не имеет парной
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\main.cpp(233): error C2601: DllMain: недопустимые локальные определения функций
1> c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\main.cpp(185): эта строка содержит "{", которая пока не имеет парной
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\main.cpp(239): error C2562: MainProc: функция типа "void", возвращающая значение
1> c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\main.cpp(184): см. объявление "MainProc"
1>c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\main.cpp(241): fatal error C1075: конец файла обнаружен ранее, чем левая фигурная скобка "{" в "c:\users\berlin\documents\visual studio 2010\projects\dxhook\dxhook\main.cpp(185)"
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:01.13
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Помогите пожалуйста новичку...
10.09.2012, 23:25
#2
Разведчик
Регистрация: 10.09.2012
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Re: Пытаюсь написать, но не получается.
Это ты всё Вписал в одно .cpp?
Я например бы уже давно запутался)
10.09.2012, 23:42
#3
Разведчик
Регистрация: 11.08.2012
Сообщений: 14
Популярность: 12
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
Re: Пытаюсь написать, но не получается.
11.09.2012, 00:22
#4
Разведчик
Регистрация: 06.09.2012
Сообщений: 23
Популярность: 488
Сказал(а) спасибо: 10
Поблагодарили 11 раз(а) в 10 сообщениях
Re: Пытаюсь написать, но не получается.
11.09.2012, 00:39
#5
Фельдмаршал
Регистрация: 22.02.2011
Сообщений: 949
Популярность: 34698
Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
Re: Пытаюсь написать, но не получается.
101% что он у тебя не будет работать.
11.09.2012, 09:05
#6
Разведчик
Регистрация: 22.02.2012
Сообщений: 49
Популярность: 2418
Сказал(а) спасибо: 123
Поблагодарили 79 раз(а) в 56 сообщениях
Re: Пытаюсь написать, но не получается.
Цитата:
Сообщение от Metro Berlin
MainProc: идентификатор не найден
void MainProc()
{
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)хук директа,NULL,NULL,NULL);
ExitThread(hExitThread);
}
Цитата:
Сообщение от Metro Berlin
эта строка содержит "{", которая пока не имеет парной
}
А вообще,залей свои нароботки,я тебе поправлю там всё,скину обратно,а то много фигни ты туда вставил
________________
Украина не победима...
Кто имел дело с ring0 пишите в лс...
11.09.2012, 09:39
#7
Разведчик
Регистрация: 04.09.2010
Сообщений: 16
Популярность: 388
Сказал(а) спасибо: 64
Поблагодарили 16 раз(а) в 14 сообщениях
Re: Пытаюсь написать, но не получается.
11.09.2012, 13:39
#8
Фельдмаршал
Регистрация: 22.02.2011
Сообщений: 949
Популярность: 34698
Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
Re: Пытаюсь написать, но не получается.
Код:
#include <stdio.h>
#include <windows.h>
#include <d3dx9.h>
#include "Spriters.h"
#include "Hacks.h"
#include "Color.h"
#include "Main.h"
#include "Menu.h"
#include "Textures.h"
#include "DllCloaking.h"
#include <time.h>
///////////
#pragma warning(disable:4244)
#pragma comment(lib, "D3DX9.LIB")
#pragma comment(lib, "D3D9.LIB")
D3DVIEWPORT9 Viewport;
ID3DXFont *inside = NULL;
bool hExitThread;
POINT myCursor;
extern char Mtitle[81];
////////папки
int d3d=0;
//////функции
int wallhack=0;
/////Генерируем текстуры
HRESULT GenerateTexture(IDirect3DDevice9 *pD3Ddev, IDirect3DTexture9 **ppD3Dtex, DWORD colour32)
{
if(FAILED(pD3Ddev->CreateTexture(8, 8, 1, 0, D3DFMT_A4R4G4B4, D3DPOOL_MANAGED, ppD3Dtex, NULL)))
return E_FAIL;
WORD colour16 = ((WORD)((colour32>>28)&0xF)<<12)
|(WORD)(((colour32>>20)&0xF)<<8)
|(WORD)(((colour32>>12)&0xF)<<4)
|(WORD)(((colour32>>4)&0xF)<<0);
D3DLOCKED_RECT d3dlr;
(*ppD3Dtex)->LockRect(0, &d3dlr, 0, 0);
WORD *pDst16 = (WORD*)d3dlr.pBits;
for(int xy=0; xy < 8*8; xy++)
*pDst16++ = colour16;
(*ppD3Dtex)->UnlockRect(0);
return S_OK;
}
void DiamondMenu(LPDIRECT3DDEVICE9 pDevice)//Меню
{
MenuAdd("[Visual Hack]", Moptfolder, &d3d, 2,1);
if(d3d)
{
MenuAdd("WallHack", Moptonoff , &wallhack, 2,3);
}
D3DXCreateTextureFromFileInMemoryEx(pDevice,&_cBody,sizeof(_cBody),227,Mmax * 14,D3DX_DEFAULT,0,D3DFMT_UNKNOWN,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,NULL,NULL,&txBody);
pFooter.x=14.0f; pFooter.y=Mmax * 14 + 70.003980; pFooter.z=0.0f; //координаты спрайта Footer
}
void CreateSprite(LPDIRECT3DDEVICE9 pDevice)////создаём спрайт.
{
pHeader.x=14.0f; pHeader.y=6.0f; pHeader.z=0.0f; //координаты спрайта Header
pBody.x=14.0f; pBody.y=90.0f; pBody.z=0.0f; //координаты спрайта Body
if(txBody == NULL)D3DXCreateTextureFromFileInMemoryEx(pDevice
,&_cBody,sizeof(_cBody),227,10,D3DX_DEFAULT,0,D3DFMT_UNKNOWN
,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,NULL,NULL,&txBody);
if(spBody == NULL)D3DXCreateSprite(pDevice, &spBody);
if(txFooter == NULL)D3DXCreateTextureFromFileInMemoryEx(pDevice
,&_cFooter,sizeof(_cFooter),227,74,D3DX_DEFAULT,0,D3DFMT_UNKNOWN
,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,NULL,NULL,&txFooter);
if(spFooter == NULL)D3DXCreateSprite(pDevice, &spFooter);
if(txHeader == NULL)D3DXCreateTextureFromFileInMemoryEx(pDevice
,&_cHeader,sizeof(_cHeader),227,84,D3DX_DEFAULT,0,D3DFMT_UNKNOWN
,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,NULL,NULL,&txHeader);
if(spHeader == NULL)D3DXCreateSprite(pDevice, &spHeader);
}
BOOL Font()
{
if(pFont1)
return FALSE;
else return TRUE;
}
HRESULT WINAPI myDrawIndexedPrimitive(LPDIRECT3DDEVICE9 pDevice, D3DPRIMITIVETYPE Type, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount)
{
if(pDevice->GetStreamSource(0,&StreamData,&OffsetInBytes,&m_Stride) == D3D_OK)
{
StreamData->Release();
}
if(Color)
{
GenerateTexture(pDevice, &White, WHITE);
GenerateTexture(pDevice, &Red, RED);
GenerateTexture(pDevice, &Green, GREEN);
GenerateTexture(pDevice, &Blue, BLUE);
GenerateTexture(pDevice, &Black, BLACK);
GenerateTexture(pDevice, &Purple, PURPLE);
GenerateTexture(pDevice, &Grey, GREY);
GenerateTexture(pDevice, &Yellow, YELLOW);
GenerateTexture(pDevice, &Orange, ORANGE);
GenerateTexture(pDevice, &DeepSkyBlue, DEEPSKYBLUE);
GenerateTexture(pDevice, &Chocolate2, CHOCOLATE2);
GenerateTexture(pDevice, &Gold2, GOLD2);
Color = false;
}
if(wallhack)//Валлхак
{
if(playerheads||playersswat||playersterror)
{
pDevice->SetRenderState(D3DRS_ZENABLE, 0);
pDrawIndexedPrimitive(pDevice, Type, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
pDevice->SetRenderState(D3DRS_ZENABLE, 1);
}
}
return pDrawIndexedPrimitive(pDevice, Type, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
}
HRESULT WINAPI myReset ( LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters)
{
spBody->OnLostDevice();
spBody->OnResetDevice();
spHeader->OnLostDevice();
spHeader->OnResetDevice();
spFooter->OnLostDevice();
spFooter->OnResetDevice();
pFont1->OnLostDevice();
pFont1->OnResetDevice();
return pReset(pDevice, pPresentationParameters);
}
void MenuFontCreate(LPDIRECT3DDEVICE9 pDevice)
{
//шрифт || где (pDevice, |17| - размер шрифта, где (LPCSTR)"|Comic Sans MS|", &pFont1) - название шрифта
D3DXCreateFont(pDevice,17,0,FW_BOLD,0,0,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,(LPCWSTR)"Comic Sans MS",&pFont1);
}
HRESULT WINAPI EndScene (LPDIRECT3DDEVICE9 pDevice)
{
if(!Create)
{
MenuFontCreate(pDevice);
CreateSprite(pDevice);
Create=true;
}
if(Font())
pFont1->OnLostDevice();
if(Mmax==0)DiamondMenu(pDevice);
MenuShow(30,75,pDevice); //координаты меню x,y УБИРАЕТЕ палочки "//" если хотите что бы показывало в Д3Д_Тесте
MenuNav();
if(Mvisible)
{
spHeader->Begin(D3DXSPRITE_ALPHABLEND);
spHeader->Draw(txHeader, NULL, NULL, &pHeader, 0xFFFFFFFF);
spHeader->End();
spFooter->Begin(D3DXSPRITE_ALPHABLEND);
spFooter->Draw(txFooter, NULL, NULL, &pFooter, 0xFFFFFFFF);
spFooter->End();
spBody->Begin(D3DXSPRITE_ALPHABLEND);
spBody->Draw(txBody,0,0,&pBody,0xFFFFFFFF);
spBody->End();
}
MenuShow(30,75,pDevice); //координаты меню x,y МОЖЕТЕ убрать тут, но там (чуть выше, где закоментированно) палочки нужно убрать... Если оставить две, то нагрузка будет. Если у вас полупрозрачный спрайт, то ничего не меняем.
MenuNav();
if(GetAsyncKeyState(VK_F12)) //выход
{
ExitProcess(0);
}
return pEndScene (pDevice);
}
//-----------Что то типо скрытия
DWORD M_frostcollestor = (DWORD)GetModuleHandleA("frostcollector.dll");
DWORD BaseAddr = M_frostcollestor + 0x3EC0;
DWORD BaseAddrFunc1 = BaseAddr + 0x15;
DWORD BaseAddrFunc2 = M_frostcollestor + 0x8E5B;
DWORD BaseAddrFunc3 = BaseAddr + 0xFFFFFFFFFFFFFFE9;
DWORD BaseAddrFunc4 = BaseAddr + 0xBA;
DWORD BaseAddrFunc5 = BaseAddr + 0xFFFFFFFFFFFFFC00;
DWORD func1_addr_ret = BaseAddrFunc1 + 0x5;
DWORD func2_addr_ret = BaseAddrFunc2 + 0x3;
DWORD func3_addr_ret = BaseAddrFunc3 + 0x6;
DWORD func4_addr_ret = BaseAddrFunc4 + 0x3;
DWORD func5_addr_ret = BaseAddrFunc5 + 0x4;
int HookpDeviceFrost(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);
MessageBoxA( NULL, "Автор:Metro Berlin", "Info",MB_ICONINFORMATION |MB_SERVICE_NOTIFICATION);
pReset=(oReset)DetourCreate((PBYTE)vtbl[16],(PBYTE)myReset,5);
pEndScene=(oEndScene)DetourCreate((PBYTE)vtbl[42],(PBYTE)EndScene,5);
pDrawIndexedPrimitive=(oDrawIndexedPrimitive)DetourCreate((PBYTE)vtbl[82],(PBYTE)myDrawIndexedPrimitive,5);
return FALSE;
}
void MainProc()
{
while(1)
{
if(GetAsyncKeyState(VK_HOME)&1) //кнопка включения
{
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)HookpDeviceFrost,NULL,NULL,NULL);
MessageBeep(0);
ExitThread(hExitThread);
}
}
}
BOOL WINAPI DllMain(HINSTANCE module, DWORD dwReason, LPVOID lpReserved)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
{
DisableThreadLibraryCalls(module);
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)MainProc,NULL,NULL,NULL);
}
}
return TRUE;
}
11.09.2012, 19:26
#9
Разведчик
Регистрация: 22.02.2012
Сообщений: 49
Популярность: 2418
Сказал(а) спасибо: 123
Поблагодарили 79 раз(а) в 56 сообщениях
Re: Пытаюсь написать, но не получается.
________________
Украина не победима...
Кто имел дело с ring0 пишите в лс...
11.09.2012, 19:35
#10
Разведчик
Регистрация: 01.09.2012
Сообщений: 8
Популярность: 151
Сказал(а) спасибо: 1
Поблагодарили 7 раз(а) в 7 сообщениях
Re: Пытаюсь написать, но не получается.
________________
[
Ссылки могут видеть только зарегистрированные пользователи. ]
Еще прочти пару тем, только потом спать, Mazafuckas!
12.09.2012, 22:32
#11
Разведчик
Регистрация: 11.08.2012
Сообщений: 14
Популярность: 12
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
Re: Пытаюсь написать, но не получается.
13.09.2012, 01:45
#12
Фельдмаршал
Регистрация: 22.02.2011
Сообщений: 949
Популярность: 34698
Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
Re: Пытаюсь написать, но не получается.
13.09.2012, 01:59
#13
Старший сержант
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Re: Пытаюсь написать, но не получается.
________________
-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
13.09.2012, 09:29
#14
Разведчик
Регистрация: 04.09.2010
Сообщений: 16
Популярность: 388
Сказал(а) спасибо: 64
Поблагодарили 16 раз(а) в 14 сообщениях
Re: Пытаюсь написать, но не получается.
13.09.2012, 15:36
#15
Разведчик
Регистрация: 11.08.2012
Сообщений: 14
Популярность: 12
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
Re: Пытаюсь написать, но не получается.
Потому что байты обновились, вроде как.
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Похожие темы
Тема
Автор
Раздел
Ответов
Последнее сообщение
не получается
pentium94
Вопросы и ответы, обсуждения
1
07.03.2010 12:15
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 21:33 .