 |
|

22.08.2022, 02:34
|
|
Участник форума
Регистрация: 27.05.2021
Сообщений: 140
С нами:
2614229
Репутация:
33
|
|
игра вылетает, что не так?
C++:
Код:
#include
#include
#include
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib")
typedef
HRESULT
(
WINAPI
*
_EndScene
)
(
IDirect3DDevice9
*
)
;
//прототип
_EndScene oEndScene
;
//экземпляр прототипа, для возврата оригинала
typedef
HRESULT
(
WINAPI
*
_Reset
)
(
IDirect3DDevice9
*
,
D3DPRESENT_PARAMETERS
*
)
;
_Reset oReset
;
HRESULT WINAPI
myEndScene
(
IDirect3DDevice9
*
m_pDevice
)
{
ImGui_ImplDX9_NewFrame
(
)
;
ImGui_ImplWin32_NewFrame
(
)
;
ImGui
::
NewFrame
(
)
;
ImGui
::
EndFrame
(
)
;
ImGui
::
Render
(
)
;
ImGui_ImplDX9_RenderDrawData
(
ImGui
::
GetDrawData
(
)
)
;
return
oEndScene
(
m_pDevice
)
;
// возврат оригинала
}
HRESULT WINAPI
myReset
(
IDirect3DDevice9
*
m_pDevice
,
D3DPRESENT_PARAMETERS
*
pPresentationParameters
)
{
auto
result
=
oReset
(
m_pDevice
,
pPresentationParameters
)
;
return
result
;
}
void
InitHook
(
)
{
void
*
*
vTableDevice
=
*
(
void
*
*
*
)
(
*
(
DWORD
*
)
0xC97C28
)
;
// адрес Device
VMTHookManager
*
vmtHooks
=
new
VMTHookManager
(
vTableDevice
)
;
oEndScene
=
(
_EndScene
)
vmtHooks
->
Hook
(
42
,
(
void
*
)
myEndScene
)
;
// 42 - номер EndScene
}
int
WINAPI
Thread
(
)
{
while
(
*
(
DWORD
*
)
0xC8D4C0
!=
9
)
// проверка на статус загрузки игры
Sleep
(
100
)
;
InitHook
(
)
;
return
0
;
}
BOOL WINAPI
DllMain
(
HMODULE hModule
,
DWORD dwReason
,
LPVOID lpReserved
)
{
if
(
dwReason
==
DLL_PROCESS_ATTACH
)
CreateThread
(
NULL
,
NULL
,
(
LPTHREAD_START_ROUTINE
)
Thread
,
NULL
,
NULL
,
NULL
)
;
return
TRUE
;
}
|
|
|

22.08.2022, 02:35
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сообщение от !Sam#0235
игра вылетает, что не так?
C++:
Код:
#include
#include
#include
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib")
typedef
HRESULT
(
WINAPI
*
_EndScene
)
(
IDirect3DDevice9
*
)
;
//прототип
_EndScene oEndScene
;
//экземпляр прототипа, для возврата оригинала
typedef
HRESULT
(
WINAPI
*
_Reset
)
(
IDirect3DDevice9
*
,
D3DPRESENT_PARAMETERS
*
)
;
_Reset oReset
;
HRESULT WINAPI
myEndScene
(
IDirect3DDevice9
*
m_pDevice
)
{
ImGui_ImplDX9_NewFrame
(
)
;
ImGui_ImplWin32_NewFrame
(
)
;
ImGui
::
NewFrame
(
)
;
ImGui
::
EndFrame
(
)
;
ImGui
::
Render
(
)
;
ImGui_ImplDX9_RenderDrawData
(
ImGui
::
GetDrawData
(
)
)
;
return
oEndScene
(
m_pDevice
)
;
// возврат оригинала
}
HRESULT WINAPI
myReset
(
IDirect3DDevice9
*
m_pDevice
,
D3DPRESENT_PARAMETERS
*
pPresentationParameters
)
{
auto
result
=
oReset
(
m_pDevice
,
pPresentationParameters
)
;
return
result
;
}
void
InitHook
(
)
{
void
*
*
vTableDevice
=
*
(
void
*
*
*
)
(
*
(
DWORD
*
)
0xC97C28
)
;
// адрес Device
VMTHookManager
*
vmtHooks
=
new
VMTHookManager
(
vTableDevice
)
;
oEndScene
=
(
_EndScene
)
vmtHooks
->
Hook
(
42
,
(
void
*
)
myEndScene
)
;
// 42 - номер EndScene
}
int
WINAPI
Thread
(
)
{
while
(
*
(
DWORD
*
)
0xC8D4C0
!=
9
)
// проверка на статус загрузки игры
Sleep
(
100
)
;
InitHook
(
)
;
return
0
;
}
BOOL WINAPI
DllMain
(
HMODULE hModule
,
DWORD dwReason
,
LPVOID lpReserved
)
{
if
(
dwReason
==
DLL_PROCESS_ATTACH
)
CreateThread
(
NULL
,
NULL
,
(
LPTHREAD_START_ROUTINE
)
Thread
,
NULL
,
NULL
,
NULL
)
;
return
TRUE
;
}
ImGui_ImplDX9_InvalidateDeviceObjects(); в Reset
|
|
|

