前言
该逆向主要运用到的技术有AST解混淆,MD5魔改算法加密参数,使用的是eval()方法,需要解决签名认证即可进行逆向
声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关。
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除,请各位自觉遵守相关法律法规。
JS逆向
- 逆向目标:云汉某某
- 逆向参数:p
对该参数直接进行搜索params.p
进行控制台查看位置对不对,发现window.i即为我们所需要的加密参数位置
正常window对象不会有i属性,这里将i属性添加到了window里面
由此我们可以确定该加密为方法加密,对其进行hook技术,对象里面的属性应该怎样hook呢?
hook Object.defineProperty
使用hook技术,个人推荐这里下载一个工具v_jstools进行插件hook
顿住之后我们进行跟栈
可以认为该位置为MD5,全扣,然后进行补环境即可
但是完成这一部分后,其实这个网站还没有解决
还需要对a:的明文进行解决,目前只是解决了方法
然后对该位置继续跟栈分析
到这一步后,发现该部分是eval()方法进行传参,前面部分是方法没必要管,看后面的参数部分是怎么进行赋值的,全局对_0x32b052进行搜索,找到参数赋值的位置
就是前面拼接一个时间戳,后面从window里面进行取值,然后看一下这个方法
然后对_0x47d2e6进行hook,进行跟栈
_0x2db1ae解决这个参数即可获得明文值,直接进行搜索该参数,并且都打上断点进行调试(或者可以直接进行解混淆进行处理)
对这一部分进行扣JS然后逆向即可
写在最后:
本人写作水平有限,如有讲解不到位或者讲解错误的地方,还请各位大佬在评论区多多指教,共同进步.如有需要代码和讲解交流,可以加本人微信18847868809