Сообщение от
mhertz
для начала узнай о разнице между thumb и arm (из-за чего тут скорее всего и происходит краш), а потом и пиши свои шедеврочиты
thumb - 16-и битный набор инструкций, может выполняться на некоторых процессорах arm
arm - 32-ух битный набор инструкций, предоставляет полный набор возможностей ARM. Однако, я не совсем понимаю, чем оно мне поможет. Не просвятишь?)
Дополнение:
Решил поэксперементировать и хукнуть функцию INT123_catchsignal.
C++:
Код:
int
handler
(
int
signal
,
int
*
structure
)
{
__android_log_print
(
ANDROID_LOG_INFO
,
"[SIGNAL]"
,
"Installing handler...."
)
;
// return o_handler(signal, structure);
sigemptyset
(
0
)
;
__android_log_print
(
ANDROID_LOG_INFO
,
"[SIGNAL]"
,
"Calling sigaction...."
)
;
int
v3
=
sigaction
(
signal
,
(
const
struct
sigaction
*
)
&
structure
,
0
)
;
int
result
=
0
;
if
(
v3
==
-
0x1
)
return
-
0x1
;
return
result
;
}
Результат меня удивил: все заработало. Просвятите, пожалуйста, почему) По сути, код в хуке и изначальный код идентичны, но первый работает, а второй - нет. А еще, краш хандлер так и не заработал

может, есть альтернативные варианты по его установке?