请原谅我起了一个这样的标题博取你的眼球。与其说叫通杀,不如说按照一定的套路一定能纯算 jsvmp,我测试了部分网站 tx,x 红薯...都成功过掉了,其中最麻烦的当属某音的 a-bous,一个星期左右搞定。现在,24 年 5 月 2 日,作者也就是我,认为只要耐心一点可以纯算市面上所有的 jsvmp,以后,不好说,其实本文只是最初版本,我认为还有很大可扩展的空间,允许我先卖个关子。遗憾的是没遇到我想象中更恶心的 jsvmp,没有机会一展拳脚。以上,为了激发你的阅读兴趣,被迫装 B。

以下我将以某音的 a-bous 为例讲述如何去做,分为三个部分:流程概述,实操 a-bous,未来工作。

vmp 是什么,我就不再赘述了,相信在你动手做的时候会有自己的体会。鼓励大家动手做一遍。

一、流程概述
1.观察代码结构,观察至关重要,在第一步你需要看懂 jsvmp 的调用流程,找到“内存”数组、“指令集”数组,这些名词现在看不懂也没关系,在纯算 a-bous 时会举例说明。

2.代理 jsvmp 的“内存”数组,因为 jsvmp 是用数组模仿的汇编中的“内存”,所以找到 jsvmp 的主循环后,在“内存”数组定义下面,将其代理,然后替换网页代码,刷新载入代码。

3.copy 代理文本信息在文本编辑器中查看,找到需要逆向的密文,搜索第一次出现的位置。查看上面行代理日志初步观察生成的规律,特别要说明的是,你花费多少时间就取决于这个初步观察了,举个例子就是,有些密文的生成所带出的代理日志是有一定规律的,三个一组或四个一组;或者有些算法直接就出现特征值等等,要做的心中有数,如果只是盲目的进行第四步后续会浪费大量时间,因小失大。

4.根据代理日志的特征定位到生成密文的起点,修改代理代码,重新替换网页代码,对照代理日志,确定密文加密地点。

5.单步调试、跳出代理函数...“指令集”数组中参与运算的数据当作固定值,运算符、未知数据做好记录,对照 3 中的猜测,结合代理日志,得到密文初步生成规律,不必全部跟完,先自己构建一个算法试试能不能对上,对上就证明密文初步生成规律是正确的,反之则要多跟几步,看看哪里引入额外的运算或特殊的处理,得出算法。

6.逆向、逆向,逆着破解密文,在 5 的过程中记录的未知数据大概率是另一层加密算法,需要你结合之前的代理日志找到对应的数据,可能值已经变了但日志中对应的位置不会改变,长度也大概率不会变动。就这样“递归”下去,当所有的未知数据都逆向完毕,只剩下了些环境值、之前返回的参数、网页中的固定值、“指令集”数组中的值时,宣告纯算成功!

二、实操 a-bous
嗯,重头捋一遍某音的 a-bous 的生成流程,让我删掉本地替换,哎,好麻烦。
首先,先找一下数据接口。哦,对了,案例是评论接口,a-bous 长度为 164,没有登录。
直接搜索大法,找到,如下:

还有一件事,建议用谷歌浏览器,edge 可能会卡。

然后就是,最好找到进入 vmp 文件的最开始,以及 vmp 加密的结束,因为存在 vmp 的文件会被重复加密别的地方,这样简单筛选下,减少一些代理日志。

这个是 xhr 请求,二话不说,先来个 xhr 断点,作“尾”。什么,你问我为什么不跟栈,随你便。

发现 this 中已经有 a-bous 的值了,然后向上跟栈,最后确定进入 vmp 文件的位置,也就是“头”,如下:

但是你再去看 this 中的_url 时,发现什么鬼,这个作者绝对业余,这加密起点,所谓的“头”已经有了 a-bous,那还加密个集贸。稍安勿躁,听我解释,没有翻车,浏览器调试有个特性,跟栈显示的值会被你断点处的变量值覆盖。如果是不一样的变量名那没什么问题,如果一样,那跟栈的值就会显示成断点处的值,所以这里的 this 被之前 xhr 断点的 this 覆盖了。

好了解释完,这一点,再来说说该怎么找这种值,有个技巧,也就是“头”和“尾”,一句话就是:找两个点,“头”:加密开始前,“尾”:加密结束后,逼近加密的位置。这个需要刻意练习一下,有经验的高手,看到这种组包就会习惯性下个断点。靠,一不留神又跑题了。

言归正传,在这里下一个条件断点,因为这里是一个封装的发包函数,普通断点会一直断。

重新断下来发现,a-bous 已经没有了。

单步会进入存放 vmp 的文件了。

把代码全部拷贝下来,分析一下,这段代码的执行流程。

我记得我当时闲着无聊数了一下,它有多少带 vmp 的函数,好像是 29 个,忘记了。不过不用慌,加密只用到了其中的 4 个。

f25af4d6afd51a9542c40f0a1c9f60d8_d34ae325e4b54cdcaf0e114096a95584.png
接下来就很简单了,无脑上套路!

先通过搜索定位一下最开始的 vmp:

进入流程概述-1:

i 是“指令集”数组,p 是“内存”数组,确定的方式有两种:一是分析这个函数,看主循环那个数组使用的多,怎么使用的,vmp 的解密函数解密出“指令集”数组:

二是在主循环里下断点,看看作用域种,各个数组的内容,高效,直观。

但某音特殊的地方在于,它每个 vmp 搞了两块内存,这里的 g 也是“内存”数组。

然后是流程概述-2:

代理的脚本如下:

window.luan_text = "";

window.luan_open = false;

function luan_proxy(arr, name) {

// arr 内存

// name 名字

// 获取数据类型

function get_value_type(value) {

// 'undefined', 'null', 'boolean', 'string', 'number', 'symbol', 'array', 'object', 'function'

if (Array.isArray(value)) {

  return "array";

}

if (value == null) {

  return "null";

}

return typeof value;

}

// 打印函数

function luan_print(obj) {

let type = get_value_type(obj);

if (["undefined", "null", "boolean", "string", "number"].includes(type)) {

  return obj;

} else if (obj[Symbol.toStringTag]) {

  return obj[Symbol.toStringTag];

} else if (type == "function") {

  return `function ${obj.name}`;

} else if (type == "object" || type == "array") {

  // JSON.stringify 会递归处理

  let temp = JSON.stringify(obj, function (k, v) {

    if (v && v[Symbol.toStringTag]) {

      return v[Symbol.toStringTag];

    } else if (v && typeof v == "function") {

      return `function ${v.name}`;

    } else {

      return v;

    }

  });

  return temp;

} else if (type == "symbol") {

  return obj.toString();

} else {

  // 未预料到的情况

  debugger;

}

}

// 句柄

let handle = {

get(target, property, receiver) {

  let result;

  result = Reflect.get(target, property, receiver);

  try {

    if (window.luan_open) {

      let content = luan_print(target);

      window.luan_text += `${name}|get| 下标: ${property.toString()} 内容: ${content}\r\n`;

    }

  } catch (e) {

    debugger;

  }

  return result;

},

set(target, property, value, receiver) {

  let result;

  result = Reflect.set(target, property, value, receiver);

  try {

    if (window.luan_open) {

      let content = luan_print(target);

      window.luan_text += `${name}|set| 下标: ${property.toString()} 内容: ${content}\r\n`;

    }

  } catch (e) {

    debugger;

  }

  return result;

},

};

return new Proxy(arr, handle);

} //………………

p = luan_proxy(p, "p1");

window.luan_text = "";

window.luan_open = false;

function luan_proxy(arr, name) {

// arr 内存

// name 名字

// 获取数据类型

function get_value_type(value) {

// 'undefined', 'null', 'boolean', 'string', 'number', 'symbol', 'array', 'object', 'function'

if (Array.isArray(value)) {

  return "array";

}

if (value == null) {

  return "null";

}

return typeof value;

}

// 打印函数

function luan_print(obj) {

let type = get_value_type(obj);

if (["undefined", "null", "boolean", "string", "number"].includes(type)) {

  return obj;

} else if (obj[Symbol.toStringTag]) {

  return obj[Symbol.toStringTag];

} else if (type == "function") {

  return `function ${obj.name}`;

} else if (type == "object" || type == "array") {

  // JSON.stringify 会递归处理

  let temp = JSON.stringify(obj, function (k, v) {

    if (v && v[Symbol.toStringTag]) {

      return v[Symbol.toStringTag];

    } else if (v && typeof v == "function") {

      return `function ${v.name}`;

    } else {

      return v;

    }

  });

  return temp;

} else if (type == "symbol") {

  return obj.toString();

} else {

  // 未预料到的情况

  debugger;

}

}

// 句柄

let handle = {

get(target, property, receiver) {

  let result;

  result = Reflect.get(target, property, receiver);

  try {

    if (window.luan_open) {

      let content = luan_print(target);

      window.luan_text += `${name}|get| 下标: ${property.toString()} 内容: ${content}\r\n`;

    }

  } catch (e) {

    debugger;

  }

  return result;

},

set(target, property, value, receiver) {

  let result;

  result = Reflect.set(target, property, value, receiver);

  try {

    if (window.luan_open) {

      let content = luan_print(target);

      window.luan_text += `${name}|set| 下标: ${property.toString()} 内容: ${content}\r\n`;

    }

  } catch (e) {

    debugger;

  }

  return result;

},

};

return new Proxy(arr, handle);

} //………………

