簡體   English   中英

AddressSanitizer(或任何其他工具)可以在不需要編譯的情況下檢測 Android 本機代碼二進制文件中的 memory 錯誤嗎?

[英]Can AddressSanitizer (or any other tool) detect memory bugs in Android native code binaries without needing compilation?

Google 的AddressSanitizer在 Android 本機代碼中檢測到 memory 錯誤。 但是,它確實需要使用它需要的任何標志和設置重新編譯目標二進制文件(即可執行文件或庫):

AddressSanitizer (ASan) 是一種基於編譯器的快速工具,用於檢測本機代碼中的 memory 錯誤。

是否有無需重新編譯目標二進制文件即可檢測 Android memory 錯誤的工具? 以下是對此類工具外觀的一些想法:

  • 該工具應該攔截/掛鈎 libc.so 中的相關內存相關函數(例如libc.so 、free、calloc、realloc),類似於Frida攔截任何本機代碼 function 的能力。
  • 該工具應該通過將其注入進程空間來工作。 從那時起,一切都應該“正常工作”。
  • 它還應該攔截硬件故障和軟件異常(例如,分段故障)以檢測 memory 錯誤。
  • 可以合理地假設該工具不如基於編譯器的 AddressSanitizer 強大,但這是意料之中的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM