Hacker News new | ask | show | jobs
by cjbprime 2386 days ago
There are certainly wasm decompilers -- wasm2c, wasm2js, etc. You also have access to the browser's JS debugger for breakpoints, line by line execution control, dumping wasm's linear memory.

I haven't written any productive WebAssembly but I play Capture The Flag competitions, and it's become frequent for a wasm reverse engineering challenge to be thrown in. The tools are good enough to make that tractable, even for non-experts in wasm like me.

It helps a little that it's a stack-based rather than register-based VM. Usually more of the intent of code is preserved that way. It's like reversing a JVM class, rather than like reversing a native binary.

1 comments

What are these Capture The Flag competitions? Do you mind posting a link?
Sure. My favorite explanation's a short video:

https://youtu.be/8ev9ZX9J45A