p = luan_proxy(p, "p1");

封装了一下,过这些 vmp 站的时候,踩过不少坑,也逐渐完善了这个脚本,用着还可以,其实还有新的想法去进一步改进代理脚本,会在未来工作种会展示。

使用方法也很简单,下面将仔细介绍下:

前面一段扔到 vmp 文件最开始:

后面一段放在“内存”数组定义处:

因为有多个 vmp 嵌套,所以给“内存”数组搞了一个名字。然后替换代码重新载入。然后细节的地方来了,这个代理日志的存储是有一个开关的,这也就是为什么要找到“头”的一个重要原因。有了一个开关不会运行速度。来到头部打开开关。

然后流程概述-3:

来到“尾”,copy 代理日志:

第一个 vmp 很短只有 400 多行日志。

直接到网站的“尾”,找到 a-bous 的值,在代理日志中搜索:

url 编码应该不用我在提醒大家了。

找到第一项

我擦勒,啥子情况,突然出现??!是的,这种情况就预示着,这个 vmp 对于 a-bous 的加密来说,屁用没有,所以直接进入第四步了。

流程概述-4:

接下来我们要考虑的是如何定位到这一行,你可能到这还是不太懂,接下来要仔细看了。

搜索这一小段,发现只出现了两次,并且,a-bous 的长度固定为 164(长度为 164 可以直接在“头”调用进入函数测试,不是重点,这里就不在演示)。在 set 句柄中,写判断函数:

重新替换代码,再次载入,找到一个函数调用。

多次运行:

跟进去是一个新的 vmp

老规矩,重复定位:

挂上代理:

这时可以把第一个 vmp 的代理取消掉了。

重置一下 set 句柄:

重新获取代理日志:

很明显最后一行就是我们要的 a-bous,全局搜索一下:

我的发,什么鬼,又是突然出现!好吧,去 set 句柄里写定位。看到这里有一些老手,就要忍不住要拿上边的乱码、数组试一试了,你问我为什么不试试,因为我早就试过了,没这么简单。

找到第三个 vmp:

再次获取代理日志:

好家伙,这下多起来了,不过有搜索在,多少行都无所谓的。

小技巧之只搜索一部分:

这就是 a-bous 的第一层加密了,接下来我们逐渐删除加密字符串的长度,定位到开始生成的位置,为什么要这样做?这样可以让每一行的日志变短一点,方便我们观察,可以说这一步的观察是唯一体现技术的地方,敏锐的洞察,出色的判断,将决定你纯算 jsvmp 花费的时间与精力,老手与小白的差距也大概率在此拉开。不过,不用慌,什么也观察不出来,就按照套路走也可以做出来的,我保证。

OK,差不多定位到这里,可以开始观察了:这加密字符串是怎么一个个蹦出来的,几个是一轮回,遍历什么,取什么......大概心里有数。

下面我将以 a-bous 第一层加密为例,详细解释一下:
可疑点 1:

测试:

"Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79HbGcaStCe"这个东西,搜索一下,贯穿了整个日志,追溯一下第一项:

复制出来看一看:

看知道这种东西,大概率是一个固定值,先不管它,当一个未知值处理。也就是说,我们现在关心的就是 20 是哪来的,简单找一下。

这里代理日志每行都很短的好处就体现出来了,如果你的显示屏足够长的话,当我没说。

20 大概率是个什么运算,向上翻一翻:

好的,看不懂。好了,到这里我们的观察-1:“来源观察”就可以结束了,老手可能到这里又想试试这些乱码啊、数据啊,这次,我会告诉你这是在浪费时间。

然后让我们进入观察-2:“分组观察”,这个没法截图了,我大概描述下,你需要向下看一看代理日志,看看加密字符串每个字符的生成是不是大概都一样,可能每个字符的运算逻辑都一样,只不过换了数据;也可能四个一组,一组中的四个字符的运算逻辑完全不一样,但是每组的运算逻辑相同。反应到代理日志上最直观的就是代理日志的行数、每行的长度是否一样,这样大概估计一个分组,估计错了,没有影响,估计对了,大大简化纯算的流程。

当然,别的 jsvmp 可能还好,只有一个 vmp,没有几层加密,但像某音的 a-bous 这种,套了很多层 vmp,加密了很多次,每次都要观察,确实有点费眼睛,在未来工作中会给出解决办法,稍后再谈。

好了,不管你观察没观察出来它的分组,我这里都默认你没观察出来,没观察出来分组的话,就先按“每个字符的运算逻辑都一样,只不过换了数据”这种来,到时候在网站中看着改,现在再一次进入流程概述-4,找代理日志的特征,在写 set 句柄中写判断,当然,你乐意在 get 句柄中写也行。

这里有个小技巧:
我们的目的是 debugger 到一个字符开始生成之前,你当然可以看日志总结一下规律,但更方便的是找到一个字符刚生成完的地方,然后 debugger 进入就可以了。如下:

set 句柄中的判断,如下:

替换代码,重新载入。

进入流程概述-5:

在网站开始单步跟算法,记得“指令集”数组中的值如果参与运算了就当作固定值,未知的值要记录下来,每出现一个值做好笔记,否则很容易前功尽弃!指令集”数组中的值如果参与运算了就当作固定值,为什么呢?这个可以做一个思考题,自己想一想,其实你做的多了,就很容易想到了。

单步的时候小心一点,你不需要跟很多,一般来说,一层加密,跟一两个字符就能逆向了,稍后会演示,但你每一步,都要想一想它在做什么,切记不能无脑跟。

“指令集”数组算出值 258048:

现在可以去之前的代理日志中看看 258048 是不是总是有,开搜:

是不是很想说一句,臭小子让我逮到了,别急,点“查找下一个”的按钮,更惊喜的来了:

每加密四个字符出现一次,四个一组呗。别急,看看它用来做什么:

第一个运算:7835561 & 258048 = 229376

我知道你想问 7835561 是哪来的,呃,忘了截图了,7835561 是在 v 也就是第二个“内存”数组中取出来的的值,当未知值处理,先不用去搜索了,未知值做好笔记就可以了,固定值需要去以往的代理日志中搜索确定一下。

它又将结果存入 p“内存”数组中:

“指令集”数组算出值 12:

这个值估计一搜一大把,在笔记中做好记录就行了,看看 12 用来做什么,当然你也可以去代理日志中看看 258048 的下面是不是都跟着一个 12,来确定 12 是个固定且有用的值,不过我们现在已经有 80%机率确定第一层加密是四个一组,迫切的需要直到,它是怎么算出来的,所以就记录下 12,接着跟:

跟进来看一看:

第二个运算:229376 >> 12 = 56

在跟就到了这里:

哦吼,字符串变成'ckdp1h4ZKsUB80/Mfvw36XIgR25+WQAlEi7NLboqYTOPuzmFjJnryx9HVGDaStCe'了,什么情况,实际上在我们全局搜索 258048 的时候,聪明的读者可能就已经看出端倪了,让我们看来看一下这张图:

注意左边的总览图,全局都在飘橘黄色,我们跟过去看看:

最开始的代理日志 258048 前面还真是'ckdp1h4ZKsUB80/Mfvw36XIgR25+WQAlEi7NLboqYTOPuzmFjJnryx9HVGDaStCe'

到了后面才是"Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79HbGcaStCe"

我们跑到'ckdp1h4ZKsUB80/Mfvw36XIgR25+WQAlEi7NLboqYTOPuzmFjJnryx9HVGDaStCe'最后生成的位置,看看它造了一个什么东西出来:

一顿搜索,发现生成了这么一个玩意,看看长度:

别晕,想想"Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79HbGcaStCe"是怎么来的,我们搜“尾”的 a-bous 的值逆过来的,而'ckdp1h4ZKsUB80/Mfvw36XIgR25+WQAlEi7NLboqYTOPuzmFjJnryx9HVGDaStCe'呢,它是出现在代理日志的开始。好嘛,找错位置了!

