js 逆向系列 03-常见加解密二

admin 2024年2月21日10:57:26评论21 views字数 532阅读1分46秒阅读模式

在完成基本的调试和加密函数的定位之后,下面要做的就是抠取 js。一般有两种方法:

抠 this 对象不抠 this 对象

不抠对象

先讲第一种,不抠对象。

把 md5 加密函数所在的整个 js 文件复制到 notepad,选择折叠所有层次:

js 逆向系列 03-常见加解密二

找到 md5,根据缩进,仅将 md5:function(t){...}部分取出来,复制到snippets中:

js 逆向系列 03-常见加解密二

删除最后的逗号等,将格式调整好:

js 逆向系列 03-常见加解密二

直接运行会报错函数需要一个函数名:

js 逆向系列 03-常见加解密二

在 js 中,md5:function(t){...}这种形式是无法直接运行的。

js 逆向系列 03-常见加解密二

改为 let md5 = function(t){...},可以看到此时运行不会报错。成功执行:

js 逆向系列 03-常见加解密二

抠对象

跟前面一种方法相比,这里需要往上多抠一级。

js 逆向系列 03-常见加解密二

需要把包含 md5 的对象都复制出来,放到 snippets 中,直接运行:

js 逆向系列 03-常见加解密二

如果是全局变量(例如 [xxx =]只有一处),可以直接把整个 js 拿出来直接运行。成功拿到加密数据。虽然复制的内容较于第一种较多,但是无需改动代码。

对于一个加密的网站,在进行基本的调试,定位之后,找到加密函数,并且将关键js代码抠取出来放到本地运行,再将自己的明文通过加密函数加密,传值到服务器,至此基本的js逆向流程就已经结束。

原文始发于微信公众号(Crush Sec):js 逆向系列 03-常见加解密二

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月21日10:57:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   js 逆向系列 03-常见加解密二http://cn-sec.com/archives/2511214.html

发表评论

匿名网友 填写信息