22.08.2022, 03:04
|
|
Участник форума
Регистрация: 27.05.2021
Сообщений: 140
С нами:
2614229
Репутация:
33
|
|
Сообщение от kin4stat
ImGui_ImplDX9_InvalidateDeviceObjects(); в Reset
продолжать терпеть неудачу

|
|
|

22.08.2022, 03:05
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сообщение от !Sam#0235
продолжать терпеть неудачу
В начало Present:
C++:
Код:
static
bool
ImGui_inited
=
false
;
if
(
!
ImGui_inited
)
{
ImGui
::
CreateContext
(
)
;
ImGui_ImplWin32_Init
(
*
*
reinterpret_cast
(
0xC17054
)
)
;
ImGui_ImplDX9_Init
(
m_pDevice
)
;
ImGui_inited
=
true
;
}
|
|
|

22.08.2022, 03:15
|
|
Участник форума
Регистрация: 27.05.2021
Сообщений: 140
С нами:
2614229
Репутация:
33
|
|
Сообщение от kin4stat
В начало Present:
C++:
Код:
static
bool
ImGui_inited
=
false
;
if
(
!
ImGui_inited
)
{
ImGui
::
CreateContext
(
)
;
ImGui_ImplWin32_Init
(
*
*
reinterpret_cast
(
0xC17054
)
)
;
ImGui_ImplDX9_Init
(
m_pDevice
)
;
ImGui_inited
=
true
;
}
спасибо, еще один вопрос, как добавить движение окну?
|
|
|

22.08.2022, 03:16
|
|
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами:
4483143
Репутация:
183
|
|
Сообщение от !Sam#0235
спасибо, еще один вопрос, как добавить движение окну?
Гайд - Работа с рендером и Directx9 [4]
Создание ASI-плагина с нуля Хуки – что это такое и как с ними работать Безопасная инициализация и работа с SAMP Работа с рендером и Directx9 Обработка событий окна + ImGui В этом гайде будет рассказано про работу с рендером в Directx9 с помощью ImGui При использовании на других ресурсах...
www.blast.hk
Гайд - Обработка событий окна + ImGui [5]
Создание ASI-плагина с нуля Хуки – что это такое и как с ними работать Безопасная инициализация и работа с SAMP Работа с рендером и Directx9 Обработка событий окна + ImGui В этом гайде будет рассказано про работу с событиями окна, а также их передачей в ImGui При использовании на других...
www.blast.hk
|
|
|

