 |
|

02.08.2023, 20:49
|
|
Флудер
Регистрация: 10.08.2021
Сообщений: 6,010
Провел на форуме: 1976148
Репутация:
133
|
|
Сообщение от arc warden
чо делать если пишу /mm например нихуя не происходит т.е нету диалога
где пишешь?
1690994939879.pngchromiusj · 2 Авг 2023 в 19:49' data-fancybox="lb-post-1354568" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/210398/" style="cursor: pointer;" title="1690994939879.png">

|
|
|

02.08.2023, 21:02
|
|
Участник форума
Регистрация: 08.12.2022
Сообщений: 139
Провел на форуме: 47278
Репутация:
23
|
|
Сообщение от ChromiusJ
где пишешь?
ye
ну внизу строка ввода где еще же
а да я еблан. Я ввожу на нубо рп бота делаю.
|
|
|

04.08.2023, 01:35
|
|
Новичок
Регистрация: 22.07.2023
Сообщений: 5
Провел на форуме: 1412
Репутация:
3
|
|
если зайти на занятый никнейм/никнейм с запрещенными символами то клиент в консоль выводит Bad nickname, это отловить как-то можно?
|
|
|

04.08.2023, 07:34
|
|
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
Провел на форуме: 566977
Репутация:
3
|
|
Сообщение от danivjje
если зайти на занятый никнейм/никнейм с запрещенными символами то клиент в консоль выводит Bad nickname, это отловить как-то можно?
Да, можно, если не через пакет, так через текст в консоли (сегодня посмотрю, если получится - скину код)
upd: Вот код, хз какой пакет приходит
Lua:
Код:
local
ffi
=
require
(
"ffi"
)
--HOOKS
local
hook
=
{
hooks
=
{
}
}
registerHandler
(
"onUnload"
,
function
(
)
for
i
,
hook
in
ipairs
(
hook
.
hooks
)
do
if
hook
.
status
then
hook
.
stop
(
)
end
end
end
)
ffi
.
cdef
[[
int VirtualProtect(void* lpAddress, unsigned long dwSize, unsigned long flNewProtect, unsigned long* lpflOldProtect);
]]
function
hook
.
new
(
cast
,
callback
,
hook_addr
,
size
)
jit
.
off
(
callback
,
true
)
--off jit compilation | thx FYP
local
size
=
size
or
5
local
new_hook
=
{
}
local
detour_addr
=
tonumber
(
ffi
.
cast
(
"intptr_t"
,
ffi
.
cast
(
"void*"
,
ffi
.
cast
(
cast
,
callback
)
)
)
)
local
void_addr
=
ffi
.
cast
(
"void*"
,
hook_addr
)
local
old_prot
=
ffi
.
new
(
"unsigned long[1]"
)
local
org_bytes
=
ffi
.
new
(
"uint8_t[?]"
,
size
)
ffi
.
copy
(
org_bytes
,
void_addr
,
size
)
local
hook_bytes
=
ffi
.
new
(
"uint8_t[?]"
,
size
,
0x90
)
hook_bytes
[
0
]
=
0xE9
ffi
.
cast
(
"uint32_t*"
,
hook_bytes
+
1
)
[
0
]
=
detour_addr
-
hook_addr
-
5
new_hook
.
call
=
ffi
.
cast
(
cast
,
hook_addr
)
new_hook
.
status
=
false
local
function
set_status
(
bool
)
new_hook
.
status
=
bool
ffi
.
C
.
VirtualProtect
(
void_addr
,
size
,
0x40
,
old_prot
)
ffi
.
copy
(
void_addr
,
bool
and
hook_bytes
or
org_bytes
,
size
)
ffi
.
C
.
VirtualProtect
(
void_addr
,
size
,
old_prot
[
0
]
,
old_prot
)
end
new_hook
.
stop
=
function
(
)
set_status
(
false
)
end
new_hook
.
start
=
function
(
)
set_status
(
true
)
end
new_hook
.
start
(
)
table
.
insert
(
hook
.
hooks
,
new_hook
)
return
setmetatable
(
new_hook
,
{
__call
=
function
(
self
,
...
)
self
.
stop
(
)
local
res
=
self
.
call
(
...
)
self
.
start
(
)
return
res
end
}
)
end
--HOOKS
local
originalErrorClientJoin
function
errorClientJoin
(
...
)
print
(
"errorClientJoin"
)
return
originalErrorClientJoin
(
...
)
end
originalErrorClientJoin
=
hook
.
new
(
"void*(__cdecl*)(void*)"
,
errorClientJoin
,
0x459550
)
|
|
|

