
07.04.2025, 02:08
|
|
Флудер
Регистрация: 02.02.2019
Сообщений: 5,070
С нами:
3831395
Репутация:
183
|
|
Сообщение от vmprotect
Короче, как сделать, чтобы хук на LoadTxd редиректил в два разных адреса, в зависимости от того, какой txd'шник грузится? типа
Один FONT.TXD - 0x7320B0
Второй zalupa.txd - какой-то другой адрес
С++:
Код:
bool
__cdecl
TestHOOK
(
const
decltype
(
CTxdStore__LoadTxd_Hook
)
&
hook
,
int
index
,
const
char
*
filename
)
{
if
(
strcmp
(
filename
,
(
char
*
)
0x86A648
)
==
0
)
{
return
hook
.
call_trampoline
(
index
,
"FONT.TXD"
)
;
}
else
if
(
strcmp
(
filename
,
(
char
*
)
0x0000
)
==
0
)
{
return
hook
.
call_trampoline
(
index
,
"zalupa.txd"
)
;
}
return
hook
.
call_trampoline
(
index
,
filename
)
;
}
void
install_fucking_hook
(
)
{
CTxdStore__LoadTxd_Hook
.
set_dest
(
0x7320B0
)
;
CTxdStore__LoadTxd_Hook
.
set_cb
(
TestHOOK
)
;
CTxdStore__LoadTxd_Hook
.
install
(
)
;
}
а то я пытался делать в разных функциях, то оно работает только в одном из них а не все, допустим шрифт заменяется а другой txd нет
У ктхуков в контексте кажись есть метод для получения указателя на return_address. Можешь попробовать его изменить
|
|
|