解压apk在lib文件找到libsscronet.so文件,使用ida打开。
进入ida后搜索VerifyCert
点击f5转为伪代码,目标就是修改1LL的值,点击最上边函数名,再按tap键按空格键查看函数的so层地址。圈出来的就是内存地址。
这两个函数就是我们要通过frida修改的,不管之前有多少return,只要最后return出的值改了就行。
需要注意的是frida一定要通过进程id去hook,要不然是找不到这个so文件的。
function hook_fun() {
let soBaseAddr = Module.findBaseAddress('libsscronet.so');
let funcPtr = soBaseAddr.add(0x自己找的地址)
let fun2 = soBaseAddr.add(0x自己找的地址)
console.log(funcPtr)
Interceptor.attach(funcPtr, {
onEnter: function (args) {
console.log('onEnter value is ====>', args[0].readCString())
},
onLeave: function (retval) {
retval.replace(0);
},});
Interceptor.attach(fun2, {
onEnter: function (args) {
console.log('onEnter value is ====>', args[0].readCString())
},
onLeave: function (retval) {
retval.replace(0);
},})
}