More actions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Infobox 3DS Homebrews | {{Infobox 3DS Homebrews | ||
|title=Yet another sarc tool | |title=Yet another sarc tool | ||
|image= | |image=3dspc.jpg | ||
|description=Nintendo Ware Layout SHArchive Tool (Module). | |description=Nintendo Ware Layout SHArchive Tool (Module). | ||
|author=LITTOMA | |author=LITTOMA | ||
Line 14: | Line 14: | ||
A simple archive tool with auto padding feature. | A simple archive tool with auto padding feature. | ||
==Features | ==Features== | ||
* Creating archives. | * Creating archives. | ||
* Extracting archives. | * Extracting archives. |
Revision as of 00:32, 15 March 2022
Yet another sarc tool | |
---|---|
File:3dspc.jpg | |
General | |
Author | LITTOMA |
Type | PC Utilities |
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)