其实这个长度为 148 的字符串在后续的加密中会用到,这里我们解的是第一层,就不再展开,算是留给你们的伏笔。

现在,让我们点击网站上的小三角,断到正确的位置,也就是说我们要改写一下断点的判断,有"Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79HbGcaStCe"的部分才是我们的目标。

观察代理日志:

在 get 句柄中写下判断:

此时,我们也基本可以确定,"Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79HbGcaStCe"就是固定值了。其实,在解密出的 o 中可以确定,道理与 i“指令集”数组相同:

重新断下来之后,继续单步跟。

“指令集”数组算出值 4032:

接下来到了:

又来!?

到了这里,我想我们应该去之前的代理日志中看看:
https://t.bilibili.com/983918681902809112
https://t.bilibili.com/983918630323355656
https://t.bilibili.com/983918583078715397
https://t.bilibili.com/983918535855046657
https://t.bilibili.com/983918484328022032
https://t.bilibili.com/983918437087576067
https://t.bilibili.com/983918389861810181
https://t.bilibili.com/983918338307522579
https://t.bilibili.com/983918291063930887
https://t.bilibili.com/983918243778396160
https://t.bilibili.com/983918192263954457
https://t.bilibili.com/983918144999391237
https://t.bilibili.com/983918093449297958
https://t.bilibili.com/983918046251843588
https://t.bilibili.com/983917999019786249
https://t.bilibili.com/983917947466547206
https://t.bilibili.com/983917900178915335
https://t.bilibili.com/983917852981461000
https://t.bilibili.com/983917801419833347
https://t.bilibili.com/983917754412171268
https://t.bilibili.com/983917702655508487
https://t.bilibili.com/983917655418208256
https://t.bilibili.com/983917608175665157
https://t.bilibili.com/983917556581531654
https://t.bilibili.com/983917505049264167
https://t.bilibili.com/983917457797283863
https://t.bilibili.com/983917410554740737
https://t.bilibili.com/983917363308003332
https://t.bilibili.com/983917311780978708
https://t.bilibili.com/983917264551018514
https://t.bilibili.com/983917212985196593
https://t.bilibili.com/983917165783547924
https://t.bilibili.com/983917118498013191
https://t.bilibili.com/983917067007688713
https://t.bilibili.com/983917019744174082
https://t.bilibili.com/983916972491145218
https://t.bilibili.com/983916920940003369
https://t.bilibili.com/983916873702703113
https://t.bilibili.com/983916822189309974
https://t.bilibili.com/983916774939426834
https://t.bilibili.com/983916727649697798
https://t.bilibili.com/983916676143644673
https://t.bilibili.com/983916628871741476
https://t.bilibili.com/983916581661704196
https://t.bilibili.com/983916530105319448
https://t.bilibili.com/983916482842853380
https://t.bilibili.com/983916431300100119
https://t.bilibili.com/983916384102645762
https://t.bilibili.com/983916285298475046
https://t.bilibili.com/983916238074806321
https://t.bilibili.com/983916190821777412
https://t.bilibili.com/983916139275878424
https://t.bilibili.com/983916092044869639
https://t.bilibili.com/983916044800229382
https://t.bilibili.com/983915993216581651
https://t.bilibili.com/983915946003398674
https://t.bilibili.com/983915898772389897
https://t.bilibili.com/983915847228588097
https://t.bilibili.com/983915799982899219
https://t.bilibili.com/983915748421271577
https://t.bilibili.com/983915701180825640
https://t.bilibili.com/983915653913116678
https://t.bilibili.com/983915602401820696
https://t.bilibili.com/983915555152986135
https://t.bilibili.com/983915507927220231
https://t.bilibili.com/983915456394952724
https://t.bilibili.com/983915409154506754
https://t.bilibili.com/983915361856389129
https://t.bilibili.com/983915310355578934
https://t.bilibili.com/983915263114084354
https://t.bilibili.com/983915215825403913
https://t.bilibili.com/983915164315156496
https://t.bilibili.com/983915117094633476
https://t.bilibili.com/983915069795467269
https://t.bilibili.com/983915018293608456
https://t.bilibili.com/983914971011219461
https://t.bilibili.com/983914923810619401
https://t.bilibili.com/983914872260526081
https://t.bilibili.com/983914825015885826
https://t.bilibili.com/983914773444821049
https://t.bilibili.com/983914726198083607
https://t.bilibili.com/983914678986997766
https://t.bilibili.com/983914627462070310
https://t.bilibili.com/983914580176535552
https://t.bilibili.com/983914532945526806
https://t.bilibili.com/983914481647091734
https://t.bilibili.com/983914434167570471
https://t.bilibili.com/983914386952290305
https://t.bilibili.com/983914288153362436
https://t.bilibili.com/983914240909770758
https://t.bilibili.com/983914189360726035
https://t.bilibili.com/983914142096162824
https://t.bilibili.com/983914094865154051
https://t.bilibili.com/983914043299332117
https://t.bilibili.com/983913996078809094
https://t.bilibili.com/983913948836266007
https://t.bilibili.com/983913897309241366
https://t.bilibili.com/983913850067746857
https://t.bilibili.com/983913798524993572
https://t.bilibili.com/983913751295033351
https://t.bilibili.com/983913704038858753
https://t.bilibili.com/983913652453113889
https://t.bilibili.com/983913605258805283
https://t.bilibili.com/983913558006824979
https://t.bilibili.com/983913506452537347
https://t.bilibili.com/983913459222577192
https://t.bilibili.com/983913411964305412
https://t.bilibili.com/983913360660627494
https://t.bilibili.com/983913313179009033
https://t.bilibili.com/983913261659324436
https://t.bilibili.com/983913214371692544
https://t.bilibili.com/983913167127052305
https://t.bilibili.com/983913115641970694
https://t.bilibili.com/983913068365873153
https://t.bilibili.com/983912969569042455
https://t.bilibili.com/983912922324402177
https://t.bilibili.com/983912823789715478
https://t.bilibili.com/983912776331165698
https://t.bilibili.com/983912724790509569
https://t.bilibili.com/983912677540626436
https://t.bilibili.com/983912630302277639
https://t.bilibili.com/983912578761621543
https://t.bilibili.com/983912531511738370
https://t.bilibili.com/983912484270243845
https://t.bilibili.com/983912432732733459
https://t.bilibili.com/983912385703051266
https://t.bilibili.com/983912333945339921
https://t.bilibili.com/983912286691262471
https://t.bilibili.com/983912239408873475
https://t.bilibili.com/983912187914354742
https://t.bilibili.com/983912140655034368
https://t.bilibili.com/983912093410394117
https://t.bilibili.com/983912041877078055
https://t.bilibili.com/983911994606223384
https://t.bilibili.com/983911947384651778
https://t.bilibili.com/983911895815684133
https://t.bilibili.com/983911848622424089
https://t.bilibili.com/983911801332695049
https://t.bilibili.com/983911750047891457
https://t.bilibili.com/983911702586195974
https://t.bilibili.com/983911655344701440
https://t.bilibili.com/983911603787268144
https://t.bilibili.com/983911556568842241
https://t.bilibili.com/983911509311619078
https://t.bilibili.com/983911457727971332
https://t.bilibili.com/983911406191509506
https://t.bilibili.com/983911358946869266
https://t.bilibili.com/983911311728443392
https://t.bilibili.com/983911260202467346
https://t.bilibili.com/983911212957827081
https://t.bilibili.com/983911165717381125
https://t.bilibili.com/983911114127441958
https://t.bilibili.com/983911066925793302
https://t.bilibili.com/983911019684298754
https://t.bilibili.com/983910968144691254
https://t.bilibili.com/983910920882225169
https://t.bilibili.com/983910873645973506
https://t.bilibili.com/983910822125240356
https://t.bilibili.com/983910774835511305
https://t.bilibili.com/983910723331555353
https://t.bilibili.com/983910676081672208
https://t.bilibili.com/983910628853809156
https://t.bilibili.com/983910577286938633
https://t.bilibili.com/983910530018181128
https://t.bilibili.com/983910482770395139
https://t.bilibili.com/983910431277973512
https://t.bilibili.com/983910384248291334
https://t.bilibili.com/983910332446539776
https://t.bilibili.com/983910285246988293
https://t.bilibili.com/983910237986619395
https://t.bilibili.com/983910186448060432
https://t.bilibili.com/983910139199225876
https://t.bilibili.com/983910087680589877
https://t.bilibili.com/983910040396103686
https://t.bilibili.com/983909993165094919
https://t.bilibili.com/983909941656944677
https://t.bilibili.com/983909894622019584
https://t.bilibili.com/983909847167664137
https://t.bilibili.com/983909795600793632
https://t.bilibili.com/983909748334133269
https://t.bilibili.com/983909701089492996
https://t.bilibili.com/983909649547788310
https://t.bilibili.com/983909602305245188
https://t.bilibili.com/983894045973544979
https://t.bilibili.com/983893998728904709
https://t.bilibili.com/983893947202928663
https://t.bilibili.com/983893899943608338
https://t.bilibili.com/983893852664365064
https://t.bilibili.com/983893801131048984
https://t.bilibili.com/983893753886408706
https://t.bilibili.com/983893706665885696
https://t.bilibili.com/983893655126278152
https://t.bilibili.com/983893607885832193
https://t.bilibili.com/983893509112070169
https://t.bilibili.com/983893462077145094
https://t.bilibili.com/983893414599720961
https://t.bilibili.com/983893363044384771
https://t.bilibili.com/983893315831201814
https://t.bilibili.com/983893268543569936
https://t.bilibili.com/983893217050099716
https://t.bilibili.com/983893169769807888
https://t.bilibili.com/983893122515730436
https://t.bilibili.com/983893071006531600
https://t.bilibili.com/983893023782862905
https://t.bilibili.com/983892976540319764
https://t.bilibili.com/983892929272610816
https://t.bilibili.com/983892877700497428
https://t.bilibili.com/983892830481022981
https://t.bilibili.com/983892783235334160
https://t.bilibili.com/983892731691532312
https://t.bilibili.com/983892684453183493
https://t.bilibili.com/983892637178134535
https://t.bilibili.com/983892585688858631
https://t.bilibili.com/983892538426392581
https://t.bilibili.com/983892439646339076
https://t.bilibili.com/983892392412184581
https://t.bilibili.com/983892345166495753
https://t.bilibili.com/983892297933389830
https://t.bilibili.com/983892246341353511
https://t.bilibili.com/983892151870947328
https://t.bilibili.com/983892100362797081
https://t.bilibili.com/983892053092990993
https://t.bilibili.com/983892005846253571
https://t.bilibili.com/983891958630973445
https://t.bilibili.com/983891907093463093
https://t.bilibili.com/983891859832045568
https://t.bilibili.com/983891812574822408
https://t.bilibili.com/983891761011097620
https://t.bilibili.com/983891713796866056
https://t.bilibili.com/983891666549080073
https://t.bilibili.com/983891615006326792
https://t.bilibili.com/983891567786852352
https://t.bilibili.com/983891520491880469
https://t.bilibili.com/983891468998410240
https://t.bilibili.com/983891421740138503
https://t.bilibili.com/983891374498643970
https://t.bilibili.com/983891322975813636
https://t.bilibili.com/983891275720687616
https://t.bilibili.com/983891228459270144
https://t.bilibili.com/983891176899739654
https://t.bilibili.com/983891129673973780
https://t.bilibili.com/983891082457645060
https://t.bilibili.com/983891030892871689
https://t.bilibili.com/983890983653474322
https://t.bilibili.com/983890936403591188
https://t.bilibili.com/983890884860837890
https://t.bilibili.com/983890837617246214
https://t.bilibili.com/983890790375751686
https://t.bilibili.com/983890738832998420
https://t.bilibili.com/983890691564240900
https://t.bilibili.com/983890644319600648
https://t.bilibili.com/983890592821936168
https://t.bilibili.com/983890545529061392
https://t.bilibili.com/983890498312732678
https://t.bilibili.com/983890446791999506
https://t.bilibili.com/983890399559942165
https://t.bilibili.com/983890352311107593
https://t.bilibili.com/983890300745285655
https://t.bilibili.com/983890253512179714
https://t.bilibili.com/983890206256005125
https://t.bilibili.com/983890154727931908
https://t.bilibili.com/983890107470708758
https://t.bilibili.com/983890060257525766
https://t.bilibili.com/983890008658149393
https://t.bilibili.com/983889961450209287
https://t.bilibili.com/983889914172014601
https://t.bilibili.com/983889862659670016
https://t.bilibili.com/983889815430758404
https://t.bilibili.com/983889768197652483
https://t.bilibili.com/983889720911069206
https://t.bilibili.com/983889669621022744
https://t.bilibili.com/983889622141501460
https://t.bilibili.com/983889574903152647
https://t.bilibili.com/983889523333136400
https://t.bilibili.com/983889476130439188
https://t.bilibili.com/983889428865875969
https://t.bilibili.com/983889377322074117
https://t.bilibili.com/983889330100502536
https://t.bilibili.com/983889282855862281
https://t.bilibili.com/983889231324643381
https://t.bilibili.com/983889184029671427
https://t.bilibili.com/983889136816488465
https://t.bilibili.com/983889089576042498
https://t.bilibili.com/983889038051115016
https://t.bilibili.com/983888990798086145
https://t.bilibili.com/983888943510454294
https://t.bilibili.com/983888896298319873
https://t.bilibili.com/983888844779683845
https://t.bilibili.com/983888797522460681
https://t.bilibili.com/983888750261043207
https://t.bilibili.com/983888698741358627
https://t.bilibili.com/983888651464212484
https://t.bilibili.com/983888604246835204
https://t.bilibili.com/983888552688353316
https://t.bilibili.com/983888505475170305
https://t.bilibili.com/983888458180198450
https://t.bilibili.com/983888406645833737
https://t.bilibili.com/983888359435796500
https://t.bilibili.com/983888312179621890
https://t.bilibili.com/983888260664131602
https://t.bilibili.com/983888213409005577
https://t.bilibili.com/983888166176948229
https://t.bilibili.com/983888114601689093
https://t.bilibili.com/983888067348660224
https://t.bilibili.com/983887968608452616
https://t.bilibili.com/983887921307189248
https://t.bilibili.com/983887874076180484
https://t.bilibili.com/983887822536572953
https://t.bilibili.com/983887775312904214
https://t.bilibili.com/983887728080846851
https://t.bilibili.com/983887676506636312
https://t.bilibili.com/983887629291356195
https://t.bilibili.com/983887582051958802
https://t.bilibili.com/983887530492428320
https://t.bilibili.com/983887483263516690
https://t.bilibili.com/983887435972739109
https://t.bilibili.com/983887384439422978
https://t.bilibili.com/983887337204219909
https://t.bilibili.com/983887289972162566
https://t.bilibili.com/983887238454575104
https://t.bilibili.com/983887191165894680
https://t.bilibili.com/983887143931740182
https://t.bilibili.com/983887096935612423
https://t.bilibili.com/983887045163220996
https://t.bilibili.com/983886997916483584
https://t.bilibili.com/983886950647726088
https://t.bilibili.com/983886899144818709
https://t.bilibili.com/983886851916955654
https://t.bilibili.com/983886804649246729
https://t.bilibili.com/983886753088667696
https://t.bilibili.com/983886705834590225
https://t.bilibili.com/983886658616164387
https://t.bilibili.com/983886611371524103
https://t.bilibili.com/983886559847645187
https://t.bilibili.com/983886512605102087
https://t.bilibili.com/983886465315373061
https://t.bilibili.com/983886413816660001
https://t.bilibili.com/983886366530076710
https://t.bilibili.com/983886319313747977
https://t.bilibili.com/983886267758411844
https://t.bilibili.com/983886220527403016
https://t.bilibili.com/983886173252354057
https://t.bilibili.com/983886121749446678
https://t.bilibili.com/983903061063761928
https://t.bilibili.com/983903009553514499
https://t.bilibili.com/983902962544803859
https://t.bilibili.com/983902915300163584
https://t.bilibili.com/983902863541403650
https://t.bilibili.com/983902816302006272
https://t.bilibili.com/983902769036394502
https://t.bilibili.com/983902717504127001
https://t.bilibili.com/983902670252146696
https://t.bilibili.com/983902618711490582
https://t.bilibili.com/983902571478384647
https://t.bilibili.com/983902524458139651
https://t.bilibili.com/983902472701476901
https://t.bilibili.com/983902425451593736
https://t.bilibili.com/983902373915131904
https://t.bilibili.com/983902326662103041
https://t.bilibili.com/983902279413268489
https://t.bilibili.com/983902227888340993
https://t.bilibili.com/983902180651040769
https://t.bilibili.com/983902133366554626
https://t.bilibili.com/983902081815412736
https://t.bilibili.com/983901987325083655
https://t.bilibili.com/983901935819030551
https://t.bilibili.com/983901888589070360
https://t.bilibili.com/983901841333944326
https://t.bilibili.com/983901789799579651
https://t.bilibili.com/983901742515093521
https://t.bilibili.com/983901695297716228
https://t.bilibili.com/983901643772788757
https://t.bilibili.com/983901596525002758
https://t.bilibili.com/983901549290848275
https://t.bilibili.com/983901497960955953
https://t.bilibili.com/983901450487726084
https://t.bilibili.com/983901398927147041
https://t.bilibili.com/983901351703478290
https://t.bilibili.com/983901304422137860
https://t.bilibili.com/983901252885676032
https://t.bilibili.com/983901205689270297
https://t.bilibili.com/983901158398492681
https://t.bilibili.com/983901106870419462
https://t.bilibili.com/983901059656187907
https://t.bilibili.com/983901012415741975
https://t.bilibili.com/983900960867745828
https://t.bilibili.com/983900862050992167
https://t.bilibili.com/983900814795866134
https://t.bilibili.com/983900767568003092
https://t.bilibili.com/983900720322314242
https://t.bilibili.com/983900668783755264
https://t.bilibili.com/983900621580009495
https://t.bilibili.com/983900574323834888
https://t.bilibili.com/983900522741235714
https://t.bilibili.com/983900475509178370
https://t.bilibili.com/983900428514099207
https://t.bilibili.com/983900376745902097
https://t.bilibili.com/983900329505456135
https://t.bilibili.com/983900282224115712
https://t.bilibili.com/983900230709674008
https://t.bilibili.com/983900183476568064
https://t.bilibili.com/983900136223539206
https://t.bilibili.com/983900084701757444
https://t.bilibili.com/983900037672075268
https://t.bilibili.com/983899985867177984
https://t.bilibili.com/983899938660286465
https://t.bilibili.com/983899891402014721
https://t.bilibili.com/983899844174151680
https://t.bilibili.com/983899792640835616
https://t.bilibili.com/983899745386758146
https://t.bilibili.com/983899693826179108
https://t.bilibili.com/983899646601461767
https://t.bilibili.com/983899599357870084
https://t.bilibili.com/983899547840282626
https://t.bilibili.com/983899500564185094
https://t.bilibili.com/983899453323739137
https://t.bilibili.com/983899354523762692
https://t.bilibili.com/983899303000932384
https://t.bilibili.com/983899255770972177
https://t.bilibili.com/983899208537866242
https://t.bilibili.com/983899156981481490
https://t.bilibili.com/983899109959139336
https://t.bilibili.com/983899062478569481
https://t.bilibili.com/983899010950496296
https://t.bilibili.com/983898963670204418
https://t.bilibili.com/983898916426612744
https://t.bilibili.com/983898864883859480
https://t.bilibili.com/983898817686405121
https://t.bilibili.com/983898770420793366
https://t.bilibili.com/983898718875942931
https://t.bilibili.com/983898671648079880
https://t.bilibili.com/983898624399245312
https://t.bilibili.com/983898572880609304
https://t.bilibili.com/983898525594026003
https://t.bilibili.com/983898478380843016
https://t.bilibili.com/983898426851721234
https://t.bilibili.com/983898379604983809
https://t.bilibili.com/983898332308963336
https://t.bilibili.com/983898280775647256
https://t.bilibili.com/983898233567707143
https://t.bilibili.com/983898186279026711
https://t.bilibili.com/983898087507361813
https://t.bilibili.com/983898040304664583
https://t.bilibili.com/983897988765057057
https://t.bilibili.com/983897941500493833
https://t.bilibili.com/983897894248513545
https://t.bilibili.com/983897842707857447
https://t.bilibili.com/983897795470557192
https://t.bilibili.com/983897696660094982
https://t.bilibili.com/983897649420697601
https://t.bilibili.com/983897602198077443
https://t.bilibili.com/983897550624915475
https://t.bilibili.com/983897503406489607
https://t.bilibili.com/983897456134586372
https://t.bilibili.com/983897404637970435
https://t.bilibili.com/983897357406961704
https://t.bilibili.com/983897310162321415
https://t.bilibili.com/983897258593353730
https://t.bilibili.com/983897164077858832
https://t.bilibili.com/983897112562368520
https://t.bilibili.com/983897065295708180
https://t.bilibili.com/983897018089865237
https://t.bilibili.com/983896966542917639
https://t.bilibili.com/983896919294083076
https://t.bilibili.com/983896872071462919
https://t.bilibili.com/983896820536049666
https://t.bilibili.com/983896773289312259
https://t.bilibili.com/983896726011117592
https://t.bilibili.com/983896674479898643
https://t.bilibili.com/983896627202752519
https://t.bilibili.com/983896580004249602
https://t.bilibili.com/983896528478273542
https://t.bilibili.com/983896481221050371
https://t.bilibili.com/983896433957535744
https://t.bilibili.com/983896382427365398
https://t.bilibili.com/983896335196356614
https://t.bilibili.com/983896287943327752
https://t.bilibili.com/983896236418400278
https://t.bilibili.com/983896189167468565
https://t.bilibili.com/983896141877739543
https://t.bilibili.com/983896090374832135
https://t.bilibili.com/983896043097686017
https://t.bilibili.com/983895995847802886
https://t.bilibili.com/983895944351186945
https://t.bilibili.com/983895897061457937
https://t.bilibili.com/983895849844080641
https://t.bilibili.com/983895798331736073
https://t.bilibili.com/983895751034667042
https://t.bilibili.com/983895703836164096
https://t.bilibili.com/983895652286070790
https://t.bilibili.com/983895605058207768
https://t.bilibili.com/983895557766381576
https://t.bilibili.com/983895506481578001
https://t.bilibili.com/983895459018833936
https://t.bilibili.com/983895411759513625
https://t.bilibili.com/983895360247169024
https://t.bilibili.com/983895312959537171
https://t.bilibili.com/983895265704411142
https://t.bilibili.com/983895214192066566
https://t.bilibili.com/983895166917017618
https://t.bilibili.com/983895115431936020
https://t.bilibili.com/983895068163178504
https://t.bilibili.com/983895020931121153
https://t.bilibili.com/983894969392562184
https://t.bilibili.com/983894922117513239
https://t.bilibili.com/983894874892795904
https://t.bilibili.com/983894823319633957
https://t.bilibili.com/983894776076042245
https://t.bilibili.com/983894728857616409
https://t.bilibili.com/983894677338980376
https://t.bilibili.com/983894630090145808
https://t.bilibili.com/983894582845505538
https://t.bilibili.com/983894531263954961
https://t.bilibili.com/983894484030849027
https://t.bilibili.com/983894436798791680
https://t.bilibili.com/983894385258135575
https://t.bilibili.com/983894338028175382
https://t.bilibili.com/983894290774097928
https://t.bilibili.com/983894239260704773
https://t.bilibili.com/983894191972024322
https://t.bilibili.com/983894144756744196
https://t.bilibili.com/983894093229719570
https://t.bilibili.com/983906578674483209
https://t.bilibili.com/983906527131729937
https://t.bilibili.com/983906479874506771
https://t.bilibili.com/983906428364259344
https://t.bilibili.com/983906381079773190
https://t.bilibili.com/983906333874978838
https://t.bilibili.com/983906282349002756
https://t.bilibili.com/983906235081293825
https://t.bilibili.com/983906187848187905
https://t.bilibili.com/983906136297046039
https://t.bilibili.com/983906089058697219
https://t.bilibili.com/983906041777356802
https://t.bilibili.com/983905990255575048
https://t.bilibili.com/983905943010934802
https://t.bilibili.com/983905895742177284
https://t.bilibili.com/983905844230881320
https://t.bilibili.com/983905796968415248
https://t.bilibili.com/983905749719580677
https://t.bilibili.com/983905698229256211
https://t.bilibili.com/983905650988810246
https://t.bilibili.com/983905603734732804
https://t.bilibili.com/983905552191979521
https://t.bilibili.com/983905504903299097
https://t.bilibili.com/983905457701650451
https://t.bilibili.com/983905406120099878
https://t.bilibili.com/983905358914256913
https://t.bilibili.com/983905311654936578
https://t.bilibili.com/983905260119523365
https://t.bilibili.com/983905212870688770
https://t.bilibili.com/983905165645971459
https://t.bilibili.com/983905114094829601
https://t.bilibili.com/983905062568853523
https://t.bilibili.com/983905011026100248
https://t.bilibili.com/983904963789848616
https://t.bilibili.com/983904916494876688
https://t.bilibili.com/983904864987775009
https://t.bilibili.com/983904817748377619
https://t.bilibili.com/983904766203527169
https://t.bilibili.com/983904718951546880
https://t.bilibili.com/983904671736266773
https://t.bilibili.com/983904620136890377
https://t.bilibili.com/983904572929998887
https://t.bilibili.com/983904525693747206
https://t.bilibili.com/983904474145751097
https://t.bilibili.com/983904426893770793
https://t.bilibili.com/983904379665907714
https://t.bilibili.com/983904328126300194
https://t.bilibili.com/983904280879562754
https://t.bilibili.com/983904233623388163
https://t.bilibili.com/983904182067003399
https://t.bilibili.com/983904134848577544
https://t.bilibili.com/983904083265978403
https://t.bilibili.com/983904036286627846
https://t.bilibili.com/983903984532062232
https://t.bilibili.com/983903937292664850
https://t.bilibili.com/983903890024955904
https://t.bilibili.com/983903838463328261
https://t.bilibili.com/983903791213445143
https://t.bilibili.com/983903743997116420
https://t.bilibili.com/983903692469043201
https://t.bilibili.com/983903645229645826
https://t.bilibili.com/983903597994442755
https://t.bilibili.com/983903546440155139
https://t.bilibili.com/983903499182931984
https://t.bilibili.com/983903451946680341
https://t.bilibili.com/983903400382955522
https://t.bilibili.com/983903353149849635
https://t.bilibili.com/983903305907306516
https://t.bilibili.com/983903254394961961
https://t.bilibili.com/983903207139835906
https://t.bilibili.com/983903159898341400
https://t.bilibili.com/983903108363976728
https://t.bilibili.com/983909555092062231
https://t.bilibili.com/983909503517851686
https://t.bilibili.com/983909456321445920
https://t.bilibili.com/983909409041154055
https://t.bilibili.com/983909357545586705
https://t.bilibili.com/983909310270537745
https://t.bilibili.com/983909263047917575
https://t.bilibili.com/983909211461124102
https://t.bilibili.com/983909164244795397
https://t.bilibili.com/983909112702042117
https://t.bilibili.com/983909065433284629
https://t.bilibili.com/983909018230587430
https://t.bilibili.com/983908966680494088
https://t.bilibili.com/983908919440048133
https://t.bilibili.com/983908867910926419
https://t.bilibili.com/983908820672577556
https://t.bilibili.com/983908773394382856
https://t.bilibili.com/983908721835900933
https://t.bilibili.com/983908674616426504
https://t.bilibili.com/983908627389612041
https://t.bilibili.com/983908580127145989
https://t.bilibili.com/983908528585441284
https://t.bilibili.com/983908481322975239
https://t.bilibili.com/983908429789659136
https://t.bilibili.com/983908382565990400
https://t.bilibili.com/983908335286747140
https://t.bilibili.com/983908283803762697
https://t.bilibili.com/983908236536053784
https://t.bilibili.com/983908189312385047
https://t.bilibili.com/983908137765437462
https://t.bilibili.com/983908090499825673
https://t.bilibili.com/983908043255185411
https://t.bilibili.com/983907944447868950
https://t.bilibili.com/983907897201131544
https://t.bilibili.com/983907845662572562
https://t.bilibili.com/983907794146033671
https://t.bilibili.com/983907746873081862
https://t.bilibili.com/983907699676676100
https://t.bilibili.com/983907648099319848
https://t.bilibili.com/983907600868311062
https://t.bilibili.com/983907553649885203
https://t.bilibili.com/983907454847811589
https://t.bilibili.com/983907407601074177
https://t.bilibili.com/983907356036300825
https://t.bilibili.com/983907308829409313
https://t.bilibili.com/983907261558554632
https://t.bilibili.com/983907210032578579
https://t.bilibili.com/983907162804715525
https://t.bilibili.com/983907115542249495
https://t.bilibili.com/983907064003690499
https://t.bilibili.com/983907016993931269
https://t.bilibili.com/983906965195325462
https://t.bilibili.com/983906917985288192
https://t.bilibili.com/983906870751133734
https://t.bilibili.com/983906819219914755
https://t.bilibili.com/983906771952205826
https://t.bilibili.com/983906673134403620
https://t.bilibili.com/983939942213222409
https://t.bilibili.com/983939890456559619
https://t.bilibili.com/983939843206676499
https://t.bilibili.com/983939796184334342
https://t.bilibili.com/983939748732076037
https://t.bilibili.com/983939697185128467
https://t.bilibili.com/983939649927905319
https://t.bilibili.com/983939602661244928
https://t.bilibili.com/983939551109054496
https://t.bilibili.com/983939503864414230
https://t.bilibili.com/983939456622919685
https://t.bilibili.com/983939405107429401
https://t.bilibili.com/983939357869080582
https://t.bilibili.com/983939310630731784
https://t.bilibili.com/983939211840192514
https://t.bilibili.com/983939164824141845
https://t.bilibili.com/983939113019244565
https://t.bilibili.com/983939065820741682
https://t.bilibili.com/983939018554081281
https://t.bilibili.com/983938967040688180
https://t.bilibili.com/983938919745716261
https://t.bilibili.com/983938872547213316
https://t.bilibili.com/983938821004460080
https://t.bilibili.com/983938773745139735
https://t.bilibili.com/983938726522519555
https://t.bilibili.com/983938679268442128
https://t.bilibili.com/983938627718348872
https://t.bilibili.com/983938580471611400
https://t.bilibili.com/983938533241651203
https://t.bilibili.com/983938481924341777
https://t.bilibili.com/983938434679701525
https://t.bilibili.com/983938387198083076
https://t.bilibili.com/983938335676301312
https://t.bilibili.com/983938288650813460
https://t.bilibili.com/983938241191215106
https://t.bilibili.com/983938142360829971
https://t.bilibili.com/983938095159181332
https://t.bilibili.com/983938047915589637
https://t.bilibili.com/983937996383322128
https://t.bilibili.com/983937949099884549
https://t.bilibili.com/983937901872021504
https://t.bilibili.com/983937850305150976
https://t.bilibili.com/983937803060510759
https://t.bilibili.com/983937755855716358
https://t.bilibili.com/983937704321351730
https://t.bilibili.com/983937609836265479
https://t.bilibili.com/983937558286172185
https://t.bilibili.com/983937511002734626
https://t.bilibili.com/983937463811571715
https://t.bilibili.com/983937412253089793
https://t.bilibili.com/983937364970700823
https://t.bilibili.com/983937317760663554
https://t.bilibili.com/983937266211618857
https://t.bilibili.com/983937218943909912
https://t.bilibili.com/983937171723386928
https://t.bilibili.com/983937120158613542
https://t.bilibili.com/983937072952770614
https://t.bilibili.com/983937025724907541
https://t.bilibili.com/983936978426789909
https://t.bilibili.com/983936926928076821
https://t.bilibili.com/983936879684485128
https://t.bilibili.com/983936832449282049
https://t.bilibili.com/983936780880314408
https://t.bilibili.com/983936733645111330
https://t.bilibili.com/983936686409908245
https://t.bilibili.com/983936635088404516
https://t.bilibili.com/983936587607834663
https://t.bilibili.com/983936540370534407
https://t.bilibili.com/983936493094436873
https://t.bilibili.com/983936441595723831
https://t.bilibili.com/983936394320674832
https://t.bilibili.com/983936347103297543
https://t.bilibili.com/983936295568932885
https://t.bilibili.com/983936248313806888
https://t.bilibili.com/983936196740644886
https://t.bilibili.com/983936149532704771
https://t.bilibili.com/983936102292258866
https://t.bilibili.com/983936055058104324
https://t.bilibili.com/983936003496476691
https://t.bilibili.com/983935956256030753
https://t.bilibili.com/983935908978884616
https://t.bilibili.com/983935857434034176
https://t.bilibili.com/983935810192539666
https://t.bilibili.com/983935762989842441
https://t.bilibili.com/983935711455477764
https://t.bilibili.com/983935664163651600
https://t.bilibili.com/983935612672278578
https://t.bilibili.com/983935565408763922
https://t.bilibili.com/983935518191386689
https://t.bilibili.com/983935466596204560
https://t.bilibili.com/983935419407138832
https://t.bilibili.com/983935372140478465
https://t.bilibili.com/983935320600870952
https://t.bilibili.com/983935273323724841
https://t.bilibili.com/983935226110541841
https://t.bilibili.com/983935174539477046
https://t.bilibili.com/983935080051245060
https://t.bilibili.com/983935032857985030
https://t.bilibili.com/983934981276434472
https://t.bilibili.com/983934934016065554
https://t.bilibili.com/983934886777716737
https://t.bilibili.com/983934835291586561
https://t.bilibili.com/983934788038557715
https://t.bilibili.com/983934740787626003
https://t.bilibili.com/983934689235435527
https://t.bilibili.com/983934641996038149
https://t.bilibili.com/983934594729377793
https://t.bilibili.com/983934543180333057
https://t.bilibili.com/983934495933595684
https://t.bilibili.com/983934448714121218
https://t.bilibili.com/983934397160882209
https://t.bilibili.com/983934349900513318
https://t.bilibili.com/983934302662164481
https://t.bilibili.com/983934251381555223
https://t.bilibili.com/983934203918811191
https://t.bilibili.com/983934156656345097
https://t.bilibili.com/983934105134563334
https://t.bilibili.com/983934057885728772
https://t.bilibili.com/983934010602291202
https://t.bilibili.com/983933959108820999
https://t.bilibili.com/983933911871520791
https://t.bilibili.com/983933864584937489
https://t.bilibili.com/983933813058961417
https://t.bilibili.com/983933765801738240
https://t.bilibili.com/983933667033219090
https://t.bilibili.com/983933619815841795
https://t.bilibili.com/983933572515627013
https://t.bilibili.com/983933521016913992
https://t.bilibili.com/983933473757593639
https://t.bilibili.com/983933379266215940
https://t.bilibili.com/983933327722414088
https://t.bilibili.com/983933280483016726
https://t.bilibili.com/983933233238376450
https://t.bilibili.com/983933181701914661
https://t.bilibili.com/983933134471954456
https://t.bilibili.com/983933087183273986
https://t.bilibili.com/983933035683512352
https://t.bilibili.com/983932988395880450
https://t.bilibili.com/983932941188988945
https://t.bilibili.com/983932889617924150
https://t.bilibili.com/983932842366992391
https://t.bilibili.com/983932795150663697
https://t.bilibili.com/983932743615250434
https://t.bilibili.com/983932696367464468
https://t.bilibili.com/983932649144844296
https://t.bilibili.com/983932597586362388
https://t.bilibili.com/983932550338576423
https://t.bilibili.com/983932503064576007
https://t.bilibili.com/983932451535454390
https://t.bilibili.com/983932404310737029
https://t.bilibili.com/983932357039882248
https://t.bilibili.com/983932309831942151
https://t.bilibili.com/983932258254585875
https://t.bilibili.com/983932211057131540
https://t.bilibili.com/983932163765305345
https://t.bilibili.com/983932112273932338
https://t.bilibili.com/983932065007271940
https://t.bilibili.com/983932017783603220
https://t.bilibili.com/983931966243995652
https://t.bilibili.com/983931918952169495
https://t.bilibili.com/983931871734792197
https://t.bilibili.com/983931820194136083
https://t.bilibili.com/983931772967321604
https://t.bilibili.com/983931725723729941
https://t.bilibili.com/983931674152665126
https://t.bilibili.com/983931626921656360
https://t.bilibili.com/983931579911897096
https://t.bilibili.com/983931528144748612
https://t.bilibili.com/983931480868651010
https://t.bilibili.com/983931433677488131
https://t.bilibili.com/983931386424459265
https://t.bilibili.com/983931334881706002
https://t.bilibili.com/983931287854120995
https://t.bilibili.com/983931240373551112
https://t.bilibili.com/983931188833943559
https://t.bilibili.com/983931141576720400
https://t.bilibili.com/983931094319497217
https://t.bilibili.com/983931047086391303
https://t.bilibili.com/983930995534200856
https://t.bilibili.com/983930948310532130
https://t.bilibili.com/983930896757293081
https://t.bilibili.com/983930849538867224
https://t.bilibili.com/983930802263818263
https://t.bilibili.com/983930755060072457
https://t.bilibili.com/983930703509979156
https://t.bilibili.com/983930656232833029
https://t.bilibili.com/983930608994484249
https://t.bilibili.com/983930557495771145
https://t.bilibili.com/983930510251130902
https://t.bilibili.com/983930462984470528
https://t.bilibili.com/983930411453251668
https://t.bilibili.com/983930364230631443
https://t.bilibili.com/983930316969213953
https://t.bilibili.com/983930269705699334
https://t.bilibili.com/983930218199646215
https://t.bilibili.com/983930123652694036
https://t.bilibili.com/983930072156078080
https://t.bilibili.com/983930024915632144
https://t.bilibili.com/983929930379165705
https://t.bilibili.com/983929878839558200
https://t.bilibili.com/983929831645249538
https://t.bilibili.com/983929733075959816
https://t.bilibili.com/983929685599584275
https://t.bilibili.com/983929638350749712
https://t.bilibili.com/983929586787024937
https://t.bilibili.com/983929539596910594
https://t.bilibili.com/983929492340736040
https://t.bilibili.com/983929445085609991
https://t.bilibili.com/983929393568022560
https://t.bilibili.com/983929346292973570
https://t.bilibili.com/983929299055673368
https://t.bilibili.com/983929247508725799
https://t.bilibili.com/983929200271425544
https://t.bilibili.com/983929152994279424
https://t.bilibili.com/983929101497663507
https://t.bilibili.com/983929054212128809
https://t.bilibili.com/983929006977974278
https://t.bilibili.com/983928955462483973
https://t.bilibili.com/983928908183240709
https://t.bilibili.com/983928860938600448
https://t.bilibili.com/983928805100879872
https://t.bilibili.com/983928753573855272
https://t.bilibili.com/983928706345992227
https://t.bilibili.com/983928659114983428
https://t.bilibili.com/983928607572230160
https://t.bilibili.com/983928560318152705
https://t.bilibili.com/983928513086095367
https://t.bilibili.com/983928461510836232
https://t.bilibili.com/983928414300798979
https://t.bilibili.com/983928362761191429
https://t.bilibili.com/983928315531231236
https://t.bilibili.com/983928268233113606
https://t.bilibili.com/983928216732303363
https://t.bilibili.com/983928169487663129
https://t.bilibili.com/983928117918695431
https://t.bilibili.com/983928070695026741
https://t.bilibili.com/983928023443046409
https://t.bilibili.com/983927971879321607
https://t.bilibili.com/983927924676624407
https://t.bilibili.com/983927877430935556
https://t.bilibili.com/983927825874550800
https://t.bilibili.com/983927778603696153
https://t.bilibili.com/983927727065137177
https://t.bilibili.com/983927679833079813
https://t.bilibili.com/983927632574808071
https://t.bilibili.com/983927581068754949
https://t.bilibili.com/983927533792657433
https://t.bilibili.com/983927482513096704
https://t.bilibili.com/983927435054546963
https://t.bilibili.com/983927383514939431
https://t.bilibili.com/983927336274493460
https://t.bilibili.com/983927288979521545
https://t.bilibili.com/983927237445156903
https://t.bilibili.com/983927190241411091
https://t.bilibili.com/983927142951682055
https://t.bilibili.com/983927091457163284
https://t.bilibili.com/983927044185260040
https://t.bilibili.com/983926992662429717
https://t.bilibili.com/983926945413595177
https://t.bilibili.com/983926893873987607
https://t.bilibili.com/983926846652416000
https://t.bilibili.com/983926799399387138
https://t.bilibili.com/983926747812593672
https://t.bilibili.com/983926700623527943
https://t.bilibili.com/983926653335896069
https://t.bilibili.com/983926601783705622
https://t.bilibili.com/983926554551648261
https://t.bilibili.com/983926507318542353
https://t.bilibili.com/983926455797809161
https://t.bilibili.com/983926408512274440
https://t.bilibili.com/983926356994686998
https://t.bilibili.com/983926309755289601
https://t.bilibili.com/983926258192613379
https://t.bilibili.com/983926210975236112
https://t.bilibili.com/983926159444017187
https://t.bilibili.com/983926112213008407
https://t.bilibili.com/983926064956833792
https://t.bilibili.com/983926013375283271
https://t.bilibili.com/983925966148468737
https://t.bilibili.com/983925914614104067
https://t.bilibili.com/983925867387289625
https://t.bilibili.com/983925815834050566
https://t.bilibili.com/983925768615624705
https://t.bilibili.com/983925717046657025
https://t.bilibili.com/983925669776850967
https://t.bilibili.com/983925618265554947
https://t.bilibili.com/983925571030351893
https://t.bilibili.com/983925519499132935
https://t.bilibili.com/983925472208355337
https://t.bilibili.com/983925420709642290
https://t.bilibili.com/983925373429350406
https://t.bilibili.com/983925326202535939
https://t.bilibili.com/983925274677608483
https://t.bilibili.com/983925175905943559
https://t.bilibili.com/983925128605728792
https://t.bilibili.com/983925081390448646
https://t.bilibili.com/983925029845598246
https://t.bilibili.com/983924982627172371
https://t.bilibili.com/983924935362609158
https://t.bilibili.com/983924883852361731
https://t.bilibili.com/983924836584652800
https://t.bilibili.com/983924785066016791
https://t.bilibili.com/983924737815085059
https://t.bilibili.com/983924686227243012
https://t.bilibili.com/983924639030837254
https://t.bilibili.com/983924591785148424
https://t.bilibili.com/983924540241346579
https://t.bilibili.com/983924492997754884
https://t.bilibili.com/983924445734240259
https://t.bilibili.com/983924394171564038
https://t.bilibili.com/983924346951041031
https://t.bilibili.com/983924295427162131
https://t.bilibili.com/983924248178327554
https://t.bilibili.com/983924200943124487
https://t.bilibili.com/983924149400371205
https://t.bilibili.com/983924102168313881
https://t.bilibili.com/983924050572083202
https://t.bilibili.com/983924003353657350
https://t.bilibili.com/983923951801466898
https://t.bilibili.com/983923904805339141
https://t.bilibili.com/983923857323720709
https://t.bilibili.com/983923805806133249
https://t.bilibili.com/983923758558347268
https://t.bilibili.com/983923706982039574
https://t.bilibili.com/983923659782488083
https://t.bilibili.com/983923612525264899
https://t.bilibili.com/983923560953151541
https://t.bilibili.com/983923513731579911
https://t.bilibili.com/983923466504765447
https://t.bilibili.com/983923414960963637
https://t.bilibili.com/983923367693254660
https://t.bilibili.com/983923320457003013
https://t.bilibili.com/983923268932075541
https://t.bilibili.com/983923221687435264
https://t.bilibili.com/983923170100641817
https://t.bilibili.com/983923122902138896
https://t.bilibili.com/983923075615555607
https://t.bilibili.com/983923024118939656
https://t.bilibili.com/983922976878493697
https://t.bilibili.com/983922929638047746
https://t.bilibili.com/983922878085857304
https://t.bilibili.com/983922830834925576
https://t.bilibili.com/983922783591333896
https://t.bilibili.com/983922684772483112
https://t.bilibili.com/983922633260138529
https://t.bilibili.com/983922585985089545
https://t.bilibili.com/983922538783440900
https://t.bilibili.com/983922487251173400
https://t.bilibili.com/983922439986610192
https://t.bilibili.com/983922392716804104
https://t.bilibili.com/983922341201313809
https://t.bilibili.com/983922293984985121
https://t.bilibili.com/983922246738247700
https://t.bilibili.com/983922195194445845
https://t.bilibili.com/983922147902619653
https://t.bilibili.com/983922100653785089
https://t.bilibili.com/983922049114177577
https://t.bilibili.com/983922001903091713
https://t.bilibili.com/983921950362435639
https://t.bilibili.com/983921903118843925
https://t.bilibili.com/983921851601256471
https://t.bilibili.com/983921804337741844
https://t.bilibili.com/983921757084712964
https://t.bilibili.com/983921705561882647
https://t.bilibili.com/983921658308853763
https://t.bilibili.com/983921606777634850
https://t.bilibili.com/983921559536140297
https://t.bilibili.com/983921512248508419
https://t.bilibili.com/983921460727775284
https://t.bilibili.com/983921413474746390
https://t.bilibili.com/983921366251077632
https://t.bilibili.com/983921314677915671
https://t.bilibili.com/983921267478364168
https://t.bilibili.com/983921215907299352
https://t.bilibili.com/983921168679436297
https://t.bilibili.com/983921121429553155
https://t.bilibili.com/983921069890994183
https://t.bilibili.com/983921022659985409
https://t.bilibili.com/983920975404859392
https://t.bilibili.com/983920876618514436
https://t.bilibili.com/983920829360242711
https://t.bilibili.com/983920777832169495
https://t.bilibili.com/983920730587529218
https://t.bilibili.com/983920679023804480
https://t.bilibili.com/983920631808524291
https://t.bilibili.com/983920584560738307
https://t.bilibili.com/983920533037907985
https://t.bilibili.com/983920485752373253
https://t.bilibili.com/983920434251563045
https://t.bilibili.com/983920387004825621
https://t.bilibili.com/983920339758088198
https://t.bilibili.com/983920288206946354
https://t.bilibili.com/983920240981180425
https://t.bilibili.com/983920193688305669
https://t.bilibili.com/983920142185398296
https://t.bilibili.com/983920094954389505
https://t.bilibili.com/983920047714992134
https://t.bilibili.com/983919996126101559
https://t.bilibili.com/983919948923404328
https://t.bilibili.com/983919901658841094
https://t.bilibili.com/983919850115039250
https://t.bilibili.com/983919802862010372
https://t.bilibili.com/983919751339180064
https://t.bilibili.com/983919704107122695
https://t.bilibili.com/983919656834170886
https://t.bilibili.com/983919605324972034
https://t.bilibili.com/983919558037340180
https://t.bilibili.com/983919510791651346
https://t.bilibili.com/983919459273015321
https://t.bilibili.com/983919412042006552
https://t.bilibili.com/983919364800512006
https://t.bilibili.com/983919313485299720
https://t.bilibili.com/983919265981661224
https://t.bilibili.com/983919218777915395
https://t.bilibili.com/983919167224676373
https://t.bilibili.com/983919119956967426
https://t.bilibili.com/983919068462448645
https://t.bilibili.com/983919021210468355
https://t.bilibili.com/983918973921787907
https://t.bilibili.com/983918922411540481
https://t.bilibili.com/983918875166900260
https://t.bilibili.com/983918827912822802
https://t.bilibili.com/983918776381603842
https://t.bilibili.com/983918729110749185

