HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 15.12.2019, 20:42
otherwise
Познающий
Регистрация: 08.12.2019
Сообщений: 45
С нами: 3385695

Репутация: 58
По умолчанию

Код аирбрейка:





Код:
#include "pch.h"
float
*
coordinates
=
(
*
(
DWORD
*
)
0xB6F5F0
)
?
(
float
*
)
(
*
(
DWORD
*
)
(
*
(
DWORD
*
)
0xB6F5F0
+
0x14
)
+
0x30
)
:
NULL
;
DWORD Gravity
=
*
(
DWORD
*
)
0x863984
;
void
airbrake
(
)
{
bool
CheatOn
=
false
;
while
(
1
)
{
if
(
GetAsyncKeyState
(
VK_RSHIFT
)
&&
CheatOn
==
false
)
{
CheatOn
=
true
;
*
(
DWORD
*
)
0x863984
=
0.013
;
}
if
(
CheatOn
==
true
)
{
if
(
GetAsyncKeyState
(
VK_DELETE
)
)
{
CheatOn
=
false
;
}
GetAsyncKeyState
(
VK_UP
)
?
coordinates
[
2
]
+=
0.0002f
:
NULL
;
GetAsyncKeyState
(
VK_DOWN
)
?
coordinates
[
2
]
-=
0.0002f
:
NULL
;
GetAsyncKeyState
(
VK_RIGHT
)
?
coordinates
[
0
]
+=
0.0002f
:
NULL
;
GetAsyncKeyState
(
VK_LEFT
)
?
coordinates
[
0
]
-=
0.0002f
:
NULL
;
GetAsyncKeyState
(
0x57
)
?
coordinates
[
1
]
+=
0.0002f
:
NULL
;
GetAsyncKeyState
(
0x53
)
?
coordinates
[
1
]
-=
0.0002f
:
NULL
;
}
if
(
CheatOn
==
false
)
{
*
(
DWORD
*
)
0x863984
=
Gravity
;
}
}
}
void
init
(
)
{
while
(
*
(
DWORD
*
)
0xC8D4C0
!=
9
)
Sleep
(
100
)
;
airbrake
(
)
;
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD  ul_reason_for_call
,
LPVOID lpReserved
)
{
switch
(
ul_reason_for_call
)
{
case
DLL_PROCESS_ATTACH
:
{
CreateThread
(
NULL
,
NULL
,
(
LPTHREAD_START_ROUTINE
)
init
,
NULL
,
NULL
,
NULL
)
;
}
case
DLL_THREAD_ATTACH
:
case
DLL_THREAD_DETACH
:
case
DLL_PROCESS_DETACH
:
break
;
}
return
TRUE
;
}


Написал хреновый аирбрейк, выложил дабы послушать мнение спецов в написании подобного, если не сложно, укажите на мои ошибки и дайте каких-нибудь рекомендаций)).
 
Ответить с цитированием

  #2  
Старый 16.12.2019, 00:34
MrCreepTon
Флудер
Регистрация: 09.08.2015
Сообщений: 2,375
С нами: 5663810

Репутация: 233


По умолчанию

Цитата:
Сообщение от loganhackerdff  

Я понял только что это написано на C++
Я продолжу твою цепочку размышлений: он на аси и работает с памятью 😱😱😱
 
Ответить с цитированием

  #3  
Старый 16.12.2019, 00:46
otherwise
Познающий
Регистрация: 08.12.2019
Сообщений: 45
С нами: 3385695

Репутация: 58
По умолчанию

Цитата:
Сообщение от MrCreepTon  

Я продолжу твою цепочку размышлений: он на аси и работает с памятью 😱😱😱
Ещё он работает с массивом 😱😱😱😱
 
Ответить с цитированием

  #4  
Старый 16.12.2019, 01:34
iAmerican
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами: 6438231

Репутация: 133


По умолчанию

Цитата:
Сообщение от otherwise  

Ещё он работает с массивом 😱😱😱😱
Если твоё сообщение не рофл , то смотри что такое массивы.

а лучше сразу
 
Ответить с цитированием

  #5  
Старый 16.12.2019, 01:41
otherwise
Познающий
Регистрация: 08.12.2019
Сообщений: 45
С нами: 3385695

Репутация: 58
По умолчанию

Цитата:
Сообщение от iAmerican  

Если твоё сообщение не рофл , то смотри что такое массивы.

а лучше сразу
Разве float* coordinates не массив?
 
Ответить с цитированием

  #6  
Старый 16.12.2019, 01:49
iAmerican
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами: 6438231

Репутация: 133


По умолчанию

Цитата:
Сообщение от otherwise  

Разве float* coordinates не массив?
Нет , не массив
 
Ответить с цитированием

  #7  
