-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
1 lines (1 loc) · 1.62 KB
/
Copy pathindex.html
File metadata and controls
1 lines (1 loc) · 1.62 KB
1
<!doctypehtml><html lang=en><head><meta charset=UTF-8><meta content="width=device-width,initial-scale=1"name=viewport><title>DLL exports viewer</title><style>html{height:100%}body{margin:0;width:100%;height:inherit}table{border-collapse:collapse;width:100%;height:inherit}input{width:100%}table,td,th,tr{border:1px solid #000}textarea{width:calc(100% - 6px);height:calc(100% - 10px)}#footer,#header{height:10%}</style></head><body><table id=body-table><tr id=header><td><input id=dll-picker type=file><table id=file-info-table></table></td></tr><tr id=main><td><textarea id=output></textarea></td></tr><tr id=footer><td></td></tr></table><script>function handleFiles(){var e=document.getElementById("output");e&&(e.value="");var t=document.getElementById("file-info-table");if(t.innerHTML="",1===this.files.length){t.innerHTML="<tr><th>Name</th><th>Value</th></tr>";const e=this.files[0];for(const n in e)"function"!=typeof e[n]&&(t.insertRow().innerHTML=`<td>${n}</td><td>${e[n]}</td>`);const n=new FileReader;n.onload=function(e){const t=new Uint8Array(e.target.result),n=t.length*t.BYTES_PER_ELEMENT,l=Module._malloc(n);var r=Module.HEAPU8.subarray(l,l+n);r.set(t),Module.ccall("PrintDllExports",null,["number","number"],[r.byteOffset,t.length]),Module._free(r.byteOffset)},n.readAsArrayBuffer(e)}}document.getElementById("dll-picker").addEventListener("change",handleFiles,!1);var Module={print:function(){var e=document.getElementById("output");return e&&(e.value=""),t=>{arguments.length>1&&(t=Array.prototype.slice.call(arguments).join(" ")),e&&(e.value+=t+"\n",e.scrollTop=e.scrollHeight)}}()}</script><script async src=index.js></script></body></html>