同 258048 一样,也是四个加密字符用一次,每个 4032 之后也都会有一个固定数 6,也同样会在 v(另一个“内存”数组)中取一个值。那么类比 258048,上图中的下一次运算应该是 256 >> 6 = 4,对上了!

我们找出所有的像 4032 与 6,这样的数:

也就是说 v 中取一个值是我们下一个目标,OK,现在让我们去代理日志中看看 v 中的值是从哪里来的,随便在代理日志中找一个 v 中取出来的值,全局搜索,找到这个数第一次生成的位置:

你可能会说:等等,你怎么知道那个值是从 v 中取出来的,如果你单步跟一跟的话就不会问这样的问题了。v 中取出来的值必然会和 258048 这样的值做运算,并且另一个重大发现是一组只用到了一个 v 中的值,等等等,让我们好好捋一捋,也就是说,a-bous 的第一层加密是:四个为一组,每组的运算流程相同,但每组需要一个不同的值来运算。

恭喜你想到这里,就已经破解了 a-bous 的第一层加密,接下来只要照葫芦画瓢,也就是流程概述-6,以纯算的王者之资通杀所有的 jsvmp!

因为本文的重点在于介绍纯算 jsvmp 的套路,而不是过掉 a-bous 这么一个小小的参数,所以花了很多篇幅与笔墨尽可能地去讲清这个流程的所有细节。与其说我带大家过一遍 a-bous 算法的全部逆向过程,不如大家自己动手,尝试一下。

