25 lines
1.3 KiB
Markdown
25 lines
1.3 KiB
Markdown
# Introduction
|
|
|
|
This little tool downloads the Flyff Universe game page and splits in into several files used for decompilation and injection.
|
|
|
|
- First it downloads the HTML from https://universe.flyff.com/play.
|
|
- It executes the JavaScript to find out the `FilemapVersion` .
|
|
- Then it downloads the game client's WASM object alongside it's Emscripten runtime JS.
|
|
- The symbols that the game uses are exported into the Emscripten runtime JS, so this file is parsed to get as much information as possible.
|
|
- Using these symbols, it consolidates both imports and exports into a single JSON file, which is used by [fugg-fix-mapping](https://git.noest.dev/gijs/fugg-fix-mapping).
|
|
|
|
# Build & Run
|
|
|
|
*Make sure you have `node` and `npm` installed and in your `PATH` environment variable.*
|
|
|
|
1. Clone the repository.
|
|
2. Run `npm install`.
|
|
3. Run `npm start` to run the program.
|
|
4. The following generated files are located in the `out` folder.
|
|
|
|
- `functions.json`: Contains the import and export mapping of the Emscripten runtime JS.
|
|
- `index.html`: A downloaded copy of the web page.
|
|
- `client-original.js`: The minified Emscripten runtime JS as served by the web page.
|
|
- `client-beautified.js`: The beautified Emscripten runtime JS so it's human readable.
|
|
- `client-original.wasm`: The extracted client binary used by the game.
|