JS逆向|记一次某滑块参数的加密定位

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!

好久没写加密定位的文章了,今天来写写,内容比较简单,大佬们请飘过。

01

参数查找

打开网站,并滑动滑块,查找接口,看到如下的加密参数:

我们来看看这个 acToken的加密位置在哪里。

使用快捷键 Ctrl +Shift + F 唤出全局定位的窗口,我们知道在JavaSscript语言中,有两种赋值方式,分别是 

a = b;

  

以及:

a : b

  

由于全局搜索的在未格式化的源代码中搜索,因此需要去掉空格,先搜索

acToken=

  

注意不要空格,没有搜索到任何结果:

那再试试:

acToken:

  

这些搜到了:

只有一个文件有结果,那太棒了,省去了不少时间。双击下面的代码,跟进去:

这个时候,我们在Find窗口,输入 acToken: 看到有4个匹配的结果

注意搜索这里  acToken与: 之间要不要空格看你浏览器版本,我更新了最新版的谷歌浏览器,不需要空格了。之前一直要的,比较坑。

在找到的四个位置,分别打上断点,再进行一次滑块的滑动动作,停到了断点位置:

看到 acToken的值已经生成了,而且是通过参数传递进来的,那更好办了,直接跟堆栈吧。

这就是 acToken了, 不过你会发现你追不下去了,因为t是在上面定义的:

var t = this;

  

既然追不下去,那我们搜索 _arg 看看它是哪里赋值的:

还挺好搜的,一搜就搜到,啥也不说了,在这里打断点,然后清除掉其它的断点,重新来过吧。注意,按下F8后,会停在你刚打的断点上面:

这时看到 e 的值是 undefined,与 acToken 的值不匹配,那就一路F8,没有停到断点的时候,再次滑动滑块:

可以看到 _arg 的值已经生成了。跟堆栈:

跟到这里,形参 t 的值已生成,继续往上跟,跳到了另外一个文件,来到了这里:

在浏览器的控制台上输出实参看看值:

这样的找找了加密的位置。

02


Reres插件映射快速定位

还好这个网站在打上断点后按几次F8就不在停下了,有些网站需要动不动就停到断点处,根本无法进行一下步调试。所以我想到了一个比较笨的办法应对这种情况.

1.首先把该文件(actoken加密)的所有的代码赋值下来,并保存为UTF-8格式。

2.添加判断,并设置debugger:


   
  1. resolve: function(e) {
  2. if (typeof e === 'string' && e.indexOf('9ca') !== -1)
  3. {
  4. debugger;
  5. }
  6. this._state === o && (e instanceof Error ? this._state = l : this._state = a,
  7. this._arg = e,
  8. this._emit(this._state))
  9. },

不过这么做有个缺陷,就是e的值前面几位必须固定。

3.使用Reres插件进行映射。很快就停到了debugger的位置:

好了,文章就写到这里了。方法千万种,选择最适合你的就好。

文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq523176585/article/details/109508043

(完)