joamag / boytacean

A GB emulator that is written in Rust 🦀!
https://boytacean.joao.me
Apache License 2.0
625 stars 33 forks source link

Wasm and Glue JS is being encrypted #7

Open sonht0555 opened 1 month ago

sonht0555 commented 1 month ago

@joamag I want to see how boytacean core works through wasm files and glue js files. But it is being encrypted, how can they not be encrypted? I am trying to build another frontend for it, like kabu.io.vn I am doing for my GBA emulator.

Please help me, I tried downloading your emukit here, it would be good if you provide it in unencrypted form. boytacean-wasm.zip

sonht0555 commented 1 month ago

I tried your emulator for 2 hours, it really impressed me a lot when running on IOS. Thanks for creating it

joamag commented 1 month ago

I'm not sure I understand what you mean by encrypted. That zip file is not encrypted and contains the WASM core (.wasm file) used for Boytacean. It uses wasm-bindgen for wasm code generation, which can make it a bit trickier than usual to make use of.

You shouldn't need the emukit to run the emulator - that's just a "helper" to build the UI.

If you provide some details on what you're trying to achieve, I can probably help :).

sonht0555 commented 1 month ago

@joamag

let e,t;function n(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}function r(e){return e&&e.__esModule?e.default:e}var a,i,o,l,s,u,c,d,f,h,p,m,g,_,y,v,b,w,k,S,E,x,C,R,A,T,N,I,z,L,B=globalThis,D={},O={},M=B.parcelRequire37dc;null==M&&((M=function(e){if(e in D)return D[e].exports;if(e in O){var t=O[e];delete O[e];var n={id:e,exports:{}};return D[e]=n,t.call(n.exports,n,n.exports),n.exports}var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}).register=function(e,t)

Here is a snippet from the index.4c0ff51e.js file. It is encoded and makes it harder to read. Can you provide a more readable file? It is almost minified.

joamag commented 1 month ago

@joamag

let e,t;function n(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}function r(e){return e&&e.__esModule?e.default:e}var a,i,o,l,s,u,c,d,f,h,p,m,g,_,y,v,b,w,k,S,E,x,C,R,A,T,N,I,z,L,B=globalThis,D={},O={},M=B.parcelRequire37dc;null==M&&((M=function(e){if(e in D)return D[e].exports;if(e in O){var t=O[e];delete O[e];var n={id:e,exports:{}};return D[e]=n,t.call(n.exports,n,n.exports),n.exports}var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}).register=function(e,t)

Here is a snippet from the index.4c0ff51e.js file. It is encoded and makes it harder to read. Can you provide a more readable file? It is almost minified.

This is the minified version of the file after parcel processing. You can check the source code of the web frontend here.

sonht0555 commented 1 month ago

@joamag Thanks a lot, I don't need to see the frontend code yet, I want to see the index.4c0ff51e.js file. It (glue file) is the control and connection glue file boytacean_bg.522d134b.wasm. The problem is that it is being minified, I can't read it, can you provide that file without being minified?

joamag commented 1 month ago

@sonht0555 try to take a look here https://www.npmjs.com/package/boytacean?activeTab=code

This contains the npm package for Boytacean which is a result of running:

cargo install wasm-pack
wasm-pack build --release --target=web --out-dir=frontends/web/lib -- --features wasm

as stated in README.md

sonht0555 commented 1 month ago

@joamag Thank you very much, I will try to read it.