逆向 x红书 shield
创始人
2025-05-31 17:29:53
0

x红书 shield

版本 7.6.0

charles 抓包 目标字段 shield

在这里插入图片描述

查找调用的so

yang神的 frida_hook_libart

运行 frida -U --pause -f com.xingin.xhs -l hook_art.js
在这里插入图片描述

记录

[NewStringUTF] bytes:XYAAAAAQAAAAEAAABTAAAAUzUWEe0xG1IbD9/c+qCLOlKGmTtFa+lG43EOeuFXTagQk9W2z7Y1Gp2q+rJez8Mj2sR+2fc3RQwbE2eKNbym2Sxh0u1j7GzMl9DV8b5bDqkYIbNd 0xb3986981 libxyass.so!0x73981libxyass.so!0x73981

查找注册函数

运行 frida -U --pause -f com.xingin.xhs -l hook_RegisterNatives.js
在这里插入图片描述

记录

[RegisterNatives] java_class: com.xingin.shield.http.XhsHttpInterceptor name: initializeNative sig: ()V fnPtr: 0xb5594289  fnOffset: 0xb5594289 libshield.so!0x94289  callee: 0xb5510211 libshield.so!0x10211
[RegisterNatives] java_class: com.xingin.shield.http.XhsHttpInterceptor name: intercept sig: (Lokhttp3/Interceptor$Chain;J)Lokhttp3/Response; fnPtr: 0xb55939d9  fnOffset: 0xb55939d9 libshield.so!0x939d9  callee: 0xb5510211 libshield.so!0x10211
[RegisterNatives] java_class: com.xingin.shield.http.XhsHttpInterceptor name: initialize sig: (Ljava/lang/String;)J fnPtr: 0xb55937b1  fnOffset: 0xb55937b1 libshield.so!0x937b1  callee: 0xb5510211 libshield.so!0x10211
[RegisterNatives] java_class: com.xingin.shield.http.XhsHttpInterceptor name: destroy sig: (J)V fnPtr: 0xb5593745  fnOffset: 0xb5593745 libshield.so!0x93745  callee: 0xb5510211 libshield.so!0x10211     initializeNative    fnOffset: 0xb5594289
intercept           fnOffset: 0xb474b465
initialize          fnOffset: 0xb474b279
destroy             fnOffset: 0xb474b225

获取 libxyass.so

libxyass.so 加壳了

yang神的 frida_dump_so

  1. 开启 ./data/local/tmp/frida-server
  2. 运行x红书
  3. 运行 python dump_so.py libxyass.so

在这里插入图片描述

获得 脱壳后的libxyass.so 但是 还是找不到 initializeNative 等函数

向网上大神说的先这样,再那样,可是我就是不行。。。。eom


x红书 shield

版本 6.79.0

查找调用的so

运行 frida -U --pause -f com.xingin.xhs -l hook_art.js记录
[NewStringUTF] bytes:XYAAAAAQAAAAEAAABTAAAAUzUWEe0xG1IbD9/c+qCLOlKGmTtFa+lG43AJdeFURq4Qk9W2z7Y1Gp2q+rJez8Mj2sR+2fc3RQwbE2eKNbym2Sxh0u284QIR/KpIAlrbPG7TIPIl 0xb59929b7 libshield.so!0x109b7libshield.so!0x109b7

查找注册函数

frida -U --pause -f com.xingin.xhs -l hook_RegisterNatives.js记录
[RegisterNatives] java_class: com.xingin.shield.http.XhsHttpInterceptor name: initializeNative sig: ()V fnPtr: 0xb5697289  fnOffset: 0xb5697289 libshield.so!0x94289  callee: 0xb5613211 libshield.so!0x10211
[RegisterNatives] java_class: com.xingin.shield.http.XhsHttpInterceptor name: intercept sig: (Lokhttp3/Interceptor$Chain;J)Lokhttp3/Response; fnPtr: 0xb56969d9  fnOffset: 0xb56969d9 libshield.so!0x939d9  callee: 0xb5613211 libshield.so!0x10211
[RegisterNatives] java_class: com.xingin.shield.http.XhsHttpInterceptor name: initialize sig: (Ljava/lang/String;)J fnPtr: 0xb56967b1  fnOffset: 0xb56967b1 libshield.so!0x937b1  callee: 0xb5613211 libshield.so!0x10211
[RegisterNatives] java_class: com.xingin.shield.http.XhsHttpInterceptor name: destroy sig: (J)V fnPtr: 0xb5696745  fnOffset: 0xb5696745 libshield.so!0x93745  callee: 0xb5613211 libshield.so!0x10211initializeNative fnPtr: 0xb5697289  fnOffset: 0xb5697289 libshield.so!0x94289  callee: 0xb5613211 libshield.so!0x10211
intercept fnPtr: 0xb56969d9  fnOffset: 0xb56969d9 libshield.so!0x939d9  callee: 0xb5613211 libshield.so!0x10211
initialize fnPtr: 0xb56967b1  fnOffset: 0xb56967b1 libshield.so!0x937b1  callee: 0xb5613211 libshield.so!0x10211
destroy fnPtr: 0xb5696745  fnOffset: 0xb5696745 libshield.so!0x93745  callee: 0xb5613211 libshield.so!0x10211

ida

进入 JNI_OnLoad
在这里插入图片描述

进入 sub_1027C
在这里插入图片描述

进入 sub_9342C
在这里插入图片描述

先来分析一下intercept
在这里插入图片描述

进入 sub_939d8 + 1
在这里插入图片描述

进入 sub_40cfc
在这里插入图片描述

