专栏首页咸鱼学PythonJS逆向 | 这段JS混淆的样子像极了爱情。

JS逆向 | 这段JS混淆的样子像极了爱情。

来咯来咯~这次真的来喽!

咸鱼练手第二弹。

最近风声略紧,咸鱼在这声明:

本公众号所有文章仅供技术交流未经许可严禁转载,且本公众号发布的内容不得用于非法用途,如有侵权,请后台联系咸鱼删除文章。

分析请求

老规矩先抓包,在xhr标签下等了半天没发现有异步请求,不过很快在一番骚操作下。

在Html页面请求里找到了下面的东西:

以我多年的经验来看,这个应该是把页面上展现的属性内容加密,页面展示的时候再按照某种解密的逻辑还原并展示的,就属这种麻烦。

定位加密

说他麻烦果然定位加密定位了20多分钟还没找到,感觉超出了我的能力范围。

为了能够愉快的摸 ( la ) 鱼( shi ) 不再烦恼,所以我决定今天就先到这。

本文完。

摸鱼

摸鱼

不过还好在带薪摸 ( la ) 鱼( shi ) 的过程中,我突然有了新想法,想到之前一直忽略的点。

我先捋一捋思路:

这段加密的信息在页面展示一定有一个位置标识解密之后展示的位置,在页面密文上面展示的位置正好有一个id(全局唯一),如果猜的没错的话那事情就简单多了。

于是,搜就完事儿了,结果并发现没找到想象中的js文件。

遂,猝

不过在这个页面里找两个equip_desc_panel, 赶紧跟进去看看, 发现下面这段代码:

 $("equip_desc_panel").innerHTML = parse_style_info(get_equip_desc("equip_desc_value"));

下意识再搜了一次:

果然找到了这个看着就很像加密的东西,打上断点,刷新一下,成功进入断点。

这个定位加密的过程虽然曲折且还有点味道,但是事实告诉我们:

带 薪 摸 ( la ) 鱼 ( shi )

有助于灵感迸发

分析加密

既然成功进入断点,先追进去看看:

这段经过混淆的代码就是我们要分析的加密了。

这段混淆初看有点头大,不过混淆的方式之前一篇文章也有提过,感兴趣的朋友可以翻翻看。

点我 -----> JS逆向常见混淆总结

了解了混淆的方式之后,先平复下心情,解这种看着很像的东西最怕烦躁。

先从头逐步执行,并观察传入的值,顺带把代码复制一份并把代码里

_0x1b3f48['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74']

这样的方法名翻译成正常的js代码便于理解,了解完大概解密流程,理清我们最终需要的值是怎样生成的。

之后就是老套路缺啥找啥的阶段,不过扣代码的过程有两个坑点:

在扣代码的时候,明明整体逻辑已经扣好了,但是不返回任何值,通过打印调试发现这段代码里_0x1b3f48返回的是null值,以至于下面的for循环没有结果,所以需要特别注意。

还有就是在浏览器中base64编码转换使用的是

_0x1c0cdf = _0xcbc80b['atob'](_0x1c0cdf),

但是在nodejs调试的时候使用的是

Buffer.from(_0x1c0cdf,"base64").toString()

经过一番不懈的努 ( tu ) 力 ( tou ) ,成功得到结果。

全文完。

本文分享自微信公众号 - 咸鱼学Python(xianyuxuepython),作者:煌金的咸鱼

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python爬虫进阶必备 | X薯中文网加密分析

    经过查看请求,并没有请求的加密参数,但是响应的内容却不正常,许多文字在响应中都变成了 span 标签【图1-2】

    咸鱼学Python
  • Python爬虫进阶必备 | 某电竞加密参数分析( 什么花里胡哨,三行代码完成加密)

    使用 xhr 断点只要分析堆栈肯定可以找到这个参数生成的地方,不过很麻烦,建议当你没办法通过检索参数名找到加密位置的线索的时候再使用 xhr 断点。【图1-2】

    咸鱼学Python
  • 实战案例浅析JS加密 - 基础总结篇

    找了一圈发现越是大厂加密越是简单,安全防护之类的完全不靠js加密,扫码登陆才是关键。比如微信公众号平台的登陆加密就是简单的MD5,但人家有扫码登陆,此类情况比比...

    咸鱼学Python
  • 如何从 0 到 1 搭建性能检测系统(修正版)

    本文首发于政采云前端团队博客:如何从 0 到 1 搭建性能检测系统 https://www.zoo.team/article/performance-testi...

    政采云前端团队
  • 自动化 Web 性能优化分析方案

    在构建 Web 站点的过程中,任何一个细节都有可能影响网站的访问速度。如果开发人员不了解前端性能相关知识,很多不利网站访问速度的因素会在线上形成累加,从而严重影...

    政采云前端团队
  • 自动化 Web 性能优化分析方案

    在构建 Web 站点的过程中,任何一个细节都有可能影响网站的访问速度。如果开发人员不了解前端性能相关知识,很多不利网站访问速度的因素会在线上形成累加,从而严重影...

    前端迷
  • 1.2.4、 Google Analytics测试

    1.Assistant 在配置完后,需要检查跟踪代码是否部署正确,可以用Tag Assistant去检查。这个检测工具只能在Chrome浏览器上使用,你需要在C...

    GA小站
  • 别打了别打了,天上无人机看着呢 | AI分析暴力姿势

    天空之眼 (Sky In the Eye) ,不只是斯内普教授的遗作,也是一组研究人员为自己的新论文,选定的题目。

    量子位
  • 2020年搞深度学习需要什么样的GPU:请上48G显存

    众所周知,当今业界性能最强(SOTA)的深度学习模型都会占用巨大的显存空间,很多过去性能算得上强劲的 GPU,现在可能稍显内存不足。在 lambda 最新的一篇...

    机器之心
  • 【Mockplus教程】分组

    为了更好的管理和组织多个页面,可以选择将页面分组。 选择多个页面,然后使用右键点击后,在弹出的菜单中选择“将页面归类到新分组”。 完整演示如下: ?

    奔跑的小鹿

扫码关注云+社区

领取腾讯云代金券