 |
|

13.06.2019, 16:12
|
|
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами:
6908018
Репутация:
213
|
|
Сообщение от soviet
Есть .asi, нужно чтобы он заменил другой файл .asi в папке с игрой на свой, как такое реализовать на С++?
Выделить виртуальную память,заполнить ее твоей функцией, получить адреса функций и параметры, запустить поток и передать аргументы в виде структуры(адреса функций и параметры для них)
Сообщение от Akionka
как....?
Получить адрес функции вызова опкода и вызвать её
Сообщение от Rece1ver
и какой ид клавиши N ?
Клавиши N/Y проверяются через currentweaponid
|
|
|

13.06.2019, 16:14
|
|
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами:
6908018
Репутация:
213
|
|
|
|
|

13.06.2019, 16:19
|
|
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами:
6908018
Репутация:
213
|
|
тут есть пример https://blast.hk/threads/34101/
для библиотеки вызываешь FreeLibrary прям из нее,перед этим нужно еще снять хуки
Сообщение от soviet
хорошо, а есть какая-то функция чтобы предотвратить загрузку другого .asi ?
Загрузка dll происходит через WinAPI функцию LoadLibrary, хукаешь ее и не даешь загружаться
|
|
|

13.06.2019, 16:22
|
|
Участник форума
Регистрация: 04.04.2017
Сообщений: 263
С нами:
4793630
Репутация:
133
|
|
Сообщение от CleanLegend
тут есть пример https://blast.hk/threads/34101/
для библиотеки вызываешь FreeLibrary прям из нее,перед этим нужно еще снять хуки
Загрузка dll происходит через WinAPI функцию LoadLibrary, хукаешь ее и не даешь загружаться
*супер обход пикселя*
|
|
|

14.06.2019, 17:43
|
|
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами:
5332594
Репутация:
163
|
|
Сообщение от Rjx13
С твоим "не ебу как сделать", ты ничего не добьешься. Хукай пакет ID_PLAYER_SYNC выводя в чат параметр stKeys
при нажатии на N - 0, при нажатии на пробел - 32
C++:
Код:
bool
CALLBACK
outcomingData
(
stRakNetHookParams
*
params
)
{
if
(
params
->
packetId
==
PacketEnumeration
::
ID_PLAYER_SYNC
)
{
stOnFootData data
;
// определяем объект, в который сохраним отправляемые данные
memset
(
&
data
,
0
,
sizeof
(
stOnFootData
)
)
;
// обнуляем его
byte packet
;
params
->
bitStream
->
ResetReadPointer
(
)
;
// на всякий случай устанавливаем оффсет чтения на начало
params
->
bitStream
->
Read
(
packet
)
;
// читаем ID пакета
params
->
bitStream
->
Read
(
(
PCHAR
)
&
data
,
sizeof
(
stOnFootData
)
)
;
// читаем отправляемые данные
params
->
bitStream
->
ResetReadPointer
(
)
;
// снова обнуляем оффсет чтения
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
255
,
255
,
0
)
,
"nazhata klavisha: %d"
,
data
.
sKeys
)
;
// выводим ***ню на экран
}
;
return
true
;
// успешно завершаем отправку пакета
}
;
|
|
|

14.06.2019, 19:06
|
|
Участник форума
Регистрация: 06.01.2016
Сообщений: 154
С нами:
5447649
Репутация:
28
|
|
Сообщение от Rece1ver
при нажатии на N - 0, при нажатии на пробел - 32
C++:
Код:
bool
CALLBACK
outcomingData
(
stRakNetHookParams
*
params
)
{
if
(
params
->
packetId
==
PacketEnumeration
::
ID_PLAYER_SYNC
)
{
stOnFootData data
;
// определяем объект, в который сохраним отправляемые данные
memset
(
&
data
,
0
,
sizeof
(
stOnFootData
)
)
;
// обнуляем его
byte packet
;
params
->
bitStream
->
ResetReadPointer
(
)
;
// на всякий случай устанавливаем оффсет чтения на начало
params
->
bitStream
->
Read
(
packet
)
;
// читаем ID пакета
params
->
bitStream
->
Read
(
(
PCHAR
)
&
data
,
sizeof
(
stOnFootData
)
)
;
// читаем отправляемые данные
params
->
bitStream
->
ResetReadPointer
(
)
;
// снова обнуляем оффсет чтения
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
255
,
255
,
0
)
,
"nazhata klavisha: %d"
,
data
.
sKeys
)
;
// выводим ***ню на экран
}
;
return
true
;
// успешно завершаем отправку пакета
}
;
Нажатия клавиш N и Y передаются через элемент byteCurrentWeapon, номер клавиши N - 128
|
|
|