进入 sub_40ea8
在这里插入图片描述

frida hook sub_45258

在这里插入图片描述

45258函数的第一个参数的返回值是我们最终的结果,参与计算的是第二个参数v3

function dump(name, addr, legnth) {console.log("======================== " + name + " ============");console.log(hexdump(addr, { length: legnth || 32 }));
}setTimeout(function () {Java.perform(function () {var bptr = Module.findBaseAddress("libshield.so");var ptr_0x45258 = bptr.add(0x45258 + 1);Interceptor.attach(ptr_0x45258, {onEnter: function (args) {this.arg0 = args[0];this.arg2 = args[2];dump("dump 2", args[1], parseInt(args[2]));},onLeave: function (retval) {dump("retval", this.arg0, 200);}})});
}, 100)

查看 sbu_45258

进到45258函数,可以看到很清晰的算法逻辑,先循环后判断,以及byte_A8740的值,可以很容易判断出,这是一个base64
将之前hook到的v3的值做base64,结果与hook到的结果是一致的。

进入 sbu_45258
在这里插入图片描述

进入 byte_a8640
在这里插入图片描述

验证结果
在这里插入图片描述

接下来看一下v3的值是从何而来

回到intercept继续往上看
在这里插入图片描述

进入 sub_406FC
在这里插入图片描述

这里sub_40C74的第三个参数的返回值就是后面传入base64中的值
(少了16位,但是经过不同手机设备不同账号的hook结果,那16位是不变的,所以我就写死了)

进入 sub_40C74
在这里插入图片描述

发现关键函数4A94C,第一个参数是一个很长的值(经过测试,这个值是不变的,换设备和账号也不会变,于是我把它写死。。。)。
第二个参数是一个数(其实就是第三个参数的len),第三个参数是一个拼接的值,里面包含了device_id、build等信息。
第四个参数是用来存储最终结果的。ok进入函数看算法。

没时间弄了,以后有时间再跟

相关内容

热门资讯

军训检讨书500字六篇 军训检...  【军训检讨书500字一】  尊敬的教官、尊敬的老师、亲爱的同学们:  今天,我怀着愧疚和懊悔给你们...
在学校打牌检讨书范文多篇 在学...  【在学校打牌检讨书(一)】  尊敬的王老师您好!  我因在寝室里打牌,在家反省,特向您作如下检讨。...
最新或2023(历届)开展第2... 开展“社会共同努力,消除结核危害”为主题的世界防治结核病日活动,造全社会共同参与结核病防治的良好氛围...
最新或2023(历届)清明节网...  清明节是我国人民悼念逝者、寄托哀思、缅怀先人的传统节日。每年清明,人民群众都要举行不同形式的纪念活...
上课看小说检讨书6篇 上课看小... 【上课看小说检讨书一】  尊敬的英语老师:  我不应该在上英语课的时候看课外书,我的行为严重得违反了...
打架斗殴检讨书通用版三篇 打架... 我们之所以要写检讨书是为了自我反省,这才是写检讨书的真正目的,以下是小编为大家搜集整理的打架斗殴检讨...
认识最深刻的检讨书多篇 深刻认...   篇一  尊敬的老师:  我是很认真得的写这篇检讨书,没有任何搞笑色彩,也没有任何的其他杂念,我是...
放学去网吧检讨书范文3篇 学生...  放学去网吧检讨书范文一  本人,XXX(姓名),XX中学高中X年级X班学生,学号为XX。  前天放...
写给父母的检讨书多篇 顶撞父母... 父母总是爱着自己的子女的,也许他们会对你很严厉,让你不能理解,但是你要理解父母的苦心,以下是小编推荐...
做错事的检讨书精选5篇 做错事...  做错事的检讨书(一)  尊敬的老师:  你好!  开学至今,我本人做错的事很多,如迟到、爬墙等。但...
最新或2023(历届)普通党员...   教师党员四风对照检查材料  根据走访调研和召开不同类型座谈会收集到的意见,梳理出管理(服务)岗、...
因期中考试成绩不好检讨书三篇 ... 因中考成绩不好检讨书(一)  尊敬的老师们:  您们好!现在我怀着愧疚的心情,写下这份检查.以向您表...
喝酒检讨书,学生和上班喝酒检讨...  喝酒检讨书(一)  尊敬的老师:  你好,我知错了,我不该喝酒,我下次再也不敢喝酒了  我这次喝酒...
最新或2023(历届)学校三严... 学校三严三实班子对照检查材料一  按照学校的总体部署,根据学院《学院“三严三实”专题民主生活会工作方...
值日偷懒检讨书,没做值日检讨书...   值日偷懒检讨书(一)  尊敬的老师:  非常抱歉,我在值日工作当中偷懒了,基本没有完成值日工作就...
最新或2023(历届)最新三严... “凡是有利于党和人民事业的,就坚决干、加油干、一刻不停歇地干;凡是不利于党和人民事业的,就坚决改、彻...
党员干部四风对照检查材料范文【...  党员干部四风对照检查材料范文一  市局总队启动党的群众路线教育实践活动以来,按照机关党委工作方案的...
最新或2023(历届)教师党员...  教师党员反四风对照检查材料篇一  这次党的群众路线教育实践活动,对个人来说,既是一次用群众观点、群...
最新小学美德少年事迹材料范文 ...  “美德少年”事迹材料一:  这次,我非常荣幸地被老师推荐为我们班的“美德少年”侯选人,这是让我意想...
最新或2023(历届)评选劳模...  劳模先进事迹材料一  郝建峰同志,是有着多年党龄的优秀共产党员,现在负责通风区行政管理工作,负责组...