一篇踩坑及自我科普js逆向文,登陆密码的逆向解密分析过程,同时顺带科普了一系列js逆向过程的js报错处理方法,密码加密每次都是不一样,非固定的,跟着步骤很容易找到及实现。
网址:
aHR0cHMlM0EvL2ZlbmJpLmNvbS9wYWdlL2hvbWU=
密码加密特征:
每次登陆密码加密字符串都是不一样,也就是说每次加密的密码都不一样,随机加密,但加密函数是同一个。
2.使用错误的登陆账号信息登陆,密码还是老演员123456
3.登陆状态显示,获得加密密码
4.老规矩搜索关键字 password
5.打开关键js文件,格式化js
6.继续搜索关键字 password
7.找到关键位置,加上符号,搜索发现三处位置
8.都打上断点,调试,注意不用刷新,直接点击登录即可调试
9.登陆调试,结果出来了
10.关键位置函数查看
var n = {
password: this.encrypt(this.password),
persistent: !0,
app: "web"
};
11.加密函数
12.关键参数
13.嵌套的加密函数
14.整个js文件全部抠出
js调试效果
几个需要注意的地方:
1.未声明报错
window is undefine navigator is not defined
var window = {}
var navigator = {}
2.{} is not a function
(function(av) {前加上!
使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数。也就是说,任何能将函数变成一个函数表达式的作法,都可以使解析器正确的调用定义函数。而 ! 就是其中一个,而 + - || 都有这样的功能。
声明
本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系立即删除!
参考来源:
Python爬虫进阶必备 | X笔网密码加密分析-咸鱼学python
https://mp.weixin.qq.com/s/-KzAhBZpH0cbD-scMg2W4A
【JS】1645- 探索在 JS 中,为什么要在函数前面加!-pingan8787
https://blog.csdn.net/qq_36380426/article/details/129980166
本文分享自 Python与SEO学习 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!