14.06.2019, 21:12
|
|
Новичок
Регистрация: 14.06.2019
Сообщений: 17
С нами:
3641238
Репутация:
3
|
|
С чего начинать делать софты для SAMPA?
|
|
|

14.06.2019, 21:17
|
|
Познавший АНТИЧАТ
Регистрация: 16.03.2017
Сообщений: 1,626
С нами:
4821087
Репутация:
133
|
|
Сообщение от R G T X
С чего начинать делать софты для SAMPA?
с основ
|
|
|

15.06.2019, 00:46
|
|
Новичок
Регистрация: 21.03.2006
Сообщений: 17
С нами:
10600540
Репутация:
7
|
|
У кого-нибудь есть адреса, чтобы узнать ид педа в которого выстрельнул с оружия?
(для одиночки нужно, не samp)
|
|
|

15.06.2019, 13:30
|
|
Участник форума
Регистрация: 17.12.2017
Сообщений: 110
С нами:
4423953
Репутация:
68
|
|
возникла проблема с imgui
создал 2 поля inputtext
при нажатии на поле логина вводить ничего нельзя, при нажатии на поле пароля я ввожу свой текст, указывая при этом флаг ImGuiInputTextFlags_Password, и этот же текст дублируется в поле логина но уже не зашифрованный
код:
C++:
Код:
ImGui
::
Begin
(
NAME_LOADER
,
&
open
,
ImVec2
(
WINDOW_WIDTH
,
WINDOW_HEIGHT
)
,
1.0f
,
dwWindowFlag
)
;
{
ImVec2 size_item
;
size_item
=
ImGui
::
CalcTextSize
(
u8
"Логин"
)
;
ImGui
::
SetCursorPosX
(
(
ImGui
::
GetWindowWidth
(
)
-
size_item
.
x
)
/
2
)
;
ImGui
::
SetCursorPosY
(
(
ImGui
::
GetWindowHeight
(
)
-
size_item
.
y
)
/
2
)
;
ImGui
::
Text
(
u8
"Логин"
)
;
static
char
login_text
[
32
]
;
ImGui
::
PushItemWidth
(
ImGui
::
GetWindowWidth
(
)
-
200
)
;
ImGui
::
SetCursorPosX
(
(
ImGui
::
GetWindowWidth
(
)
-
ImGui
::
CalcItemWidth
(
)
)
/
2
)
;
ImGui
::
InputText
(
u8
""
,
login_text
,
32
,
ImGuiInputTextFlags_CharsHexadecimal
)
;
ImGui
::
PopItemWidth
(
)
;
size_item
=
ImGui
::
CalcTextSize
(
u8
"Пароль"
)
;
ImGui
::
SetCursorPosX
(
(
ImGui
::
GetWindowWidth
(
)
-
size_item
.
x
)
/
2
)
;
ImGui
::
Text
(
u8
"Пароль"
)
;
static
char
password_text
[
32
]
;
ImGui
::
PushItemWidth
(
ImGui
::
GetWindowWidth
(
)
-
200
)
;
ImGui
::
SetCursorPosX
(
(
ImGui
::
GetWindowWidth
(
)
-
ImGui
::
CalcItemWidth
(
)
)
/
2
)
;
ImGui
::
InputText
(
u8
""
,
password_text
,
32
,
ImGuiInputTextFlags_CharsHexadecimal
|
ImGuiInputTextFlags_Password
)
;
ImGui
::
PopItemWidth
(
)
;
}
ImGui
::
End
(
)
;
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|