r2pipe-asmjs
Version:
emscripten build of radare2 with an r2pipe api
87 lines (78 loc) • 1.9 kB
HTML
<html>
<head>
<title>r2.asm.js shell</title>
<link rel="stylesheet" type="text/css" href="../style.css">
<meta name="viewport" content="width=320, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=false" />
</head>
<script src="./r2core.js">
</script>
<script>
var r2 = {};
r2.cmd = Module.cwrap('r2_asmjs_cmd', 'string', ['number', 'string']);
r2.openurl = Module.cwrap('r2_asmjs_openurl', 'void', ['number', 'string']);
function runCommand(cmd) {
var input = document.getElementById('input');
var output = document.getElementById('output');
output.innerText = r2.cmd (0, input.value);
input.value = '';
}
function openURL() {
var url = document.getElementById('url');
r2.openurl(0, url.value);
}
document.addEventListener('DOMContentLoaded', function () {
r2.cmd(0, "e scr.html=true");
r2.cmd(0, "e scr.color=false");
var run = document.getElementById('run');
run.addEventListener('click', runCommand);
var input = document.getElementById('input');
input.onkeypress = function(e){
if (e.keyCode == 13) {
runCommand();
}
}
var open = document.getElementById('open');
open.addEventListener('click', openURL);
var url = document.getElementById('url');
url.onkeypress = function(e){
if (e.keyCode == 13) {
openURL();
}
}
});
</script>
<style>
div {
font-family: monospace ;
display: block ;
white-space: pre;
background-color:black;
color:white;
}
input {
background-color:black;
color:white;
border: solid 1px gray;
}
body {
font-family:Verdana;
background-color:black;
color:gray;
}
</style>
<body>
URL
<input id="url" value="http://cloud.rada.re/asmjs/ls" style="width:70%">
</input>
<input id="open" type="button" value="open">
</input>
<br />
CMD
<input id="input" value="?V" style="width:70%">
</input>
<input id="run" type="button" value="run">
</input>
<div id="output">
</div>
</body>
</html>