ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

小红书shield分析转发

2021-07-05 18:31:18  阅读:467  来源: 互联网

标签:函数 小红书 bufstr TracerPid 转发 fgets pointer 源码 shield


预备工具: ida7.5, piexl 手机,jadx,jeb

某书是有TracerPid反调试,先过反调试,这有两个方法
1.Frida hook fopen 过滤
2.修改安卓源码去掉TracerPid
1.Frida hook脚本
function anti_fgets() {
var fgetsPtr = Module.findExportByName(“libc.so”, “fgets”);
var fgets = new NativeFunction(fgetsPtr, ‘pointer’, [‘pointer’, ‘int’, ‘pointer’]);
Interceptor.replace(fgetsPtr, new NativeCallback(function (buffer, size, fp) {
var retval = fgets(buffer, size, fp);
var bufstr = Memory.readUtf8String(buffer);
// console.log(bufstr); //此代码由我添加,打印TracerPid的值
if (bufstr.indexOf(“TracerPid:”) > -1) {
console.log(bufstr); //此代码由我添加,打印TracerPid的值
Memory.writeUtf8String(buffer, “TracerPid:\t0”);
}
return retval;
}, ‘pointer’, [‘pointer’, ‘int’, ‘pointer’]));
}
简单易操,frida -f 选项须使用14.0.0版本,高版本会出错!
2.修改安卓源码
自行百度,源码编译稍微耗时,而且安卓驱动也是一个问题。
源码编译连接
https://www.jianshu.com/p/baf7a71446e0
https://blog.csdn.net/zz531987464/article/details/94163954
预备工作完成,用ida打卡libshield.So 跳到okhttp回调的一个函数

经过查看这个函数在这个地方

有一个明显的stl 字符串加的操作,那么shield大概率出现在这个地方附近,初步分析完成。
要计算sign,那肯定得先获取url,然后各种骚加密,最后返回加密后结果,
现在我们找一下在哪个地方从java层获取url,
我们看到这个地方,传入了jnievn指针

跟进这个函数,如下

这里获取了一个数组的内容,是不是我们的url呢?
用ida打断点或者fridahook输出验证一下,确实是url,这里注意那个encode_ur函数调用了个寂寞。这个地方初步加密,然后这个函数返回后,后面的函数把结果构造在另一个结构体里面,就是这个函数

构造完成后,用这个函数

把设备id之类的信息合并在一起,构造一个新结构体

这些数据构造完成后,就生成shield

加密部分用了hmac md5,和aes,
这个地方传入了一个key,每个设备都不一样

这个key在这个函数生成:

这里面传入的了一个服务器上获取的xy_ter字段~ 这里照抠就ok~

技术交流 telegram @NpProblem

————————————————
版权声明:本文为CSDN博主「程序员神马」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sddvfdfv323/article/details/116540879

标签:函数,小红书,bufstr,TracerPid,转发,fgets,pointer,源码,shield
来源: https://blog.csdn.net/weixin_43667643/article/details/118495770

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有