我一直在尝试对我在网上找到的 GBA 模拟器 (https://gba.44670.org/) 进行逆向工程,并使用 HTML 提取器来尝试复制它。我希望它能够离线工作,所以我将所有脚本下载到我的计算机上,并在那里运行。但是,此后,“选择文件”按钮不再出现,取而代之的是“正在加载,请稍候...”文本行。深入研究代码,我发现它与 WASM 有关。代码如下:
<div id="wasm-loading">
Loading, please wait...
</div>
<div id="select-rom" hidden>
<input type="file" id="romFile" onchange="onFileSelected()" hidden /></p>
<button onclick="$id('romFile').click()" id="btn-choose">Choose File...</button>
</div>
代码中对 WASM 的其他提及位于 .js 文件 app.js 中:
function wasmReady() {
romBuffer = Module._emuGetSymbol(1)
var ptr = Module._emuGetSymbol(2)
wasmSaveBuf = Module.HEAPU8.subarray(ptr, ptr + wasmSaveBufLen)
ptr = Module._emuGetSymbol(3)
imgFrameBuffer = new Uint8ClampedArray(Module.HEAPU8.buffer).subarray(ptr, ptr + 240 * 160 * 4)
idata = new ImageData(imgFrameBuffer, 240, 160)
isWasmReady = true
document.getElementById('wasm-loading').hidden = true
document.getElementById('select-rom').hidden = false
}
我期望一旦我下载了脚本,它就会像平常一样工作。我的意思是,它仍然可以访问它需要的脚本,对吧?我尝试通过更改 document.getElementById('select-rom').hidden = false 中的 true/false 语句来隐藏文本,反之亦然,但似乎没有任何效果。有任何想法吗?提前致谢。
(顺便说一句,我正在 vscode.dev 中查找文件路径。它看起来像这样:
)
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号