Skip to content

Commit

Permalink
Modified README.md: Added usage information for the server
Browse files Browse the repository at this point in the history
  • Loading branch information
skelly committed Sep 4, 2024
1 parent 9758118 commit bab55d6
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,24 @@ Erebos will consist of a server and a client (the loader itself).
The basic concept of the loader is that the server will stage encrypted blobs of data which the loader will download in a random order, decrypt them and assemble the original object.
Finally it will load it to the running kernel.

## Usage
**Server**:
```bash
$ # Create fractions and stage over HTTP
$ python main.py --file <PATH_TO_OBJ_FILE> --output out
$ # Clean fractions using backup system
$ python main.py --output out
```

### Server
The server is accountable for the preparation and staging of the LKM we want to load.
It will:
1. take as an input the object file of our LKM
2. split it into chunks of a set size (ex. 1024 bytes)
3. encrypt each chunk with a predefined key (ex. AES-256)
4. assign important metadata to each chunk that will allow the loader to assemble the object file correctly* (see [ordering the chunks](#ordering-the-chunks))
5. write each chunk to a file
6. stage the different files via HTTP
It:
1. takes as an input the object file of our LKM
2. splits it into chunks of a set size (ex. 1024 bytes)
3. encrypts each chunk with a predefined key (ex. AES-256)
4. assigns important metadata to each chunk that will allow the loader to assemble the object file correctly* (see [ordering the chunks](#ordering-the-chunks))
5. writes each chunk to a file
6. stages the different files via HTTP

## Ordering the chunks
Since the loader will download the encrypted chunks/blobs of the LKMs object file in random order,
Expand Down

0 comments on commit bab55d6

Please sign in to comment.