首页
社区
课程
招聘
[原创]某红薯APP线上包Debug外泄吃瓜
发表于: 3小时前 65

[原创]某红薯APP线上包Debug外泄吃瓜

3小时前
65

今天偶然看到了小红薯线上包可以打开开发者调试面板,于是我也准备试下。

据说是在设置里一直点啊点,就可以唤出来 Debug面板,可是我一直点啊点,一直没有反应


于是乎,我就得想办法自己把它呼出来。


首先,我需要下载一个低版本的小红书,直接从 App Store 下载最新版应该是已经去除了 Debug 组件。

好的我这里选择了 8.71 版本,距离最新版那么远,想必应该是有 Debug组件的。只要组件打包进了 APP里,你远程再怎么配置,我本地也可以绕过。


说干就干,砸壳,反编译看看究竟有什么:

拖进 IDA分析,发现一个可疑组件 DebugPanelViewController:

跟进分析,发现了开关:


这里很明显了, [XYMacroDefine debugORAdhoc] 估计就是确定内版还是外版。

如果是内版,这里应该就是配置开关把。


好的,没错,HOOK HOOK


创建文件 XhsPlugin

HOOK就是了:

@implementation XhsPlugin : NSObject

static bool (*orig_mfDebugEnable)(id _Nonnull self, SEL _Nonnull _cmd);
static bool (*orig_debugORAdhoc)(id _Nonnull self, SEL _Nonnull _cmd);

+(void)setup
{
    if([[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.xingin.discover"])
    {
        [XhsPlugin install];
    }
}

+(void) install {
    
    Class XYJankMonitorExpManager = objc_getMetaClass("XYJankMonitorExpManager");
    HookMessageEx(XYJankMonitorExpManager, NSSelectorFromString(@"mfDebugEnable"), (IMP)&fake_mfDebugEnable, (IMP*)&orig_mfDebugEnable);
    
    Class XYMacroDefine = objc_getMetaClass("XYMacroDefine");
    HookMessageEx(XYMacroDefine, NSSelectorFromString(@"debugORAdhoc"), (IMP)&fake_debugORAdhoc, (IMP*)&orig_debugORAdhoc);
     
    
    NSLog(@"XhsPlugin instal success");
}

static bool fake_mfDebugEnable(id _Nonnull self, SEL _Nonnull _cmd) {
    return true;
}

static bool fake_debugORAdhoc(id _Nonnull self, SEL _Nonnull _cmd) {
    return true;
}

@end


编译,一切就绪,注入,打开红薯:


在红圈圈那里一直点点点,然后,它来了:




[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 325
活跃值: (532)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
前两个截图的都是啥tweak 来着,几年不搞有点想不起来了
2小时前
0
雪    币: 3226
活跃值: (1188)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
3
龙幽 前两个截图的都是啥tweak 来着,几年不搞有点想不起来了
DowngradeApp和AppsDump2
2小时前
0
游客
登录 | 注册 方可回帖
返回