
小红薯数据抓取主要分为微信小程序端和APP端, 小程序端的X-sgin算法主要用的md5加密,通过URL的一部分加上一个固定值,再MD5一把就可以获取,组合参数的时候还需要用到一个类似于小程序授权码的东西:wx_code ='wxmp.a49d264d-23f1-474d-8629-ac31c625931a',
这个值是一个微信对应一个,亲测spider的时候,需要扫码登录小红薯小程序,才能爬取,而且一个微信码肯定有数量限制,这就带来的效率的极大折损。
。
今天主要讲APP端,shield的算法,大家都知道有了shield,小红书算是给你打开城门了,为所欲为。
。
之前大家对待APP逆向,主要是hook,Xposed,frida工具安排上, 一通下钩子, hook大法好啊!但是问题就在敏捷性不高,需要运行在真机或者模拟器上,而且现在很多APP对Xposed,frida是有检测的。
比如淘宝, 对Xposed检测是实锤了, frida也会检测,本主在hook的时候在碰到“frida -agent.....”的提示,意思是说你用了frida代理工具, 很快就滑块了。
。
。
今天要用到算法转发工具,并且已经打包成了jar包, 一条命令,一行代码就可等到shield值!
shield是在so层, 具体定位到libshield.so ,处理逻辑在这三个JNI函数callinitializeNative, callinitialize , callintercept (具体过程就略过了,要有很强的C代码功底。
。
这里直达主题,节约大家时间),
知道这个三个函数,还要知道对应的函数指针地址,地址计算方式是so基址+偏移量 ,三个函数的偏移量分别是0x6c11d ,0x6b801 ,0x6b9e9(根据APP版本不同有变化)
具体效果上图吧:
程序跑通,能够得到shield值 ,接下把它打包成jar, 方便Python调用,
jar包 cmd命令测试:
java -jar xhs.jar "https://edith.xiaohongshu.com/api/sns/v3/user/info?user_id=5aae2cffb1da1410848cc29f"
后面这个URL地址是带上的参数, java -jar xxxx.jar "url地址"
Python调用:
只需要一条命令、一行代码,一个URL参数就可以,开箱即用,方便!
具体jar包或者调用api请联系作者!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)