ob混淆_加速乐逆向学习
声明:本文仅限学习交流使用,禁止用于非法用途、商业活动等。否则后果自负。如有侵权,请告知删除,谢谢!本教程也没有专门针对某个网站而编写,单纯的技术研究
目录
- 案例分析
- 参数分析
- 效果展示
- 代码分享
案例分析
目标案例:aHR0cHM6Ly93d3cubWFmZW5nd28uY24vaS8yMDAxMzk1OC5odG1s
1.难点和接口

参数分析
通过观察可以看到他是前两次请求失败然后成功的,请求成功的需要带上cookie才行,那么我们来看下

第一次请求可以看到他是没有带任何cookie,但是我们可以看到它的返回是有cookie的

在第二次请求时可以看到这里是带有cookie的,那么看下第一次请求可以发现返回了一个set-cookie那么后面那个怎么来的那

我们可以看到在第一次请求是有返回的,这点我们先复制到浏览器上执行看下是什么情况

这里可以看到他就是cookie里面的另一个参数,那么我们用re把这点数据提取出来通过python的execjs中的eval进行执行,然后

这里可以看到第二次请求的cookie都已经拿到了,那么带上cookie进行请求,在第二次请求可以看到他是返回了一些js

我这边通过给空白的地方下断点,给cookie进行清理,我发现怎么清理都进不去

但是我发现可通过清除cookie的时候这里是用变化的通过快速下断点也能进入,或者就是通过fiddler进行替换执行
方案1:

方案2:
通过给加密保存下来,在开始添加一个debugger进行替换然后断点

如这样,我们就进来了

进来并不代表已经完成,因为这里是混淆的,那么我们怎么找到对应的加密参数那,因为我们搜cookie发现没有搜到,那么我们转变思路通过搜它的上一级,document

看到这就是cookie了,知道了位置那么我们就来看参数就行

通过分析发现他是_0x1986b1取的第0个,那么直接搜这个_0x1986b1

这里可以看到它使用的是我们之前go调用里面的字典数据,然后调用的函数


那么这里我们可以改为这样

之前有人问我怎么补代码,那么我们一起来看下,直接执行,然后说我们没有定义,那么我们看浏览器

我们可以看到这个函数就是对应的值,那么我们把它复制下来

这时候发现刚刚的报错已经没有了,那么我们继续补充其他报错即可

我这边是通过先观察后补

我们观察可以直接_0x4d3817就是我们的入参,那么我们直接把入参名字替换,后续的是对入参进行取值然后获取它的长度

可以看到这里是对等的,那么我们可以直接修改代码

可以看到这里是对获取的长度进行循环,这里只是混淆了下,那么我们可以直接还原

我们继续调试发现他是进入的if里面,那么我们是不是可以把else给处理掉,if同理是满足条件的情况,也可以修改

我们通过还原发现,他是进行的运算那么我们把这个函数搞下来,改下名字

那么代码也需要对应修改

你通过多次抓包可以看到这里获取go里面的ha进行的

那么剩下的一个就是一个

进行补充改为函数,那么我们就补完了,本次逆向之旅到这里就结束了,我们下次在见!!!
拜拜!!!

效果展示

代码分享
var _0x3a1c07 = new Date();
CryptoJS = require('crypto-js')var hash = {'md5': function (a) {return CryptoJS.MD5(a).toString()},'sha256': function (a) {return CryptoJS.SHA256(a).toString()}, "sha1": function (a) {return CryptoJS.SHA1(a).toString()}
}function _0x7f1ad(_0x654898, _0x4389de) {return _0x654898 + _0x4389de;
}function _0x7f1ad_(_0x560b33, _0x39e54b) {return _0x560b33 - _0x39e54b;}function _0x1132d7(_0x5cdeb6, _0x334155) {var _0x38cbe2 = _0x4d3817['char' + 's']['leng' + 'th']; // 或者修改成我演示的样子也可for (var _0x203549 = 0x0; _0x38cbe2 > _0x203549; _0x203549++) {for (var _0x17f4e5 = 0x0; _0x17f4e5 < _0x38cbe2; _0x17f4e5++) {var _0xb3d424 = _0x7f1ad(_0x7f1ad(_0x334155[0x0], _0x4d3817['chars']['substr'](_0x203549, 0x1)), _0x4d3817['chars']['substr'](_0x17f4e5, 0x1)) + _0x334155[0x1];if (hash[_0x4d3817['ha']](_0xb3d424) == _0x5cdeb6) {return [_0xb3d424, _0x7f1ad_(new Date(), _0x3a1c07)];}}}
}_0x4d3817 = {"bts": ["1686707967.988|0|uvF", "ZkQVWUyUj6cqAtCSZSjlXo%3D"],"chars": "RmEmknBTVGibwheLEiTnxQ","ct": "feefe5555d86e1c7abe2122add8faab293a415749339b44fac32358e3a0f9106","ha": "sha256","is": true,"tn": "__jsl_clearance_s","vt": "3600","wt": "1500"
}function get_cookies() {var _0x1986b1 = _0x1132d7(_0x4d3817['ct'], _0x4d3817["bts"]);return '__jsl_clearance_s=' + _0x1986b1[0]
}console.log(get_cookies())
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
