mirror of
https://github.com/EmulatorJS/EmulatorJS.git
synced 2024-09-21 03:16:29 +00:00
100 lines
2.6 KiB
HTML
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>
|