修改libflutter.so绕过flutter进行抓包

admin 2026-03-26 00:34:13 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文章介绍了通过修改Flutter应用的libflutter.so文件绕过SSL证书验证以实现抓包的方法。主要步骤包括使用Ghidra逆向分析so文件定位ssl_x509证书验证逻辑,修改相关汇编指令,重新打包签名APK后配合抓包工具使用。该方法可有效解决Flutter应用因证书绑定导致的抓包困难问题。 综合评分: 75 文章分类: 逆向分析,移动安全,应用安全,安全工具


cover_image

修改libflutter.so绕过flutter进行抓包

原创

柠檬赏金猎人 柠檬赏金猎人

柠檬赏金猎人

2026年3月24日 12:18 广东

1、下载ghidra,是一个逆向工具,启动需要java22以上

https://github.com/NationalSecurityAgency/ghidra

2、反编译apk,这里使用apktool

https://github.com/iBotPeaches/Apktool

反编译apk

java -jar apktool_2.9.3.jar d your.apk -o apksrc

3、取出 libflutter.so

lib 文件夹 (/lib/armeabi-v7a/libflutter.so) 中获取 libflutter.so。

把so文件拉入ghidra,分析

搜索:【Search】-【For string】菜单,搜:ssl_x509

找到逻辑,一般在XREF交叉调用的第一个函数,(你的逻辑和下图可能不一样,但是大差不差)

进一步研究反汇编代码和指令,了解了这一点,我们需要做的就是将相关0值或者影响了逻辑的值更改为 1,如下所示

导出修改后的so文件,选择orignal_file

4、修改后的so复制到apk反编译的对应目录下(哪里来的放哪里)。还有一种方法是到adb shell里面替换掉原有的so文件即可。

5、重新打包回去

java -jar apktool_2.9.3.jar b apksrc –use-aapt2 –force-all

6、下载签名工具

https://github.com/patrickfav/uber-apk-signer

7、签名

java -jar uber-apk-signer-1.2.1.jar –apk your_out.apk –allowResign –overwrite

8、愉快的抓包吧,使用reqable或者 proxydroid

https://github.com/reqable/reqable-app

https://github.com/zzzzfeng/proxydroid


仅限交流学习使用,如您在使用本工具或代码的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。“如侵权请私聊公众号删文”。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:柠檬赏金猎人 柠檬赏金猎人 柠檬赏金猎人《修改libflutter.so绕过flutter进行抓包》

评论:0   参与:  0