EmulatorJS/decrypt tools/index.html
2021-09-19 18:18:46 -05:00

100 lines
2.6 KiB
HTML

<html>
<body>
<div id='app'>
<ul>
<br><br>
<p id='amountReplaced'>0</p><br><br>
<button style="display:none;" id='download'>Stop and download</button>
<input type='file' onchange='decryptButton()' id='file'></input><br><br><br>
<div id='out'></div>
</ul>
</div>
<script src='decrypt.js'></script>
<script>
window.stopped = false
window.amountReplaced = 0
window.checked = []
function updateAmountReplaced() {
document.getElementById('amountReplaced').innerHTML = window.amountReplaced.toString()
}
function decrypt(a, b) {
return _0x16a2(a, b)
}
function ask(value) {
return new Promise(function(resolve, reject) {
console.log(value)
document.getElementById('out').innerHTML = '#start#<br>' + value + '\n<br>#end#'
var button = document.createElement('button')
button.innerHTML = 'replace'
button.id = 'button'
button.onclick = function() {
document.getElementById('button').remove()
document.getElementById('button1').remove()
resolve(true)
}
document.body.appendChild(button)
var button1 = document.createElement('button')
button1.innerHTML = 'do not replace'
button1.id = 'button1'
button1.onclick = function() {
document.getElementById('button').remove()
document.getElementById('button1').remove()
resolve(false)
}
document.body.appendChild(button1)
})
}
function decryptButton() {
var finished = function() {
window.stopped = true
var a = document.createElement('a')
a.href = URL.createObjectURL(new Blob([body]))
a.download = 'emulator.js'
a.click()
}
document.getElementById('download').onclick = finished
var file = document.getElementById('file').files[0]
document.getElementById('file').remove()
var reader = new FileReader()
reader.onload = async function(e) {
document.getElementById('download').style = 'display:block;'
window.body = e.target.result
var encrypted = []
var a = body.split("_0x4e1f('")
var b = []
for (var i=0; i<a.length; i++) {
var c = a[i].split("')")[0].split("','")
if (c.length == 2) {
b.push(c)
}
}
console.log(b.length)
for (var i=0; i<b.length; i++) {
var value = decrypt(b[i][0], b[i][1])
var value = value.replaceAll("'", "\\'").replaceAll('\n', '\\n').replaceAll('\r', '\\r')
if (! window.checked.includes(value)) {
var add = true
//var add = await ask(value)
//window.checked.push(value)
if (add) {
window.amountReplaced++
window.body = body.replaceAll("_0x4e1f('" + b[i][0] + "','" + b[i][1] + "')", "'" + value + "'")
console.log(window.amountReplaced)
//updateAmountReplaced()
}
}
if (window.stopped) {
return
}
}
finished()
}
reader.readAsText(file)
}
</script>
</body>
</html>