声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!q 2766958292
前言
介绍一个入门案例感觉81很适合新手学习。
1.逆向过程
x-zse-81
81加密用到了localStorage,和cookie。所以找到加密位置把cookie,和localStorage补上就可以了。
中间会报错把随机数代码加上。
function generateRandomString(length) {
const characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
let result = '';
const charactersLength = characters.length;
for (let i = 0; i < length; i++) {
result += characters[Math.floor(Math.random() * charactersLength)];
}
return result;
}
x-zse-96
xzse96是把81拿去加密了,需要补一下环境就可以。检测了cookie,canvas,function,tostring基本就这几个点了。随便补补就行了。
2.部分代码加密代码
function get96(keyword,offset,lc_idx,search_hash_id,vertical_info){
if(offset==0){
te=`####?gk_version=gz-gaokao&t=general&q=${encodeURIComponent(keyword)}&correction=1&offset=${offset}&limit=20&filter_fields=&lc_idx=${lc_idx}&show_all_topics=0&search_source=Normal`
}else {
te=`#########?gk_version=gz-gaokao&t=general&q=${encodeURIComponent(keyword)}&correction=1&offset=${offset}&limit=20&filter_fields=&lc_idx=${lc_idx}&show_all_topics=0&search_hash_id=${search_hash_id}&search_source=Normal&vertical_info=${encodeURIComponent(vertical_info)}`
}
b=undefined
tA=d=undefined
tC=sign(80177)['wdfs1']()
c= {
zse93: "101_3_3.0",
dc0: "#####",
xZst81: tC
}
return {'96':_ed(te,b,c,tA),"81":tC}
}
function getUd(){
tT = _ed("#####", undefined, {
zse93:"101_3_3.0",
dc0: null,
xZst81: null
}, undefined)
return tT
}