04.08.2023, 15:08
|
|
Участник форума
Регистрация: 04.09.2021
Сообщений: 279
Провел на форуме: 110226
Репутация:
33
|
|
Сообщение от why ega
Да, можно, если не через пакет, так через текст в консоли (сегодня посмотрю, если получится - скину код)
upd: Вот код, хз какой пакет приходит
Lua:
Код:
local
ffi
=
require
(
"ffi"
)
--HOOKS
local
hook
=
{
hooks
=
{
}
}
registerHandler
(
"onUnload"
,
function
(
)
for
i
,
hook
in
ipairs
(
hook
.
hooks
)
do
if
hook
.
status
then
hook
.
stop
(
)
end
end
end
)
ffi
.
cdef
[[
int VirtualProtect(void* lpAddress, unsigned long dwSize, unsigned long flNewProtect, unsigned long* lpflOldProtect);
]]
function
hook
.
new
(
cast
,
callback
,
hook_addr
,
size
)
jit
.
off
(
callback
,
true
)
--off jit compilation | thx FYP
local
size
=
size
or
5
local
new_hook
=
{
}
local
detour_addr
=
tonumber
(
ffi
.
cast
(
"intptr_t"
,
ffi
.
cast
(
"void*"
,
ffi
.
cast
(
cast
,
callback
)
)
)
)
local
void_addr
=
ffi
.
cast
(
"void*"
,
hook_addr
)
local
old_prot
=
ffi
.
new
(
"unsigned long[1]"
)
local
org_bytes
=
ffi
.
new
(
"uint8_t[?]"
,
size
)
ffi
.
copy
(
org_bytes
,
void_addr
,
size
)
local
hook_bytes
=
ffi
.
new
(
"uint8_t[?]"
,
size
,
0x90
)
hook_bytes
[
0
]
=
0xE9
ffi
.
cast
(
"uint32_t*"
,
hook_bytes
+
1
)
[
0
]
=
detour_addr
-
hook_addr
-
5
new_hook
.
call
=
ffi
.
cast
(
cast
,
hook_addr
)
new_hook
.
status
=
false
local
function
set_status
(
bool
)
new_hook
.
status
=
bool
ffi
.
C
.
VirtualProtect
(
void_addr
,
size
,
0x40
,
old_prot
)
ffi
.
copy
(
void_addr
,
bool
and
hook_bytes
or
org_bytes
,
size
)
ffi
.
C
.
VirtualProtect
(
void_addr
,
size
,
old_prot
[
0
]
,
old_prot
)
end
new_hook
.
stop
=
function
(
)
set_status
(
false
)
end
new_hook
.
start
=
function
(
)
set_status
(
true
)
end
new_hook
.
start
(
)
table
.
insert
(
hook
.
hooks
,
new_hook
)
return
setmetatable
(
new_hook
,
{
__call
=
function
(
self
,
...
)
self
.
stop
(
)
local
res
=
self
.
call
(
...
)
self
.
start
(
)
return
res
end
}
)
end
--HOOKS
local
originalErrorClientJoin
function
errorClientJoin
(
...
)
print
(
"errorClientJoin"
)
return
originalErrorClientJoin
(
...
)
end
originalErrorClientJoin
=
hook
.
new
(
"void*(__cdecl*)(void*)"
,
errorClientJoin
,
0x459550
)
А принтлог не проще?😹
|
|
|

04.08.2023, 20:26
|
|
Новичок
Регистрация: 09.06.2016
Сообщений: 27
Провел на форуме: 9424
Репутация:
53
|
|
Сообщение от danivjje
если зайти на занятый никнейм/никнейм с запрещенными символами то клиент в консоль выводит Bad nickname, это отловить как-то можно?
Lua:
Код:
function
onReceiveRPC
(
id
,
bs
)
if
id
==
130
then
print
(
'Bad nickname/online'
)
exit
(
)
end
end
|
|
|

