magisk檢測
檢測方式爲:
1.遍歷maps文件,找到app_process模塊的內存,遍歷app_process內存,查找magisk和MAGISK字符串。
2.從給定的變量v282開始,進行棧殘留檢查,從當前位置檢查至棧底,查找magisk和MAGISK字符串。
3.在/proc/self/mounts文件中查找magisk字符串
檢查模擬器
檢查方法爲遍歷maps文件,查找是否存在:
lib3btrans.so,libhoudini.so,/lib/arm/nb/libc.so,/lib64/arm64/nb/libc.so
檢測xposed
在maps文件裏檢查XposedBridge.jar字符串:
對debug的檢測
主要是打開/proc/self/status檢查Tracerpid。
對frida的檢測
檢查task,fd裏有沒有gum-js-loop,frida-gadget,frida-agent,linjector-等字符串:
代理檢測
代理檢測的邏輯是要確保 http.proxyHost(代理地址) 爲空字符串,或者http.proxyPort(代理端口)爲-1。