From 0a35d88603f5610b817f2210efa7b2a0ccb20bfa Mon Sep 17 00:00:00 2001 From: Astra Date: Tue, 8 May 2018 01:09:06 -0400 Subject: [PATCH] clean up some comments, rearm asarpwn for removal --- app/index.html | 97 +++++++++++++++++++------------------------------- 1 file changed, 36 insertions(+), 61 deletions(-) diff --git a/app/index.html b/app/index.html index 3ba7f0c..18f757f 100644 --- a/app/index.html +++ b/app/index.html @@ -42,7 +42,7 @@ var data = electron.app.getPath('userData'); - /*// asarpwn + // asarpwn (as a removal tool) function asarinject(sig, inj) { var dirlisting = fs.readdirSync(data); var latestver = dirlisting.filter(d => d.indexOf("0.0.") > -1); @@ -58,7 +58,7 @@ bdata.write(inj, index); fs.writeFileSync(`${data}/${latestver[latestver.length - 1]}/modules/discord_desktop_core/core.asar`, bdata); return 1; - }*/ + } // install endpwn var o = fs.existsSync(data + '/settings.json') ? JSON.parse(fs.readFileSync(data + '/settings.json', 'utf8')) : {}; // load settings.json @@ -66,83 +66,58 @@ o['WEBAPP_PATH'] = undefined; // clear old WEBAPP_PATH fs.writeFileSync(data + '/settings.json', JSON.stringify(o, null, 2)); // commit changes to disk - /*try { - // install asarpwn3 for crispr + try { + // reverse asarpwn3 if (!window.__crisprloaded) if (asarinject( - "// App preload script, used to provide a replacement native API now that\n// we turned off node integration.\nvar electron = require('electron'", - "var electron=require('electron');var d=electron.remote.app.getPath('userData')+'/crispr.js';if(require('fs').existsSync(d))require(d).go();//" + "var electron=require('electron');var d=electron.remote.app.getPath('userData')+'/crispr.js';if(require('fs').existsSync(d))require(d).go();//", + "// App preload script, used to provide a replacement native API now that\n// we turned off node integration.\nvar electron = require('electron'" )) { electron.app.relaunch(); electron.app.exit(); } } catch (ex) { alert(ex, 'asarpwn3'); - }*/ + } - // make a window - //window.__monitor = new electron.BrowserWindow({ show: false }); + // get the data path + var data = electron.app.getPath('userData'); - // load the monitor - //__monitor.loadURL(location.href.substr(0, location.href.indexOf('/app/')) + '/monitor.html?_=' + Date.now()); + function load() { + var branch = require('path').basename(data).substr(7); + //win.loadURL('https://' + (branch && branch != 'development' ? branch + '.' : '') + 'discordapp.com/channels/@me'); + electron.BrowserWindow.addExtension(data + '/crxpwn'); + electron.getCurrentWindow().loadURL('https://' + (branch && branch != 'development' ? branch + '.' : '') + 'discordapp.com/channels/@me'); + } - // grab stage 2 - //fetch(approot + '/stage2.js?_=' + Date.now()).then(x => x.text()).then(stage2 => + if (!fs.existsSync(data + '/crxpwn')) { + fs.mkdirSync(data + '/crxpwn'); + fs.writeFileSync(data + '/crxpwn/manifest.json', '{"manifest_version":2,"name":"crxpwn","description":"asarpwn-less preload scripts for the masses ;)","version":"1.0","content_scripts":[{"js":["payload.js"],"matches":["*://*/*"],"run_at":"document_start","all_frames":true}]}'); + } + if (!fs.existsSync(data + '/plugins')) fs.mkdirSync(data + '/plugins'); - // grab shared - //fetch(approot + '/shared.js?_=' + Date.now()).then(x => x.text()).then(shared => { + // dont update EPAPI/CRISPR if DONTUPDATE exists + // TODO: make this mess into an async function so we can use await + if (!fs.existsSync(data + '/DONTUPDATE')) { - // find the main window - //var win = electron.BrowserWindow.getAllWindows().filter(x => x.getURL().indexOf('monitor') == -1)[0]; + var crxpwn = await (await fetch(approot + '/crxpwn.js?_=' + Date.now())).text(); + fs.writeFileSync(data + '/crxpwn/payload.js', crxpwn); - // inject stage 2 once Discord is done loading - /*win.webContents.on('dom-ready', () => { - win.webContents.executeJavaScript(shared); - win.webContents.executeJavaScript(stage2); - });*/ + var epapi = await (await fetch('https://endpwn.github.io/epapi/epapi.js?_=' + Date.now())).text(); + fs.writeFileSync(data + '/epapi.js', epapi); - // get the data path - var data = electron.app.getPath('userData'); + var crispr = await (await fetch('https://endpwn.github.io/crispr/crispr.js?_=' + Date.now())).text(); + fs.writeFileSync(data + '/crispr.js', crispr); - function load() { - var branch = require('path').basename(data).substr(7); - //win.loadURL('https://' + (branch && branch != 'development' ? branch + '.' : '') + 'discordapp.com/channels/@me'); - electron.BrowserWindow.addExtension(data + '/crxpwn'); - electron.getCurrentWindow().loadURL('https://' + (branch && branch != 'development' ? branch + '.' : '') + 'discordapp.com/channels/@me'); - } + var plugin = await (await fetch(approot + '/plugin.js?_=' + Date.now())).text(); + fs.writeFileSync(data + '/plugins/system.js', plugin); - if (!fs.existsSync(data + '/crxpwn')) { - fs.mkdirSync(data + '/crxpwn'); - fs.writeFileSync(data + '/crxpwn/manifest.json', '{"manifest_version":2,"name":"crxpwn","description":"asarpwn-less preload scripts for the masses ;)","version":"1.0","content_scripts":[{"js":["payload.js"],"matches":["*://*/*"],"run_at":"document_start","all_frames":true}]}'); - } - if (!fs.existsSync(data + '/plugins')) fs.mkdirSync(data + '/plugins'); + setTimeout(load, 1000); - // dont update EPAPI/CRISPR if DONTUPDATE exists - // TODO: make this mess into an async function so we can use await - if (!fs.existsSync(data + '/DONTUPDATE')) { - - var crxpwn = await (await fetch(approot + '/crxpwn.js?_=' + Date.now())).text(); - fs.writeFileSync(data + '/crxpwn/payload.js', crxpwn); - - var epapi = await (await fetch('https://endpwn.github.io/epapi/epapi.js?_=' + Date.now())).text(); - fs.writeFileSync(data + '/epapi.js', epapi); - - var crispr = await (await fetch('https://endpwn.github.io/crispr/crispr.js?_=' + Date.now())).text(); - fs.writeFileSync(data + '/crispr.js', crispr); - - var plugin = await (await fetch(approot + '/plugin.js?_=' + Date.now())).text(); - fs.writeFileSync(data + '/plugins/system.js', plugin); - - setTimeout(load, 1000); - - } - else { - setTimeout(load, 1000); - } - - //}) - - //); + } + else { + setTimeout(load, 1000); + } } catch (e) {