声明:
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!q 2766958292
前言:
明天开始学习ios逆向,今天把携程重新弄一下,之前那个用框架实现的毕竟不是亲手完成的。后面试了一下用一步步补发现前缀一直是10002后面改用jsdom发现前缀确实正确了,但是排查了很多地方,也debug尝试了把框架输出的值和本地对比发现基本一致搞了2小时终于发现了问题下面听说细说。
1.逆向过程
1.1. 补环境
这是开头。下面的随便加点就行了。
html = <!DOCTYPE html><p>Hello world</p>
;
const dom = new JSDOM(html, {
url: '#',
cookieJar: cookieJar,
pretendToBeVisual: true,
referrer: '#',
contentType: 'text/html',
// resources: resourceLoader,
});
delete __filename
delete __dirname
delete global
// window
window = dom.window;
window.GlobalSearchCriteria={}
window.Groza=""
window.origin = ####
1.2.bug排查
debug这两个地方发现检测了process还有window。本来以为就要好了结果还是不行。最后发现是ua检测了果然往往最简单的细节是最难引起注意到。把navigator全部补上就好了替换jsdom。
opt=Object.prototype.toString
Object.prototype.toString=function toString(){
temp=opt.apply(this,arguments)
return temp
};this.func_set_natvie(Object.prototype.toString)
fpt=Function.prototype.toString
Function.prototype.toString=function toString(){
temp=fpt.apply(this,arguments)
return temp
};this.func_set_natvie(Function.prototype.toString)
1.3.结果
1.4.总结
1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。
2.细心的应该发现我写文章越来越随意了,因为现实中太忙了。写博客开源单纯为了大四找工作做准备,本意是不想写的太影响一个人的沉淀了。有很多人问我怎么学的一个大学生会这么多有没有付费学习。我统一回复===>没有付费过一分钱,也不确切买过一个知识星球,毕竟白嫖多了买个知识星球对我来说也没什么哈哈。地址知识星球 | 深度连接铁杆粉丝,运营高品质社群,知识变现的工具 (zsxq.com)
3.补环境学习方面用的是boda的框架毕竟他已经补了一个227的环境我直接用现成的就好了,根据自己需要改改环境啥的。一直用框架也没用毕竟别人找你你不可能把框架给他让他跑通代码,所以我注重框架跑一篇然后自己复现一次。xuxiaobo-bobo/boda_jsEnv: js补环境框架 (github.com)
4.明天手机到了就学ios逆向,我本来打算先安卓的但是我姐还在帮我找安卓手机所以直接跳过了安卓先了,直接ios最后大家共勉溜了。
wx a15018601872
q 2766958292
仅用于学习交流