欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > frida的安装使用以及解决抓包app时遇到的证书校验

frida的安装使用以及解决抓包app时遇到的证书校验

2025/9/28 8:46:35 来源:https://blog.csdn.net/weixin_43639743/article/details/140019498  浏览:    关键词:frida的安装使用以及解决抓包app时遇到的证书校验

frida的安装和使用

这里使用夜神模拟器来演示frida的使用,因为真机开启frida-server服务时需要root权限,模拟器自带root

  1. 下载夜神模拟器并启动 夜神官网

  2. 打开power shell, adb连接模拟器,查看模拟器的系统型号

     adb connect 127.0.0.1:62001
    ==already connected to 127.0.0.1:62001
    adb shell getprop ro.product.cpu.abi
    ==x86 
  3. 本机安装frida, frida-tools

     #安装frida, frida-toolspip install frida frida-tools -i https://pypi.tuna.tsinghua.edu.cn/simple/#查看frida版本,可以找到对应的frida-server的版本frida --version==16.3.3
  4. 从frida github文件下载下载对应的frida-server版本,从以上的模拟器系统(x86),以及frida版本(16.3.3)寻找
    选择对应的frida-server版本

  5. 下载该压缩包文件后,一定要进行解压, 然后对解压后的文件进行重命名,名字可以自定义,为了方便,我这边重定义为frida-server

    解压缩后的文件重命名

  6. 将解压缩的文件上传到手机,并对文件进行权限设置,且运行文件

    #上传文件到模拟器的/data/local/tmp
    adb push frida-server /data/local/tmp/frida-server
    #进入模拟器系统
    adb shell
    #进入到tmp目录下
    cd /data/local/tmp
    #对frida-server进行权限处理,真机需要root, 但是模拟器自带root权限
    chmod 777 frida-server
    #执行frida-server, 切记前面加 ./
    ./frida-server
    ==没有任何报错且输出则表明该服务已经开启,如果想后台运行,则可以后台运行
  7. 另开一个命令行,转发端口,进行监听

    adb forward tcp:27042 tcp:27042 
    ​
    adb forward tcp:27043 tcp:27043
    
  8. 查看手机进程,能够查验到则说明安装成功

    #显示所有进程
    frida-ps -U
    

    在这里插入图片描述
    查看运行中的应用以及包名

    frida-ps -U -a
    

    在这里插入图片描述

  9. 示例: hook java层的函数

    Java.perform(() => {let MainActivity = Java.use('com.germey.appbasic1.MainActivity')console.log('start hook')MainActivity.getMessage.implementation = (arg1, arg2) => {send('Start Hook!')return '8'}
    })
    
  10. 示例: hook native层


Java.perform(function () {Interceptor.attach(Module.findExportByName('libnative.so', 'Java_com_germey_appbasic2_MainActivity_getMessage'),{onEnter: function (args) {send('hook onEnter')send('args[1]=' + args[2])send('args[2]=' + args[3])},onLeave: function (val){send('hook onLeave')val.replace(Java.vm.getEnv().newStringUtf('5'))}})
})
  1. 使用上面两个js文件对app进行hook
 #hook_java.js 实行hook的js文件#com.germey.appbasic1 app的包名,可以使用命令 frida-ps -U -a 查看运行中的app包名frida -U -l hook_java.js  -f com.germey.appbasic1

frida+DroidSSLUnpinning 解决charles抓app包https请求证书校验失败问题

正常使用charles抓app包的时候,比如百度, 会发现配置好代理后,页面无法加载,此时就是因为证书校验没通过,而使用frida+DroidSSLUnpinning就可以通过hook修改证书返回结果,从而跳过证书校验
  1. 下载charles并抓包app,可以查看该博客进行学习操作, 很详细!!Charles和夜神模拟器结合对安卓应用进行抓包

  2. 下载DroidSSLUnpinning github地址,下载zip文件,并解压

    在这里插入图片描述

  3. 进入到解压后的文件…\DroidSSLUnpinning\ObjectionUnpinningPlus目录下,对指定包名进行hook就可以跳过证书验证了


#查看现在模拟器上所有运行的app信息,包括包名
frida-ps -U -a
#com.baidu.searchbox  为包名,我这里使用的是baidu作为测试app
frida -U -l hooks.js  -f com.baidu.searchbox

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com