22.08.2022, 22:00
|
|
Новичок
Регистрация: 22.08.2022
Сообщений: 2
С нами:
1962541
Репутация:
1
|
|
Как объединить 2 main в 1 и привязать к imgui меню?
Сообщение от Спойлер
Код:
Код:
#include "memory.h"
#include "vector.h"
#include
namespace
offset
{
constexpr
::
std
::
ptrdiff_t localPlayer
=
0xDC04CC
;
constexpr
::
std
::
ptrdiff_t flags
=
0x104
;
constexpr
::
std
::
ptrdiff_t forceJump
=
0x52868EC
;
constexpr
::
std
::
ptrdiff_t entityList
=
0x52868EC
;
constexpr
::
std
::
ptrdiff_t teamNum
=
0xF4
;
// клиент
constexpr
::
std
::
ptrdiff_t dwLocalPlayer
=
0xDC04CC
;
constexpr
::
std
::
ptrdiff_t dwEntityList
=
0x4DDC90C
;
// двигатель
constexpr
::
std
::
ptrdiff_t dwClientState
=
0x58CFDC
;
constexpr
::
std
::
ptrdiff_t dwClientState_ViewAngles
=
0x4D90
;
constexpr
::
std
::
ptrdiff_t dwClientState_GetLocalPlayer
=
0x180
;
// организация
constexpr
::
std
::
ptrdiff_t m_dwBoneMatrix
=
0x26A8
;
constexpr
::
std
::
ptrdiff_t m_bDormant
=
0xED
;
constexpr
::
std
::
ptrdiff_t m_iTeamNum
=
0xF4
;
constexpr
::
std
::
ptrdiff_t m_lifeState
=
0x25F
;
constexpr
::
std
::
ptrdiff_t m_vecOrigin
=
0x138
;
constexpr
::
std
::
ptrdiff_t m_vecViewOffset
=
0x108
;
constexpr
::
std
::
ptrdiff_t m_aimPunchAngle
=
0x303C
;
constexpr
::
std
::
ptrdiff_t m_bSpottedByMask
=
0x980
;
}
constexpr
Vector3
CalculateAngle
(
const
Vector3
&
localPosition
,
const
Vector3
&
enemyPosition
,
const
Vector3
&
viewAngles
)
noexcept
{
return
(
(
enemyPosition
-
localPosition
)
.
ToAngle
(
)
-
viewAngles
)
;
}
main
(
)
{
// инициализировать класс памяти
const
auto
memory
=
Memory
{
"csgo.exe"
}
;
// адреса модулей
const
auto
client
=
memory
.
GetModuleAddress
(
"client.dll"
)
;
const
auto
engine
=
memory
.
GetModuleAddress
(
"engine.dll"
)
;
// бесконечный цикл
while
(
true
)
{
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
1
)
)
;
// кнопка aimbot
if
(
!
GetAsyncKeyState
(
VK_XBUTTON2
)
)
continue
;
// получить местнахождения игрока
const
auto
localPlayer
=
memory
.
Read
(
client
+
offset
::
dwLocalPlayer
)
;
const
auto
localTeam
=
memory
.
Read
(
localPlayer
+
offset
::
m_iTeamNum
)
;
// eye position = origin + viewOffset
const
auto
localEyePosition
=
memory
.
Read
(
localPlayer
+
offset
::
m_vecOrigin
)
+
memory
.
Read
(
localPlayer
+
offset
::
m_vecViewOffset
)
;
const
auto
clientState
=
memory
.
Read
(
engine
+
offset
::
dwClientState
)
;
const
auto
localPlayerId
=
memory
.
Read
(
clientState
+
offset
::
dwClientState_GetLocalPlayer
)
;
const
auto
viewAngles
=
memory
.
Read
(
clientState
+
offset
::
dwClientState_ViewAngles
)
;
const
auto
aimPunch
=
memory
.
Read
(
localPlayer
+
offset
::
m_aimPunchAngle
)
*
2
;
// значение fov aimbot
auto
bestFov
=
8.f
;
auto
bestAngle
=
Vector3
{
}
;
for
(
auto
i
=
1
;
i
(
client
+
offset
::
dwEntityList
+
i
*
0x10
)
;
if
(
memory
.
Read
(
player
+
offset
::
m_iTeamNum
)
==
localTeam
)
continue
;
if
(
memory
.
Read
(
player
+
offset
::
m_bDormant
)
)
continue
;
if
(
memory
.
Read
(
player
+
offset
::
m_lifeState
)
)
continue
;
if
(
memory
.
Read
(
player
+
offset
::
m_bSpottedByMask
)
&
(
1
(
player
+
offset
::
m_dwBoneMatrix
)
;
// положение головы игрока в 3D-пространстве
//индекс костей
const
auto
playerHeadPosition
=
Vector3
{
memory
.
Read
(
boneMatrix
+
0x30
*
8
+
0x0C
)
,
memory
.
Read
(
boneMatrix
+
0x30
*
8
+
0x1C
)
,
memory
.
Read
(
boneMatrix
+
0x30
*
8
+
0x2C
)
}
;
const
auto
angle
=
CalculateAngle
(
localEyePosition
,
playerHeadPosition
,
viewAngles
+
aimPunch
)
;
const
auto
fov
=
std
::
hypot
(
angle
.
x
,
angle
.
y
)
;
if
(
fov
(
clientState
+
offset
::
dwClientState_ViewAngles
,
viewAngles
+
bestAngle
/
1.f
)
;
// значение smoothing
}
}
main
(
)
{
const
auto
memory
=
Memory
{
"csgo.exe"
}
;
const
auto
client
=
memory
.
GetModuleAddress
(
"client.dll"
)
;
while
(
true
)
{
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
1
)
)
;
const
auto
localPlayer
=
memory
.
Read
(
client
+
offset
::
localPlayer
)
;
if
(
!
localPlayer
)
continue
;
const
auto
localPlayerTeam
=
memory
.
Read
(
localPlayer
+
offset
::
teamNum
)
;
const
auto
localPlayerFlags
=
memory
.
Read
(
localPlayer
+
offset
::
flags
)
;
// сам бхоп
if
(
GetAsyncKeyState
(
VK_SPACE
)
)
(
localPlayerFlags
&
(
1
(
client
+
offset
::
forceJump
,
6
)
:
memory
.
Write
(
client
+
offset
::
forceJump
,
4
)
;
}
}
|
|
|

23.08.2022, 04:53
|
|
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
С нами:
4012500
Репутация:
138
|
|
Сообщение от savva7906
Как объединить 2 main в 1 и привязать к imgui меню?
Сообщение от Спойлер
Код:
Код:
#include "memory.h"
#include "vector.h"
#include
namespace
offset
{
constexpr
::
std
::
ptrdiff_t localPlayer
=
0xDC04CC
;
constexpr
::
std
::
ptrdiff_t flags
=
0x104
;
constexpr
::
std
::
ptrdiff_t forceJump
=
0x52868EC
;
constexpr
::
std
::
ptrdiff_t entityList
=
0x52868EC
;
constexpr
::
std
::
ptrdiff_t teamNum
=
0xF4
;
// клиент
constexpr
::
std
::
ptrdiff_t dwLocalPlayer
=
0xDC04CC
;
constexpr
::
std
::
ptrdiff_t dwEntityList
=
0x4DDC90C
;
// двигатель
constexpr
::
std
::
ptrdiff_t dwClientState
=
0x58CFDC
;
constexpr
::
std
::
ptrdiff_t dwClientState_ViewAngles
=
0x4D90
;
constexpr
::
std
::
ptrdiff_t dwClientState_GetLocalPlayer
=
0x180
;
// организация
constexpr
::
std
::
ptrdiff_t m_dwBoneMatrix
=
0x26A8
;
constexpr
::
std
::
ptrdiff_t m_bDormant
=
0xED
;
constexpr
::
std
::
ptrdiff_t m_iTeamNum
=
0xF4
;
constexpr
::
std
::
ptrdiff_t m_lifeState
=
0x25F
;
constexpr
::
std
::
ptrdiff_t m_vecOrigin
=
0x138
;
constexpr
::
std
::
ptrdiff_t m_vecViewOffset
=
0x108
;
constexpr
::
std
::
ptrdiff_t m_aimPunchAngle
=
0x303C
;
constexpr
::
std
::
ptrdiff_t m_bSpottedByMask
=
0x980
;
}
constexpr
Vector3
CalculateAngle
(
const
Vector3
&
localPosition
,
const
Vector3
&
enemyPosition
,
const
Vector3
&
viewAngles
)
noexcept
{
return
(
(
enemyPosition
-
localPosition
)
.
ToAngle
(
)
-
viewAngles
)
;
}
main
(
)
{
// инициализировать класс памяти
const
auto
memory
=
Memory
{
"csgo.exe"
}
;
// адреса модулей
const
auto
client
=
memory
.
GetModuleAddress
(
"client.dll"
)
;
const
auto
engine
=
memory
.
GetModuleAddress
(
"engine.dll"
)
;
// бесконечный цикл
while
(
true
)
{
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
1
)
)
;
// кнопка aimbot
if
(
!
GetAsyncKeyState
(
VK_XBUTTON2
)
)
continue
;
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
1
)
)
;
const
auto
localPlayer
=
memory
.
Read
(
client
+
offset
::
localPlayer
)
;
if
(
!
localPlayer
)
continue
;
const
auto
localPlayerTeam
=
memory
.
Read
(
localPlayer
+
offset
::
teamNum
)
;
const
auto
localPlayerFlags
=
memory
.
Read
(
localPlayer
+
offset
::
flags
)
;
// сам бхоп
if
(
GetAsyncKeyState
(
VK_SPACE
)
)
(
localPlayerFlags
&
(
1
(
client
+
offset
::
forceJump
,
6
)
:
memory
.
Write
(
client
+
offset
::
forceJump
,
4
)
;
}
// получить местнахождения игрока
const
auto
localPlayer
=
memory
.
Read
(
client
+
offset
::
dwLocalPlayer
)
;
const
auto
localTeam
=
memory
.
Read
(
localPlayer
+
offset
::
m_iTeamNum
)
;
// eye position = origin + viewOffset
const
auto
localEyePosition
=
memory
.
Read
(
localPlayer
+
offset
::
m_vecOrigin
)
+
memory
.
Read
(
localPlayer
+
offset
::
m_vecViewOffset
)
;
const
auto
clientState
=
memory
.
Read
(
engine
+
offset
::
dwClientState
)
;
const
auto
localPlayerId
=
memory
.
Read
(
clientState
+
offset
::
dwClientState_GetLocalPlayer
)
;
const
auto
viewAngles
=
memory
.
Read
(
clientState
+
offset
::
dwClientState_ViewAngles
)
;
const
auto
aimPunch
=
memory
.
Read
(
localPlayer
+
offset
::
m_aimPunchAngle
)
*
2
;
// значение fov aimbot
auto
bestFov
=
8.f
;
auto
bestAngle
=
Vector3
{
}
;
for
(
auto
i
=
1
;
i
(
client
+
offset
::
dwEntityList
+
i
*
0x10
)
;
if
(
memory
.
Read
(
player
+
offset
::
m_iTeamNum
)
==
localTeam
)
continue
;
if
(
memory
.
Read
(
player
+
offset
::
m_bDormant
)
)
continue
;
if
(
memory
.
Read
(
player
+
offset
::
m_lifeState
)
)
continue
;
if
(
memory
.
Read
(
player
+
offset
::
m_bSpottedByMask
)
&
(
1
(
player
+
offset
::
m_dwBoneMatrix
)
;
// положение головы игрока в 3D-пространстве
//индекс костей
const
auto
playerHeadPosition
=
Vector3
{
memory
.
Read
(
boneMatrix
+
0x30
*
8
+
0x0C
)
,
memory
.
Read
(
boneMatrix
+
0x30
*
8
+
0x1C
)
,
memory
.
Read
(
boneMatrix
+
0x30
*
8
+
0x2C
)
}
;
const
auto
angle
=
CalculateAngle
(
localEyePosition
,
playerHeadPosition
,
viewAngles
+
aimPunch
)
;
const
auto
fov
=
std
::
hypot
(
angle
.
x
,
angle
.
y
)
;
if
(
fov
(
clientState
+
offset
::
dwClientState_ViewAngles
,
viewAngles
+
bestAngle
/
1.f
)
;
// значение smoothing
}
}
вот так наверно, не проверял.
не совсем понял вопроса "как привязать к имгуй"? что значит привязать? а вообще у тебя же чит экстернал, тебе нужно создавать окно и поверх игры этот имгуй рисовать а не в игре
|
|
|

23.08.2022, 11:42
|
|
Новичок
Регистрация: 22.08.2022
Сообщений: 2
С нами:
1962541
Репутация:
1
|
|
Сообщение от F0RQU1N and
вот так наверно, не проверял.
не совсем понял вопроса "как привязать к имгуй"? что значит привязать? а вообще у тебя же чит экстернал, тебе нужно создавать окно и поверх игры этот имгуй рисовать а не в игре
Спасибо код собирается но аим бот не работает а бхоп работает при нажатие кнопки аима и пробела
|
|
|

23.08.2022, 17:56
|
|
Познавший АНТИЧАТ
Регистрация: 06.09.2020
Сообщений: 1,043
С нами:
2992507
Репутация:
168
|
|
как выводить только "ABCDEF", а не "ABCDEF66"?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|