Yet another sarc tool 3DS
From GameBrew
More actions
| Yet another sarc tool | |
|---|---|
| General | |
| Author | LITTOMA |
| Type | File Operation |
| Version | 2018 |
| License | Mixed |
| Last Updated | 2018/11/30 |
| Links | |
| Download | |
| Website | |
| Source | |
A simple archive tool with auto padding feature.
Features
- Creating archives.
- Extracting archives.
- Support both big and little endianess archives.
- Auto padding (Support bflim files only for now).
- Importable.
User guide
Using as a script:
sarc.py [-h] [-v] (-x | -c | -l) [-e {big,little}] [-k HASHKEY] [-d DIR] -f ARCHIVE
optional arguments:
-h, --help show this help message and exit
-v, --verbose Enable verbose output
-x, --extract Extract the archive
-c, --create Create an archive
-l, --list List contents of the archive
-e {big,little}, --endianess {big,little}
Set archive endianess
-k HASHKEY, --hashkey HASHKEY
Set hash key
-d DIR, --dir DIR Set working directory
-f ARCHIVE, --archive ARCHIVE
Set archive file
Import as a module:
from sarc import *
#Initialize an archive with a file:
arc = Sarc('Path/To/Archive')
#Initialize an archive with a directory:
arc = Sarc(path='Path/To/Directory/', order='<', hash_key=0x65)
#Add a file to the archive:
arc.add_file_entry('Path/to/File')
#Save the archive:
arc.archive(archive_path='Path/To/Archive')
#Extract the archive file entries:
arc.extract(path='Path/To/Output/', all=True)
#Extract a single file from the archive by name:
arc.extract(path='Path/To/Output/', name='Name/Of/File')
#Extract a single file from the archive by hash:
arc.extract(path='Path/To/Output/', hash=0x12345678)
#List out all file entries (Hash and Name):
arc.extract(path='', all=True, save_file=False)