JS实战系列之解密-并夕夕反爬虫算法2

Hi,欢迎回来参阅本系列教学,今天给大家分享的是JS逆向之手机版并夕夕(拼某多,鉴于某种你懂的原因,以下简称为并夕夕,请知晓!) – Anti_content 加密参数,首先我们单从字面上看这个”Anti” 很显然它就有一个反抗的意思,而该字段是从查询的接口中提取的,它的值是一串很长且动态变化的字符串,在通过一系列的分析可知它是用于防止机器人肆意窃取、非法获取数据的风控系统的反爬措施之一。

那么既然是反爬,那么势必就会有反反爬之大法,看过我之前写得JS实战系列之解密-拼夕夕反爬虫算法这篇文章的朋友应该知道并夕夕旗下还有个基于PC端的网点,而它所使用的加密方式其实与本文中的手机版的加密算法其实是大同小异的,而我在分析时同样也分析了APP端,发现其实都有这么一个加密算法,只是可能叫法不太一样,实际上它们使用的都是同一个算法,那么今天分享的这个Anti_content的加密算法到底与之前的有啥区别呢?起初我刚开始调试这个算法的时候,我遇到了一个很大的坑,由于我不太懂JS的异步函数的使用,故在代码入口

兜了好大一个弯,是的,因为这个网站使用了大量的异步方法,连生成加密的算法都在里面,换句话说就是告诉了你切入口在哪你也得花很长时间才能找出函数入口,而且极有可能被绕着绕着就放弃了。别怀疑,刚开始我也绕了许久,而后无意间在一个不显眼的地方终于找到了突破点,是真的很不显眼……

加密的JS文件路径

https://static.yangkeduo.com/assets/js/react_index_7afd264eec5b8ad5dbce.js

主函数入口位置

在经过多次Debugger后不难发现该字段的加密函数入口位于该文件的:16538行的 fe函数之中(格式化后);在Console中直接调用fe函数便可生成一串加密后字符串,而我们要做的就是想办法把这个fe函数给还原出来。

Anti_content 字段函数加密入口

什么是函数还原过程

现在我们已经找到了 Anti_content 字段的加密入口,那么所谓的函数还原过程又是什么个东东呢?由于目前市面上各大网站或多或少基本都有引用一系列反爬措施,大企业的官网甚至会使用自家风控系统(如马粑粑家的平台)而最常见的反爬措施莫过于限制IP、UA、或通过一系列高级脚本检测客户端(如:fingerprintjs2)亦称之为浏览器指纹;服务端为了加大安全系数通常会将这一系列针对客户端的查询过程进行加密或者混淆,目的是为了增大盗窃者爬取数据的难度,进而加大成本,而经过混淆的数据我们凭肉眼是无法识别的(如上图),但任其千万种加密,我们始终都是可以通过浏览器进行解密,因为它再高级的加密也是要使得浏览器看得懂,要不然就失去了加密的意义了,那么在这个解密的过程中我们便可简单的称作函数还原过程,要还原这个函数过程我们需要引用一个利器:Chrome DebuggerTools,当然市面上还有基于火狐、IE的调试工具,而我钟情于Chrome所以接下来将以谷歌的开发者工具进行还原函数

利用ChromeDebuggerTools进行函数还原

DebuggerTools工具是谷歌浏览器提供的一个用于调试JavaScript的利器,通过它我们可以很轻松的还原出被混淆的加密数据,当然首先你得安装了谷歌浏览器,你也可以使用别的工具进行调试,在上述的fe函数旁边我们轻轻的点一下打个断点,然后我们再拉到网页的滚动条,这时我们会发现,网页断了下来,那么现在我们只需在控制台中输入fe()调用该函数,控制台将会给我们返回一串加密后的数据,然后我们可以将鼠标移到任意一个字段上,我们将会发现那些看上去像乱码的玩意竟然显示成肉眼看得懂的文字了,没错,所谓的函数还原过程就是基于运行时所展示的数据,在非执行的状态下你是无法辨认每个函数的意义或表示什么意思,只有在我们调试的时候我们才可以知道它代表什么意味着什么,那么我们要做的就是一步一步的将它们还原出来,当然为了还原,你还需要另外开启一个sinppet脚本进行手写javascript代码,当你走完整个函数之后,也就意味着你的还原过程完毕(取决于你对JavaScript的了解)

在调试模式下手工选中函数完整部分工具会展示出被混淆的原型噢

调用fe函数将返回加密后的字符串

至此我们可以说已经解开了这个加密算法,当然我这只介绍了一种还原的方法,其实还有另一种比较偷懒的方式,那就是直接复制里面的代码不需要还原,但前提是你需要把代码引用到的东西都一并复制,如上图的u(“0xa6”, “TNEu”)你需要实现U这个方法,这种方式虽直接暴力,但不利于后期维护,因为你看不懂它的意思;而手工还原出来的代码本来就是你自己定义的,连函数名都是,那么在定义时你完全可以起一个你看起来能记住的名称你觉得呢,好吧时间关系,本期教学暂告一段落如有任何疑问欢迎留言或加入我们的QQ技术交流群探讨:544185435(注:本文的所有的操作步骤均在找到函数入口之后进行,如您对如何寻找函数入口有兴趣或需要还原后的脚本欢迎留言,我将提供协助,由于某些原因视频目前仅上架了Youtube,最后,有必要声明下,本文仅限于学术交流之用,绝非恶意或有意针对某站进行非法破解,如侵犯了您的权益,请联系我配合删除!)

视频教学入口

Youtube在线视频观看地址:https://www.youtube.com/watch?v=NQUgMrW49_U&t=502s

原文引用地址

it猫之家官方博客:JS实战系列之解密-并夕夕反爬虫算法

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容