Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sewer56/fileemulationframework
Framework for emulating files using Reloaded-II.
https://github.com/sewer56/fileemulationframework
Last synced: 19 days ago
JSON representation
Framework for emulating files using Reloaded-II.
- Host: GitHub
- URL: https://github.com/sewer56/fileemulationframework
- Owner: Sewer56
- License: lgpl-3.0
- Created: 2022-09-12T00:17:43.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-20T03:43:00.000Z (about 2 months ago)
- Last Synced: 2024-10-04T12:35:47.908Z (about 1 month ago)
- Language: C#
- Homepage:
- Size: 10.6 MB
- Stars: 7
- Watchers: 2
- Forks: 7
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
Reloaded-II File Emulation Framework
🎈 Let's screw with binaries 🎈
A framework for creating virtual files at runtime.
# The Website
[***Click here to visit the full documentation.***](https://sewer56.dev/FileEmulationFramework/)
## About The Framework
The file emulation framework is a framework for intercepting Windows API calls related to the reading of files from disk; in order to trick games into loading files that don't really exist.
It builds on top of previous experiments with Reloaded, namely [AFS Redirector](https://github.com/Sewer56/AfsFsRedir.ReloadedII), [ONE Redirector](https://github.com/Sewer56/Heroes.Utils.OneRedirector.ReloadedII) and [Persona 4 Golden PC modloader](https://github.com/tge-was-taken/p4gpc.modloader).
## A User Friendly Example
Replacing files inside big archives without creating new ones.
![](./docs/images/afs/afs_example.png)
![](./docs/images/afs/afs_original_file.png)
In this case, the following files would replace the 7th, 8th, 9th and 10th file in the `SH_VOICE_E.afs` archive.
## How it Works.
By intercepting API calls used to open files, get their properties and read from them, we can essentially create files 'on the fly'; allowing us to perform various forms of post processing such as merging archives in a way that requires zero knowledge of the application running under the hood.
In practice this is extremely effective, the original [AFS Redirector](https://github.com/Sewer56/AfsFsRedir.ReloadedII) is known for being able to work with 10+ games, including those behind emulators.
Projects using this framework are referred to as 'emulators' hence the name `File Emulation Framework`; that name is derived from the original projects which simulated nonexistent archive files.
## How to Contribute (Wiki)
- [Contributing to the Wiki: Online](./docs/guides/contributing-online.md)
- [Contributing to the Wiki: Locally](./docs/guides/contributing-locally.md)## Credits, Attributions
- Header icon created by Freepik - Flaticon