吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8788|回复: 121
收起左侧

[Android 原创] 某app难忘的抓包之旅---实践版

    [复制链接]
329337656 发表于 2024-1-5 22:01
本帖最后由 329337656 于 2024-1-5 23:18 编辑

起因是看到 Light紫星 大神简述了对某app抓包经过进行实践 (原帖:记录某app难忘的抓包之旅)也碰巧自己需要用这个app去批量修改名称,以及电脑管理WiFi需要。
当WiFi设备高达300多的时候,你就知道一个一个改名称有多痛苦了。光加载一次设备列表就已经30秒过去了。苦不堪言,后面也发现了app的一个小瓜,快来围观~~

说干就干-->


app信息
  • app名称:5rC05pifV2lGaQ==
  • app版本号:2.1.8




调试工具
  • frIDA 12.2.8
  • 小黄鸟 大鹰版(是这样叫的吗?就是小黄鸟它张开了翅膀



整理一下Light紫星大神的内容:


  • 无壳
  • 无签名校验
  • 打开justtrustme,小黄鸟抓包--->app会提示网络错误
  • 全局搜索https字样,全部替换成了http---->失败--->黄鸟提示app不信任系统证书(这里我还发现有趣的事情)
  • 替换内部的证书---->失败
  • 发现libRouterAppContextJNI.so--->16进制编辑器替换掉了他原来的pem证书--->正常抓包




好的,这里应该要给Light紫星大神掌声,坑都替我踩了。


但是,我技术有限,根本不懂如何将libRouterAppContextJNI.so里面的证书替换(希望后续有大神讲解一下~~)


此刻我想起之前看过一篇frida hook so文件进行抓包的文章,大概的我理解到的思路是用frida进行hook修改X509_verify_cert函数的返回值(验证证书的有效性的一个函数),让app不信任app自己的证书,从而达到抓包的目的。


ida分析libRouterAppContextJNI.so,查找函数:



正中我所想,函数是存在的,尝试hook看看是否有验证函数的过程

hook代码:

[JavaScript] 纯文本查看 复制代码
Java.perform(function(){
    var nativePointer = Module.findExportByName("libRouterAppContextJNI.so", "X509_verify_cert");

    console.log("-------------Start-------------"+nativePointer);
    Interceptor.attach(nativePointer, {
        onEnter: function(args){
            // 此处是修改入参要做的逻辑,在这里不需要修改,留空即可
        },
        onLeave: function(retval){

            console.log("进入证书验证返回--->"+retval)
        }
    });
});


hook命令:


hook结果:


果然是和我想的一样,继续修改hook代码:

[JavaScript] 纯文本查看 复制代码
Java.perform(function () {
    var nativePointer = Module.findExportByName("libRouterAppContextJNI.so", "X509_verify_cert");

    console.log("\r\n-------------Start-------------" + nativePointer);
    Interceptor.attach(nativePointer, {
        onEnter: function (args) {
            // 此处是修改入参要做的逻辑,在这里不需要修改,留空即可
        },
        onLeave: function (retval) {

            console.log("---------->Hook Start<----------\r\n")
            console.log("进入证书验证返回--->" + retval)
            // 用replace修改返回值
            retval.replace(0x1)
            // 确认是否修改成功
            console.log("修改了证书的返回值--->" + retval+"\r\n")
            console.log("---------->Hook End<----------")
        }
    });
});


hook结果:



这样就修改成功了。先打开小黄鸟,将提示的证书安装上!



抓包顺序就要更加注意了。按步骤来:

  • 打开小黄鸟
  • 开启抓包
  • 执行hook命令
  • hook到,并且替换校验证书的返回值
  • app校验证书,失败,不信任证书
  • 此时小黄鸟就能够抓到响应的包





完整数据包:



整个流程不需要三小时,只需要10分钟,也说起前面的小瓜,在写批量修改名称程序的时候发现,原来http也能访问,这样可以省去证书的环节~

还有就是如果不安装抓包顺序来,就会抓不到包,我试过,如果打开了小黄鸟不启用抓包,让hook启动了app之后再开启抓包功能,就死活不能抓包。希望有大神讲讲其中的原理。

最后赠送大瓜环节,app反编译后发现app友商的内容,(T*_Link)难道是一个公司开发?

以上内容大神轻轻喷


免费评分

参与人数 29威望 +1 吾爱币 +46 热心值 +23 收起 理由
ih8coc0apodz + 1 用心讨论,共获提升!
我努力我奋斗 + 1 用心讨论,共获提升!
kuiba + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
skiss + 1 + 1 谢谢@Thanks!
Gluttonous + 1 我很赞同!
nonefree + 1 + 1 用心讨论,共获提升!
timeni + 1 + 1 用心讨论,共获提升!
1412751940 + 1 + 1 热心回复!
imumu1239 + 1 + 1 谢谢@Thanks!
crizquan + 1 + 1 热心回复!
XJCQ2014 + 1 + 1 我很赞同!
debug_cat + 2 + 1 谢谢@Thanks!
easyrce + 1 + 1 我很赞同!
Boly + 1 学习了
tomhex + 1 + 1 热心回复!
4nfu + 1 热心回复!
Rclear + 1 + 1 我很赞同!
arctan1 + 1 + 1 我很赞同!
zdf0903 + 1 用心讨论,共获提升!
peiki + 1 + 1 谢谢@Thanks!
superworker2022 + 1 + 1 我很赞同!
jaffa + 1 热心回复!
janken + 1 + 1 热心回复!
liuxuming3303 + 1 + 1 我很赞同!
soughing + 1 + 1 我很赞同!
menghen + 1 这俩本来就是一家的呀
212741 + 1 + 1 看到一篇文章,赶紧回来评分
T4DNA + 1 用心讨论,共获提升!
正己 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

12345688 发表于 2024-1-6 18:44
实践是检验真理的唯一标准,真正上手操作后会发现难度会比想象中的低一点
正己 发表于 2024-1-5 22:24
 楼主| 329337656 发表于 2024-1-5 22:28
头像被屏蔽
dangerxyc 发表于 2024-1-5 22:38
提示: 作者被禁止或删除 内容自动屏蔽
212741 发表于 2024-1-5 22:38
活动一下,防止被嘎,楼主见谅
FruitBaby 发表于 2024-1-5 22:54
潜水这么长时间,说明封号的几率很小
 楼主| 329337656 发表于 2024-1-5 23:27
FruitBaby 发表于 2024-1-5 22:54
潜水这么长时间,说明封号的几率很小

号是用钱买的邀请码,下载没有币就充值就好了
为什么潜水是因为没有那样的技术
吖力锅 发表于 2024-1-6 17:51
会逆向app的都是高手
lengong 发表于 2024-1-6 17:58
这app不检测frida吗
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 11:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表