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:
-
resolve: function(e) {
-
if (typeof e === 'string' && e.indexOf('9ca') !== -1)
-
{
-
debugger;
-
}
-
this._state === o && (e instanceof Error ? this._state = l : this._state = a,
-
this._arg = e,
-
this._emit(this._state))
-
},
不过这么做有个缺陷,就是e的值前面几位必须固定。
3.使用Reres插件进行映射。很快就停到了debugger的位置:
好了,文章就写到这里了。方法千万种,选择最适合你的就好。
文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq523176585/article/details/109508043
- 点赞
- 收藏
- 关注作者
评论(0)