没错,本文就写到这里了,因为实在很长了,相信能读到这里的人都会有点意犹未尽的感觉,我的建议是 have a try!

开始最好不要挑战 a-bous 这种很有难度的纯算,可以先试试 xx 音乐,等有了自己体会后,相信 jsvmp 是拦不住你的。

三、未来工作
1.其实代理脚本还可以加上“指令”也就是这里的 m:

一是在代理日志中可以有额外的信息用来筛选;二是:“指令”m 本身就蕴含着指令信息,可以帮助我们更好的分析,但我还没想好要怎么改,如果你有好的想法欢迎和我讨论。

2.相信大家实操一下就会觉得,在观察代理日志的时候会有些费眼睛,其实可以训练一个小型的神经网络来代替,输入一段加密字符串的日志,这个其实可以用但问题是用 transformer 训练的话,每一行都进行 tokenization,内存实在吃不消,其实也没必要这样做,有点杀鸡用牛刀的感觉。我现在有两个思路:一是取一些关键信息如:每行日志的长度、每个加密字符隔了多少行,get 还是 set 句柄,下标为多少,这样的边角信息去做,因为我们也是通过这些观察的;二是微调开源的 Bret,用人家已经训练好的模型抽特征,最后加一个分类头。


唠叨的甘蔗
1 声望0 粉丝