Recently I was working on a project involving hakonharnes/wasm-obf, and I thought it'd be helpful to share some insights.
Have questions? Feel free to ask in the comments section below.
正文
This repository contains the source code and experimental data derived from research on WebAssembly obfuscation.
It has been developed as a part of my Master's thesis in Computer Science at the Norwegian University of Science and Technology (NTNU). and the paper can be found
The experimental data, containing close to 50,000 WebAssembly binaries, can be found under the
contains the data and code to create the plots used in the thesis.
contains the source code and build files for the applications in the dataset.
contains the source code of the cryptomining detection methods.
contains code for measuring the file size, hash rate, and similarity between WebAssembly binaries.
contains code for obfuscating the WebAssembly binaries.
contains code for optimizing the WebAssembly binaries.
contains code for verifying the hashes of the cryptomining WebAssembly binaries.
Some of the docker containers require specific networks to be setup.
Specifically, a database, miner, and WASim network will need to be created:
docker network create wasim_network docker compose run mongodb
The database must run before running the experiments.
This will build the applications in the dataset folder using Emscripten and move the WebAssembly binaries, as well as the accompanying JavaScript glue code and HTML file to the binaries folder.
More Details
There are a few more points worth noting. First, browser compatibility varies across different browsers. Second, performance optimization is crucial when handling large amounts of data. Finally, key management is also an important consideration.
Feel free to ask questions in the comments - I'll reply as soon as possible.
Reference: hakonharnes/wasm-obf - GitHub
Comments | NOTHING