声明:
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
有相关问题请第一时间头像私信联系我删除博客!
前言
简单分析 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=0 this.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.19 this.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行左右。