本文主要是介绍某茄小说 a_bogus 逆向之JSVMP扣取,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
逆向网址
aHR0cHM6Ly9mYW5xaWVub3ZlbC5jb20v
逆向链接
aHR0cHM6Ly9mYW5xaWVub3ZlbC5jb20vcmVhZGVyLzcwODE1NDA1ODAwOTM3MjU3Mjc/ZW50ZXJfZnJvbT1yZWFkZXI=
逆向接口
aHR0cHM6Ly9mYW5xaWVub3ZlbC5jb20vYXBpL3JlYWRlci9kaXJlY3RvcnkvZGV0YWls
逆向过程
请求方式:GET
逆向参数
msToken LJldD3EAeem1rBinemOX8ffIy5UeqwnuEgd726-d_YUO8cmT0o2xctjNSQ1tMdlJXmUpe6pRSeB9kAQ0-QZW2BSsKnQJtTdW62ma2XaDuBLwkZjC_KuSwBHguRYjlg%3D%3D --- cookie中提取即可
a_bogus x74d6OgcMsm13jvOLhkz9tvm31S0YW5FgZEz5QwOHtLr
过程分析
根据XHR断点方式可快速进入发包内容
再次跟栈找到位置打条件断点
之前断点均可取消。定位到此处后进行跟栈.....
可疑位置
输出几次 a_bogus 长度后发现为 44
那么可加条件断点
即可发现变量 【b】值即是需要得 a_bogus
快速进入 【s】内部
拾取代码
u = function e() {var r = e._v;return (0, e._u)(r[0], arguments, r[1], r[2], this)
}
刨析
(0, e._u)(r[0], arguments, r[1], r[2], this)等价于e._u( r[0], arguments, r[1], r[2], this )
那么这里就相当于调取得 e 得 _u 方法
快速进入 _u 方法内
扣取代码
将该文件全部复制,另存文件备用
调试几轮之后发现该处得【u】就是我们需要得类 【s】。
方法导出
可将【u】导出后使用 _util
参数分析
(b = s.apply(l, u), p[++d] = b)
【l】为 null
【u】为传入参数
[0,1,14,"msToken=yQHIh_zMD8aBUiRc2oemfuXjfXNp6z60MoBzPv7qXw4my-DCr2SWWUfrZdpvAT7Q5q9z03Vusdk5EcYzTpHUjFtl9DghtU51wb3i6F92Ohodh37w4-Ee","{\"did\":\"\",\"uid\":\"\",\"id_list\":\"522\",\"extra\":\"{}\"}","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
]
重新改写
var u = [0,1,14,"msToken=R8LCFFqEiCNSQAFkbjiv4rAbC4Fd8cDeuyLQ44fgtWBM3cLz1S8f6R-9jQoefSWDJ9q_MBd6-WtAx4AozEWHyT89vI-FngxQmL1Z08OePGqTtpJWDwh7dFAirAPZxg%3D%3D","{\"did\":\"\",\"uid\":\"\",\"id_list\":\"522\",\"extra\":\"{}\"}","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
]function getABogus(){var r = _util._v;return _util._u( r[0], arguments, r[1], r[2], null );}var str = getABogus( u[0], u[1], u[2], u[3], u[4], u[5] );
console.log( str, str.length );
这篇关于某茄小说 a_bogus 逆向之JSVMP扣取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!