From 83e148c82cbc8b4e835a808dcf84456975f82a7c Mon Sep 17 00:00:00 2001 From: Ethan O'Brien Date: Thu, 25 Nov 2021 17:22:19 -0600 Subject: [PATCH] Fix RAR unarchiving --- data/emulator.js | 27 +++++++++++++-------------- data/libunrar.js.mem | Bin 0 -> 63072 bytes 2 files changed, 13 insertions(+), 14 deletions(-) create mode 100644 data/libunrar.js.mem diff --git a/data/emulator.js b/data/emulator.js index ad1aeeb..aa5c58e 100644 --- a/data/emulator.js +++ b/data/emulator.js @@ -14614,9 +14614,8 @@ var EJS = function(_0x574f5e) { 'mame2003': 'mame2003' }, _0xc6823 = this, - _0x1143c5 = _0xc6823['system'], - _0x47ed14 = ''; - '127.0.0.1' === document['location']['hostname'] && '8002' === document['location']['port'] || (_0x47ed14 = ''), _0x17edbf = EJS_pathtodata + 'extract7z.js', _0x2c1832 = EJS_pathtodata + 'extractzip.js?v=1', _0x4ce206 = EJS_pathtodata + 'libunrar.js'; + _0x1143c5 = _0xc6823['system']; + _0x17edbf = EJS_pathtodata + 'extract7z.js', _0x2c1832 = EJS_pathtodata + 'extractzip.js?v=1', _0x4ce206 = EJS_pathtodata + 'libunrar.js'; var _0xb2be2a = _0x428003('canvas', {}); this['game']['appendChild'](_0xb2be2a), _0x4d7024['loading'] = _0x428003('div', { 'class': this['config']['classNames']['loading'] @@ -14678,7 +14677,7 @@ var EJS = function(_0x574f5e) { return 0x50 === _0x571737[0x0] && 0x4b === _0x571737[0x1] && 0x3 === _0x571737[0x2] && 0x4 === _0x571737[0x3] ? _0x17edbf = 'zip' : 0x50 === _0x571737[0x0] && 0x4b === _0x571737[0x1] && 0x5 === _0x571737[0x2] && 0x6 === _0x571737[0x3] ? _0x17edbf = 'zip' : 0x50 === _0x571737[0x0] && 0x4b === _0x571737[0x1] && 0x7 === _0x571737[0x2] && 0x8 === _0x571737[0x3] ? _0x17edbf = 'zip' : 0x37 === _0x571737[0x0] && 0x7a === _0x571737[0x1] && 0xbc === _0x571737[0x2] && 0xaf === _0x571737[0x3] && 0x27 === _0x571737[0x4] && 0x1c === _0x571737[0x5] ? _0x17edbf = '7z' : 0x52 === _0x571737[0x0] && 0x61 === _0x571737[0x1] && 0x72 === _0x571737[0x2] && 0x21 === _0x571737[0x3] && 0x1a === _0x571737[0x4] && 0x7 === _0x571737[0x5] && 0x0 == _0x571737[0x6] && (_0x17edbf = 'rar'), _0x17edbf; }, _0xa24f60 = function(_0xbf2b8b) { - var _0x17edbf = 'importScripts("' ['concat'](_0xbf2b8b, '");'), + var _0x17edbf = 'importScripts("'+_0xbf2b8b+'");', _0x2c1832 = new Blob([_0x17edbf], { 'type': 'application/javascript' }), @@ -14688,15 +14687,15 @@ var EJS = function(_0x574f5e) { }); }, _0x41d0bd = function(_0x3a41ff, _0x2b541e) { - var _0x2c1832 = ''; - if ('rar' == _0x2b541e) _0x2c1832 = '\nvar dataToPass = [];\nModule = {\n monitorRunDependencies: function(left) {\n if (left == 0) {\n setTimeout(function() {\n unrar(dataToPass, null);\n }, 100);\n }\n },\n onRuntimeInitialized: function() {\n },\n locateFile: function(file) {\n return \'' ['concat'](EJS_pathtodata + 'extractzip.js?v=1')['concat'](_0x3a41ff, '");\nvar unrar = function(data, password) {\n var cb = function(fileName, fileSize, progress) {\n postMessage({"t":4,"current":progress,"total":fileSize, "name": fileName});\n };\n\n var rarContent = readRARContent(data.map(function(d) {\n return {\n name: d.name,\n content: new Uint8Array(d.content)\n }\n }), password, cb)\n var rec = function(entry) {\n if (entry.type === \'file\') {\n postMessage({"t":2,"file":entry.fullFileName,"size":entry.fileSize,"data":entry.fileContent});\n } else if (entry.type === \'dir\') {\n Object.keys(entry.ls).forEach(function(k) {\n rec(entry.ls[k]);\n })\n } else {\n throw "Unknown type";\n }\n }\n rec(rarContent);\n postMessage({"t":1});\n return rarContent;\n};\nonmessage = function(data) {\n dataToPass.push({name: \'test.rar\', content: data.data});\n};\n '); - var _0x22326b = new Blob([_0x2c1832], { - 'type': 'application/javascript' - }), - _0x3635b1 = window['URL']['createObjectURL'](_0x22326b); - return new Promise(function(_0x2d169f, _0x341b0d) { - _0x2d169f(new Worker(_0x3635b1)); - }); + var _0x2c1832 = ''; + if ('rar' == _0x2b541e) _0x2c1832 = '\nvar dataToPass = [];\nModule = {\n monitorRunDependencies: function(left) {\n if (left == 0) {\n setTimeout(function() {\n unrar(dataToPass, null);\n }, 100);\n }\n },\n onRuntimeInitialized: function() {\n },\n locateFile: function(file) {\n return \'' ['concat'](_0x3a41ff+'.mem', '\';\n }\n};\nimportScripts("')['concat'](_0x3a41ff, '");\nvar unrar = function(data, password) {\n var cb = function(fileName, fileSize, progress) {\n postMessage({"t":4,"current":progress,"total":fileSize, "name": fileName});\n };\n\n var rarContent = readRARContent(data.map(function(d) {\n return {\n name: d.name,\n content: new Uint8Array(d.content)\n }\n }), password, cb)\n var rec = function(entry) {\n if (entry.type === \'file\') {\n postMessage({"t":2,"file":entry.fullFileName,"size":entry.fileSize,"data":entry.fileContent});\n } else if (entry.type === \'dir\') {\n Object.keys(entry.ls).forEach(function(k) {\n rec(entry.ls[k]);\n })\n } else {\n throw "Unknown type";\n }\n }\n rec(rarContent);\n postMessage({"t":1});\n return rarContent;\n};\nonmessage = function(data) {\n dataToPass.push({name: \'test.rar\', content: data.data});\n};\n '); + var _0x22326b = new Blob([_0x2c1832], { + 'type': 'application/javascript' + }), + _0x3635b1 = window['URL']['createObjectURL'](_0x22326b); + return new Promise(function(_0x2d169f, _0x341b0d) { + _0x2d169f(new Worker(_0x3635b1)); + }); }, _0x24de8d = null, _0x4e171c = null, @@ -15419,7 +15418,7 @@ var EJS = function(_0x574f5e) { var _0xa88a13, _0x1dedcd = Math['ceil'](new Date()['valueOf']() / 0x3e8); _0xa88a13 = EJS_pathtodata + 'v.json?t='+_0x1dedcd; var _0x3641d6 = function(_0x16049b, _0x55a075) { - _0x550f17['a']['get'](EJS_pathtodata + _0x47ed14+_0x16049b+'?v='+_0x55a075, { + _0x550f17['a']['get'](EJS_pathtodata+_0x16049b+'?v='+_0x55a075, { 'onDownloadProgress': function(_0x117e6b) { var _0x55a075 = _0x117e6b['total'] ? '' ['concat'](Math['floor'](_0x117e6b['loaded'] / _0x117e6b['total'] * 0x64), '%') : ''; _0x3787ba['innerHTML'] = 'Download Game Core ' ['concat'](_0x55a075); diff --git a/data/libunrar.js.mem b/data/libunrar.js.mem new file mode 100644 index 0000000000000000000000000000000000000000..3a97acdb72a001c015bcb2f9f826875bf1439529 GIT binary patch literal 63072 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