Google AddressSanitizer
обнаруживает ошибки памяти в Android собственном коде. Однако требуется , чтобы целевой двоичный файл (т.е. исполняемый файл или библиотека) был перекомпилирован с любыми необходимыми флагами и настройками:
AddressSanitizer (ASan) - быстрый компилятор инструмент для обнаружения ошибок памяти в машинном коде.
Есть ли инструмент, который может обнаруживать Android ошибки памяти без , требующего какой-либо перекомпиляции целевого двоичного файла? Вот некоторые мысли о том, как будет выглядеть такой инструмент:
- Инструмент должен перехватывать / перехватывать соответствующие связанные с памятью функции в
libc.so
(например, mallo c, free, callo c, reallo c), аналогично способности Frida перехватывать любую функцию в машинном коде. - Инструмент должен работать, будучи введенным в пространство процесса. С этого момента все должно «просто работать».
- Он также должен перехватывать как аппаратные сбои, так и программные исключения (например, сбои сегментации) для обнаружения ошибки памяти.
- Было бы разумно Предположим, что этот инструмент не будет таким мощным, как AddressSanitizer на основе компилятора, но этого следовало ожидать.