声明:
 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
 有相关问题请第一时间头像私信联系我删除博客!
 
前言
简单分析 reese84
逆向过程
Reese84
首先我是补环境的。补了大概一天。他是一个异步流程所以只能写入文件然后设个定时任务去哪,或者开服务器。这一思路也是借鉴网上一个大佬的思路。弄的。主要代码。
部分补环境代码
Worker = function(){}
WebAssembly = function(){}
WebAssembly.compile = function(){}
WebAssembly.instantiate = function(){}
Storage = function(){}
performance = {"timeOrigin": 1728479087641.3,"timing": {"connectStart": 1728479087661,"secureConnectionStart": 0,"unloadEventEnd": 1728479088182,"domainLookupStart": 1728479087661,"domainLookupEnd": 1728479087661,"responseStart": 1728479088129,"connectEnd": 1728479087661,"responseEnd": 1728479088363,"requestStart": 1728479087684,"domLoading": 1728479088207,"redirectStart": 0,"loadEventEnd": 0,"domComplete": 0,"navigationStart": 1728479087641,"loadEventStart": 0,"domContentLoadedEventEnd": 1728479091476,"unloadEventStart": 1728479088178,"redirectEnd": 0,"domInteractive": 1728479089417,"fetchStart": 1728479087661,"domContentLoadedEventStart": 1728479091476},"navigation": {"type": 1,"redirectCount": 0}
}
performance.now = function(){return 4444.8888
}
File = function(){lastModified=new Date();this.lastModified=lastModified.getTime();this.lastModifiedDate= lastModified.toISOString();this.name=""this.size=0this.type=""this.webkitRelativePath=""
}
setTimeout = function(a,b){if(b<5){a()}}
setInterval_ = window.setInterval
setInterval = function(a,b){if(b<5){a()}else{return setInterval_.apply(this,arguments)}
}
DocumentTimeline = function(){this.currentTime=1277743.19this.duration=null
}
PerformanceObserver = function(){}
PerformanceObserver.supportedEntryTypes = ["element","event","first-input","largest-contentful-paint","layout-shift","long-animation-frame","longtask","mark","measure","navigation","paint","resource","visibility-state"
]
Audio = function(){}
Audio.prototype.canPlayType = function(a){if(a == 'video/mp4; codecs="avc1.42E01E"'){return 'probably'}return ""
} 
太多了就不全部贴出来了。大概有3000行左右。
结果
