教你一步步扣代码解出你须要找到的加密参数

只收藏不点赞的都是耍流氓html

注意:目前pdd已经须要登录,这篇文章是在未更改以前写的,若是须要实践须要先登录pdd再进行操做便可

上周的pdd不少人说看了还不会找,都找我要写一篇来教教如何扣代码的,那就应你们要求,今天来写一篇详细的扣代码过程,彻底从零到一,若是对你有帮助,还望大力分享,这样我会越写越多。git

代码都放在个人Github上,尚未star的感受star了,哈哈,可能今周会更新别的网站,因为网站太强给推迟了,还得须要时间,为了爬虫可谓掉光了头发。github

Github:https://github.com/SergioJune...web

其余很少说了,直接开始今天的主题,扣代码。chrome

上篇文章我已经找到了加密位置了,就是下图这个位置数组

image

若是还不知道怎样找的话,能够看看https://sergiojune.com/2019/0...,微信的被举报删除了,暂时只能在我blog上看了,这里就很少说了。浏览器

1. 建立 HTML 文件

咱们在扣代码以前,为了方便调试,能够先建立一个 html 文件,这样能够方便咱们直接在 chrome 上直接进行调试,或者建立一个 js 文件也能够,不过进行调试时须要在 webstorm 上调试才能够。这里我就建立了一个 html 文件。微信

image

而后把咱们扣下来的代码放到 script 标签里面便可,而后使用浏览器进行打开便可调试。webstorm

2. 开始正式扣代码

这里咱们知道了 ep("0xd2", "jLF%") 这个语句是生成 anti_content 的,因此能够直接打断点到这个语句进行查看它所须要的语句。ide

image

image

点击下一步,进入了这个函数内

image

若是你调试过屡次以后,发现这个是将一些加密后的字符串解密为正常的函数名字。若是你第一次扣的话,估计是把这个函数直接给扣出来,可是后面会有不少麻烦,好比变量之间的关系,因此咱们应该是把整个大函数给扣出来,便是包括这个函数的函数,看下图

image

可是当你扣的时候,发现刚才咱们加密的那个方法也在这个函数里面,这时就得改改了,不扣大函数,由于扣了以后调用开始就不免会出错,仍是直接把这个小函数扣出来先,以下图:

image

这时就能够用浏览器打开这个文件了,能够看到报错

image

这时不要慌,报错是正常的,由于咱们只扣了一下部分,因此还须要继续找,接下来就是查看报错的地方并断点。

image

能够用这个和原网址上的运行做比较,发现这个变量是个数组,因此也直接扣下来。

image

image

你细心的话会发现,下面还有个打乱这个数组的函数,正确来讲应该是还原数组,须要两个一块儿扣下来。

这时再次刷新文件便可正常获得结果了

image

咱们再看下一个问题。

image

再次点击到达错误位置,再根据原网站对比

image

能够发现这是个函数,能够点击箭头所指函数直达函数位置,发现仍是和加密的语句在同一个大函数内,因此咱们仍是直接扣出 Z 函数便可

image

再次刷新运行,出错的位置也变了

image

咱们继续进入错误位置和原网址的对比

image

发现这个变量是个方法名,能够往上找找定义位置

image

估计这里面的变量都是有用的,因此直接所有扣了

image

再次刷新便可看到错误地方不同了,继续找便可。

image

在出错地方断点的同时也须要在原文件中断点,而后将原文件的运行到该断点处就能够了。

image

接着就是查找这个对象的定义的地方了,而后把代码扣下来便可。

这里不止 F 对象, 还有 B,U,z等对象,定义位置都是在附近的,也都一块儿扣下来便可。

再次刷新看到少了个 data 属性,这里本身手动加上便可

image

接着运行就变成了这个错误

image

仍是一样与原文件作对比便可。找到原文件的定义地方,而后所有扣出来他们的定义。

我这里是将整个大函数都扣出来,而后自调用来返回上面所须要的对象,这样封装能够避免不少变量的冲突。

image

再次刷新,错误就到了另一个地方了。

image

也是一个函数,对比原文,很容易找到函数,直接扣出

image

继续保存文件刷新,错误也变了

image

对比原文件,知道这个是搜索的 url,这里咱们直接赋值便可,能够在咱们调用函数的时候传这个参数。

image

image

再次刷新,仍是这些对象的data属性的问题

image

也是和上面的同样,看原文是什么值,直接赋值便可。

而后到了这个错误

image

仍是比较原文,找出函数定义,并扣出来,就很少说了。

接着就是到这里的错误了。

image

这个错误比较麻烦,不过耐心点来仍是能够的,仍是来比较原文件中的JS看看那里不同。

image

image

比较这个 Y 对象,发现咱们的少了一个data,接着就是找 Y 这个 data 的生成位置了。根据上面的内容,很容易就能够知道定义的位置。

image

能够知道这个 l() 就是生成 data,能够打断点原文件并刷新就能够看到生成步骤了。

这里须要直接把 l 所在的位置的外部大函数都扣出来,而且自调用返回这个 l 函数便可。

接下来的仍是重复以前的步骤,说多了也是废话,相信你们应该能触类旁通,若是实在不会的话就多看几遍文章吧,本身动动手,总会有收获的。

image

相关文章
相关标签/搜索