我正在通过使用这种方法和这种方法在 genymotion x86 上测试一个颤振的 android 应用程序以绕过 sslpinning ,但是我的函数地址在运行 Frida 时返回 null。
首先,通过Ghidra找到了函数的地址,即 (0x773c52),这里是该函数早期行的字节: (\x55\x41\x57\x41\x56\x41\x55\x41\x54\x53\ x48\x81\xec\xf8\x00\x00\x00\xc6) 然后通过binwalk找到地址的正确偏移量:
C:\ >python binwalk -R " \x55\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x81\xec\xf8\x00\x00\x00\xc6" <app_path>\lib\x86_64\libflutter.so
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
6761554 0x672C52 Raw signature (\x55\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x81\xec\xf8\x00\x00\x00\xc6)
接下来我在 Frida 代码中使用了这个地址,如下所示:
function disablePinning(){
var address = Module.findBaseAddress('lib/x86_64/libflutter.so').add(0x673c52)
hook_ssl_verify_result(address);
}
setTimeout(disablePinning, 10000)
最后,当我运行 Frida 脚本时,我遇到了空地址异常。
TypeError:无法在(frida/runtime/core.js:45)的应用(本机)处的disablePinning(/hook_ssl.js:20)处读取null的属性“添加”
我还尝试了许多不同版本的 Frida。有人知道为什么会这样吗?
提前致谢。