04.08.2023, 20:51
|
|
Участник форума
Регистрация: 09.02.2023
Сообщений: 114
Провел на форуме: 20888
Репутация:
23
|
|
Скажите плиз как можно сделать что бы бот зажимал W на несколько секунд?
|
|
|

05.08.2023, 02:54
|
|
Познавший АНТИЧАТ
Регистрация: 29.09.2018
Сообщений: 1,292
Провел на форуме: 456855
Репутация:
138
|
|
Сообщение от why ega
Да, можно, если не через пакет, так через текст в консоли (сегодня посмотрю, если получится - скину код)
upd: Вот код, хз какой пакет приходит
Lua:
Код:
local
ffi
=
require
(
"ffi"
)
--HOOKS
local
hook
=
{
hooks
=
{
}
}
registerHandler
(
"onUnload"
,
function
(
)
for
i
,
hook
in
ipairs
(
hook
.
hooks
)
do
if
hook
.
status
then
hook
.
stop
(
)
end
end
end
)
ffi
.
cdef
[[
int VirtualProtect(void* lpAddress, unsigned long dwSize, unsigned long flNewProtect, unsigned long* lpflOldProtect);
]]
function
hook
.
new
(
cast
,
callback
,
hook_addr
,
size
)
jit
.
off
(
callback
,
true
)
--off jit compilation | thx FYP
local
size
=
size
or
5
local
new_hook
=
{
}
local
detour_addr
=
tonumber
(
ffi
.
cast
(
"intptr_t"
,
ffi
.
cast
(
"void*"
,
ffi
.
cast
(
cast
,
callback
)
)
)
)
local
void_addr
=
ffi
.
cast
(
"void*"
,
hook_addr
)
local
old_prot
=
ffi
.
new
(
"unsigned long[1]"
)
local
org_bytes
=
ffi
.
new
(
"uint8_t[?]"
,
size
)
ffi
.
copy
(
org_bytes
,
void_addr
,
size
)
local
hook_bytes
=
ffi
.
new
(
"uint8_t[?]"
,
size
,
0x90
)
hook_bytes
[
0
]
=
0xE9
ffi
.
cast
(
"uint32_t*"
,
hook_bytes
+
1
)
[
0
]
=
detour_addr
-
hook_addr
-
5
new_hook
.
call
=
ffi
.
cast
(
cast
,
hook_addr
)
new_hook
.
status
=
false
local
function
set_status
(
bool
)
new_hook
.
status
=
bool
ffi
.
C
.
VirtualProtect
(
void_addr
,
size
,
0x40
,
old_prot
)
ffi
.
copy
(
void_addr
,
bool
and
hook_bytes
or
org_bytes
,
size
)
ffi
.
C
.
VirtualProtect
(
void_addr
,
size
,
old_prot
[
0
]
,
old_prot
)
end
new_hook
.
stop
=
function
(
)
set_status
(
false
)
end
new_hook
.
start
=
function
(
)
set_status
(
true
)
end
new_hook
.
start
(
)
table
.
insert
(
hook
.
hooks
,
new_hook
)
return
setmetatable
(
new_hook
,
{
__call
=
function
(
self
,
...
)
self
.
stop
(
)
local
res
=
self
.
call
(
...
)
self
.
start
(
)
return
res
end
}
)
end
--HOOKS
local
originalErrorClientJoin
function
errorClientJoin
(
...
)
print
(
"errorClientJoin"
)
return
originalErrorClientJoin
(
...
)
end
originalErrorClientJoin
=
hook
.
new
(
"void*(__cdecl*)(void*)"
,
errorClientJoin
,
0x459550
)
А нахуя? Там разве память под протекцией?
|
|
|

05.08.2023, 07:27
|
|
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
Провел на форуме: 566977
Репутация:
3
|
|
Сообщение от F0RQU1N and
А нахуя? Там разве память под протекцией?
Как любой уважаемый себя луашер, спиздил код жмп хуков и не стал особо ничего менять
|
|
|

06.08.2023, 15:23
|
|
Постоянный
Регистрация: 02.06.2022
Сообщений: 334
Провел на форуме: 68778
Репутация:
68
|
|
при вызове runCommand('!reloadlua') - крашит раксамп
есть рабочее решение?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|