diff --git a/抖音js逆向学习/pc_抖音破解/node/_ac_signature.js b/抖音js逆向学习/pc_抖音破解/node/_ac_signature.js index 3e86713..341a669 100644 --- a/抖音js逆向学习/pc_抖音破解/node/_ac_signature.js +++ b/抖音js逆向学习/pc_抖音破解/node/_ac_signature.js @@ -1,3 +1,7 @@ +Date.prototype.getTime = function () { + return 1 +}; + var module_a = module var exports = undefined , module = undefined @@ -23,23 +27,87 @@ var MimeType = { }; MimeType[Symbol.toStringTag] = "MimeType"; var navigator = { - plugins: { - 0: { - 0: MimeType, - name: "Native Client", - length: 2, - filename: "internal-nacl-plugin", - description: "", - length: 1 - } - }, - webdriver: false, - userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36", - languages: ["zh-CN", "zh"], appCodeName: "Mozilla", appName: "Netscape", - appVersion: "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36", - platform: "Win32" + appVersion: "5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + clipboard: {}, + cookieEnabled: true, + credentials: {}, + deviceMemory: 8, + doNotTrack: null, + geolocation: {}, + gpu: {}, + hardwareConcurrency: 12, + hid: {onconnect: null, ondisconnect: null}, + ink: {}, + keyboard: {}, + language: "zh-CN", + languages: ['zh-CN', 'zh', 'en'], + locks: {}, + managed: {onmanagedconfigurationchange: null}, + maxTouchPoints: 0, + mediaCapabilities: {}, + mediaDevices: {ondevicechange: null}, + mediaSession: {metadata: null, playbackState: 'none'}, + mimeTypes: { + 0: {type: 'application/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 1: {type: 'text/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 'application/pdf': {type: 'application/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 'text/pdf': {type: 'text/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + length: 2 + }, + onLine: true, + pdfViewerEnabled: true, + permissions: {}, + platform: "Linux x86_64", + plugins: { + 0: {type: 'application/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 1: {type: 'text/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 2: {type: 'text/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 'application/pdf': {type: 'application/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 'text/pdf': {type: 'text/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 'description': "Portable Document Format", + 'filename': "internal-pdf-viewer", + 'length': 2, + 'name': "PDF Viewer", + }, + presentation: {defaultRequest: null, receiver: null}, + product: "Gecko", + productSub: "20030107", + scheduling: {}, + serial: {onconnect: null, ondisconnect: null}, + serviceWorker: { + controller: {scriptURL: 'https://www.douyin.com/sw.js', state: 'activated', onstatechange: null, onerror: null}, + ready: Promise, + oncontrollerchange: null, + onmessage: null, + onmessageerror: null + }, + storage: {}, + usb: {onconnect: null, ondisconnect: null}, + userActivation: {hasBeenActive: true, isActive: false}, + userAgent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + userAgentData: {brands: Array(3), mobile: false, platform: 'Linux'}, + vendor: "Google Inc.", + vendorSub: "", + virtualKeyboard: { + boundingRect: { + bottom: 0, + height: 0, + left: 0, + right: 0, + top: 0, + width: 0, + x: 0, + y: 0 + }, overlaysContent: false, ongeometrychange: null + }, + wakeLock: {}, + webdriver: false, + webkitPersistentStorage: {}, + webkitTemporaryStorage: {}, + windowControlsOverlay: {visible: false, ongeometrychange: null}, + xr: {ondevicechange: null} }; navigator.plugins[0]["application/x-nacl"] = MimeType; navigator.plugins[0].__proto__.item = function item() { @@ -96,18 +164,24 @@ getContext_.__proto__.getParameter = function getParameter(x) { } ; var location = { - href: "https://www.douyin.com/", - toString: function() { - return location.href - }, - protocol: "https:" + "ancestorOrigins": {}, + "href": "https://www.douyin.com/search/%E5%A4%A7%E9%9D%92%E9%9D%92?aid=e677f38c-3c8e-4773-89b1-272b9a7dc219&source=normal_search&type=user", + "origin": "https://www.douyin.com", + "protocol": "https:", + "host": "www.douyin.com", + "hostname": "www.douyin.com", + "port": "", + "pathname": "/search/%E5%A4%A7%E9%9D%92%E9%9D%92", + "search": "?aid=e677f38c-3c8e-4773-89b1-272b9a7dc219&source=normal_search&type=user", + "hash": "" }; + var document = { createEvent: function createEvent() {}, location: location, cookie: "", vlinkColor: "", - referrer: "https://www.douyin.com", + referrer: "https://www.douyin.com/search/%E5%A4%A7%E9%9D%92%E9%9D%92?aid=e677f38c-3c8e-4773-89b1-272b9a7dc219&source=normal_search&type=user", fgColor: "", dir: "", addEventListener: function addEventListener(x) {}, @@ -119,7 +193,7 @@ document.createElement[Symbol.toStringTag] = "HTMLImageElement"; var history = { length: 1, scrollRestoration: "auto", - state: null + state: {usr: null, key: '1khwc36j', idx: 3} }; var upload = { onabort: null, @@ -301,10 +375,8 @@ XMLHttpRequest.prototype.send = function() { ;for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; return a.apply(this, e) -} -; -XMLHttpRequest.prototype.overrideMimeType = function overrideMimeType() {} -; +}; +XMLHttpRequest.prototype.overrideMimeType = function overrideMimeType() {}; XMLHttpRequest.prototype[Symbol.toStringTag] = "XMLHttpRequest"; var window = { queueMicrotask: queueMicrotask, @@ -1138,6 +1210,7 @@ var glb; "undefined" != typeof console ? console : void 0, "undefined" != typeof PluginArray ? PluginArray : void 0, "undefined" != typeof indexedDB ? indexedDB : void 0, "undefined" != typeof DOMException ? DOMException : void 0, "undefined" != typeof parseInt ? parseInt : void 0, "undefined" != typeof String ? String : void 0, "undefined" != typeof Array ? Array : void 0, "undefined" != typeof Error ? Error : void 0, "undefined" != typeof JSON ? JSON : void 0, "undefined" != typeof Promise ? Promise : void 0, "undefined" != typeof WebSocket ? WebSocket : void 0, "undefined" != typeof eval ? eval : void 0, "undefined" != typeof setTimeout ? setTimeout : void 0, "undefined" != typeof encodeURIComponent ? encodeURIComponent : void 0, "undefined" != typeof encodeURI ? encodeURI : void 0, "undefined" != typeof Request ? Request : void 0, "undefined" != typeof Headers ? Headers : void 0, "undefined" != typeof decodeURIComponent ? decodeURIComponent : void 0, "undefined" != typeof RegExp ? RegExp : void 0]); +console.log([, , "undefined" != typeof exports ? exports : void 0, "undefined" != typeof module ? module : void 0, "undefined" != typeof define ? define : void 0, "undefined" != typeof Object ? Object : void 0, void 0, "undefined" != typeof TypeError ? TypeError : void 0, "undefined" != typeof document ? document : void 0, "undefined" != typeof InstallTrigger ? InstallTrigger : void 0, "undefined" != typeof safari ? safari : void 0, "undefined" != typeof Date ? Date : void 0, "undefined" != typeof Math ? Math : void 0, "undefined" != typeof navigator ? navigator : void 0, "undefined" != typeof location ? location : void 0, "undefined" != typeof history ? history : void 0, "undefined" != typeof Image ? Image : void 0, "undefined" != typeof console ? console : void 0, "undefined" != typeof PluginArray ? PluginArray : void 0, "undefined" != typeof indexedDB ? indexedDB : void 0, "undefined" != typeof DOMException ? DOMException : void 0, "undefined" != typeof parseInt ? parseInt : void 0, "undefined" != typeof String ? String : void 0, "undefined" != typeof Array ? Array : void 0, "undefined" != typeof Error ? Error : void 0, "undefined" != typeof JSON ? JSON : void 0, "undefined" != typeof Promise ? Promise : void 0, "undefined" != typeof WebSocket ? WebSocket : void 0, "undefined" != typeof eval ? eval : void 0, "undefined" != typeof setTimeout ? setTimeout : void 0, "undefined" != typeof encodeURIComponent ? encodeURIComponent : void 0, "undefined" != typeof encodeURI ? encodeURI : void 0, "undefined" != typeof Request ? Request : void 0, "undefined" != typeof Headers ? Headers : void 0, "undefined" != typeof decodeURIComponent ? decodeURIComponent : void 0, "undefined" != typeof RegExp ? RegExp : void 0]); window.byted_acrawler.init({ @@ -1150,7 +1223,7 @@ function get_ac_signature(__ac_nonce){ return __ac_signature } -console.log(get_ac_signature('064cccad700cccb6a98df')) +console.log(get_ac_signature('1')) module_a.exports = { diff --git a/抖音js逆向学习/pc_抖音破解/node/jsvmp_dy.js b/抖音js逆向学习/pc_抖音破解/node/jsvmp_dy.js index 2788058..dbc5bd3 100644 --- a/抖音js逆向学习/pc_抖音破解/node/jsvmp_dy.js +++ b/抖音js逆向学习/pc_抖音破解/node/jsvmp_dy.js @@ -1,19 +1,96 @@ window = global; Date.prototype.getTime = function () { - return 14182940000 -}; - -Math.random = function () { - return 0.8532337990105894 + return 1 }; var navigator = { - userAgent:'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36' + appCodeName: "Mozilla", + appName: "Netscape", + appVersion: "5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + clipboard: {}, + cookieEnabled: true, + credentials: {}, + deviceMemory: 8, + doNotTrack: null, + geolocation: {}, + gpu: {}, + hardwareConcurrency: 12, + hid: {onconnect: null, ondisconnect: null}, + ink: {}, + keyboard: {}, + language: "zh-CN", + languages: ['zh-CN', 'zh', 'en'], + locks: {}, + managed: {onmanagedconfigurationchange: null}, + maxTouchPoints: 0, + mediaCapabilities: {}, + mediaDevices: {ondevicechange: null}, + mediaSession: {metadata: null, playbackState: 'none'}, + mimeTypes: { + 0: {type: 'application/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 1: {type: 'text/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 'application/pdf': {type: 'application/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 'text/pdf': {type: 'text/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + length: 2 + }, + onLine: true, + pdfViewerEnabled: true, + permissions: {}, + platform: "Linux x86_64", + plugins: { + 0: {type: 'application/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 1: {type: 'text/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 'application/pdf': {type: 'application/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 'text/pdf': {type: 'text/pdf', suffixes: 'pdf', description: 'Portable Document Format'}, + 'description': "Portable Document Format", + 'filename': "internal-pdf-viewer", + 'length': 2, + 'name': "PDF Viewer", + }, + presentation: {defaultRequest: null, receiver: null}, + product: "Gecko", + productSub: "20030107", + scheduling: {}, + serial: {onconnect: null, ondisconnect: null}, + serviceWorker: { + controller: {scriptURL: 'https://www.douyin.com/sw.js', state: 'activated', onstatechange: null, onerror: null}, + ready: Promise, + oncontrollerchange: null, + onmessage: null, + onmessageerror: null + }, + storage: {}, + usb: {onconnect: null, ondisconnect: null}, + userActivation: {hasBeenActive: true, isActive: false}, + userAgent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + userAgentData: {brands: Array(3), mobile: false, platform: 'Linux'}, + vendor: "Google Inc.", + vendorSub: "", + virtualKeyboard: { + boundingRect: { + bottom: 0, + height: 0, + left: 0, + right: 0, + top: 0, + width: 0, + x: 0, + y: 0 + }, overlaysContent: false, ongeometrychange: null + }, + wakeLock: {}, + webdriver: false, + webkitPersistentStorage: {}, + webkitTemporaryStorage: {}, + windowControlsOverlay: {visible: false, ongeometrychange: null}, + xr: {ondevicechange: null} }; -var document = { - 'referrer': 'https://www.douyin.com/search/%E5%90%9E%E5%99%AC%E6%98%9F%E7%A9%BA?source=switch_tab&type=user' +var history = { + length: 1, + scrollRestoration: "auto", + state: {usr: null, key: '1khwc36j', idx: 3} }; var location = { @@ -28,6 +105,29 @@ var location = { "search": "?aid=e677f38c-3c8e-4773-89b1-272b9a7dc219&source=normal_search&type=user", "hash": "" }; +var document = { + createEvent: function createEvent() {}, + location: location, + cookie: "", + vlinkColor: "", + referrer: "https://www.douyin.com/search/%E5%A4%A7%E9%9D%92%E9%9D%92?aid=e677f38c-3c8e-4773-89b1-272b9a7dc219&source=normal_search&type=user", + fgColor: "", + dir: "", + addEventListener: function addEventListener(x) {}, + createElement: function createElement(x) { + return canvas + } +}; +document.createElement[Symbol.toStringTag] = "HTMLImageElement"; + +var PluginArray = function PluginArray() {} +var WebSocket = function WebSocket() {} +var Image = function Image() {} +var indexedDB = {} +indexedDB[Symbol.toStringTag] = "IDBFactory"; + + +window['document'] = document var glb; (glb = "undefined" == typeof window ? global : window)._$jsvmprt = function (b, e, f) { @@ -691,6 +791,14 @@ var glb; jsvmp = module.exports; +console.log([, , "undefined" != typeof exports ? exports : void 0, "undefined" != typeof module ? module : void 0, "undefined" != typeof define ? define : void 0, "undefined" != typeof Object ? Object : void 0, void 0, "undefined" != typeof TypeError ? TypeError : void 0, "undefined" != typeof document ? document : void 0, "undefined" != typeof InstallTrigger ? InstallTrigger : void 0, "undefined" != typeof safari ? safari : void 0, "undefined" != typeof Date ? Date : void 0, "undefined" != typeof Math ? Math : void 0, "undefined" != typeof navigator ? navigator : void 0, "undefined" != typeof location ? location : void 0, "undefined" != typeof history ? history : void 0, "undefined" != typeof Image ? Image : void 0, "undefined" != typeof console ? console : void 0, "undefined" != typeof PluginArray ? PluginArray : void 0, "undefined" != typeof indexedDB ? indexedDB : void 0, "undefined" != typeof DOMException ? DOMException : void 0, "undefined" != typeof parseInt ? parseInt : void 0, "undefined" != typeof String ? String : void 0, "undefined" != typeof Array ? Array : void 0, "undefined" != typeof Error ? Error : void 0, "undefined" != typeof JSON ? JSON : void 0, "undefined" != typeof Promise ? Promise : void 0, "undefined" != typeof WebSocket ? WebSocket : void 0, "undefined" != typeof eval ? eval : void 0, "undefined" != typeof setTimeout ? setTimeout : void 0, "undefined" != typeof encodeURIComponent ? encodeURIComponent : void 0, "undefined" != typeof encodeURI ? encodeURI : void 0, "undefined" != typeof Request ? Request : void 0, "undefined" != typeof Headers ? Headers : void 0, "undefined" != typeof decodeURIComponent ? decodeURIComponent : void 0, "undefined" != typeof RegExp ? RegExp : void 0]); + // console.log(jsvmp); +jsvmp.init({ + aid: 99999999, + dfp: 0 +}); + + console.log(jsvmp.sign('', 1));