Старый 16.12.2019, 09:31
Carrentine
Постоянный
Регистрация: 25.12.2018
Сообщений: 568
С нами: 3886298

Репутация: 113


По умолчанию

Цитата:
Сообщение от otherwise  

Разве float* coordinates не массив?
Это указатель.

Цитата:
Сообщение от otherwise  

Код аирбрейка:





Код:
#include "pch.h"
float
*
coordinates
=
(
*
(
DWORD
*
)
0xB6F5F0
)
?
(
float
*
)
(
*
(
DWORD
*
)
(
*
(
DWORD
*
)
0xB6F5F0
+
0x14
)
+
0x30
)
:
NULL
;
DWORD Gravity
=
*
(
DWORD
*
)
0x863984
;
void
airbrake
(
)
{
bool
CheatOn
=
false
;
while
(
1
)
{
if
(
GetAsyncKeyState
(
VK_RSHIFT
)
&&
CheatOn
==
false
)
{
CheatOn
=
true
;
*
(
DWORD
*
)
0x863984
=
0.013
;
}
if
(
CheatOn
==
true
)
{
if
(
GetAsyncKeyState
(
VK_DELETE
)
)
{
CheatOn
=
false
;
}
GetAsyncKeyState
(
VK_UP
)
?
coordinates
[
2
]
+=
0.0002f
:
NULL
;
GetAsyncKeyState
(
VK_DOWN
)
?
coordinates
[
2
]
-=
0.0002f
:
NULL
;
GetAsyncKeyState
(
VK_RIGHT
)
?
coordinates
[
0
]
+=
0.0002f
:
NULL
;
GetAsyncKeyState
(
VK_LEFT
)
?
coordinates
[
0
]
-=
0.0002f
:
NULL
;
GetAsyncKeyState
(
0x57
)
?
coordinates
[
1
]
+=
0.0002f
:
NULL
;
GetAsyncKeyState
(
0x53
)
?
coordinates
[
1
]
-=
0.0002f
:
NULL
;
}
if
(
CheatOn
==
false
)
{
*
(
DWORD
*
)
0x863984
=
Gravity
;
}
}
}
void
init
(
)
{
while
(
*
(
DWORD
*
)
0xC8D4C0
!=
9
)
Sleep
(
100
)
;
airbrake
(
)
;
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD  ul_reason_for_call
,
LPVOID lpReserved
)
{
switch
(
ul_reason_for_call
)
{
case
DLL_PROCESS_ATTACH
:
{
CreateThread
(
NULL
,
NULL
,
(
LPTHREAD_START_ROUTINE
)
init
,
NULL
,
NULL
,
NULL
)
;
}
case
DLL_THREAD_ATTACH
:
case
DLL_THREAD_DETACH
:
case
DLL_PROCESS_DETACH
:
break
;
}
return
TRUE
;
}


Написал хреновый аирбрейк, выложил дабы послушать мнение спецов в написании подобного, если не сложно, укажите на мои ошибки и дайте каких-нибудь рекомендаций)).
Свойства проекта -> С++ -> Отключение предкомпилированных заголовков.
 
Ответить с цитированием

  #8  
Старый 16.12.2019, 16:40
otherwise
Познающий
Регистрация: 08.12.2019
Сообщений: 45
С нами: 3385695

Репутация: 58
По умолчанию

Цитата:
Сообщение от Carrentine  

Это указатель.

Свойства проекта -> С++ -> Отключение предкомпилированных заголовков.
Спасибо! Не подскажешь, для чего отключать предкомпилированные заголовки? Я так понял они не нужны?
 
Ответить с цитированием

  #9  
Старый 16.12.2019, 17:00
DarkP1xel
Флудер
Регистрация: 17.06.2013
Сообщений: 3,635
С нами: 6791977

Репутация: 183


По умолчанию

Ужасный код. Такой код надо писать только когда тестируешь что то. Создавать поток в DllMain - это плохо. Так же использование Sleep и GetAsyncKeyState, получение данных в глобальной области видимости. Тебе тут надо хукать WndProc и он тебе будет давать все текущие "эвенты" окна и не придётся использовать создание потока, sleep и получение стейта клавиши.
 
Ответить с цитированием

  #10  
Старый 16.12.2019, 17:56
loganhackerdff
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами: 4633764

Репутация: 148


По умолчанию

Цитата:
Сообщение от DarkP1xel  

Ужасный код. Такой код надо писать только когда тестируешь что то. Создавать поток в DllMain - это плохо. Так же использование Sleep и GetAsyncKeyState, получение данных в глобальной области видимости. Тебе тут надо хукать WndProc и он тебе будет давать все текущие "эвенты" окна и не придётся использовать создание потока, sleep и получение стейта клавиши.
Вот вот именно
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.