More actions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
|title=Yet another sarc tool | |title=Yet another sarc tool | ||
|image=Yetanothersarctool.jpg | |image=Yetanothersarctool.jpg | ||
|description= | |description=Nintendo Ware Layout SHArchive Tool (Module). | ||
|author=LITTOMA | |author=LITTOMA | ||
|lastupdated=2018/11/30 | |lastupdated=2018/11/30 | ||
Line 8: | Line 8: | ||
|version=2018 | |version=2018 | ||
|license=Mixed | |license=Mixed | ||
|download=https://dlhb.gamebrew.org/ | |download=https://dlhb.gamebrew.org/3dshomebrews/Yetanothersarctool.7z | ||
|website=https://gbatemp.net/threads/release-yet-another-sarc-tool.467395/ | |website=https://gbatemp.net/threads/release-yet-another-sarc-tool.467395/ | ||
|source=https://github.com/LITTOMA/sarc | |source=https://github.com/LITTOMA/sarc | ||
}} | }} | ||
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: | |||
<source lang="bash"> | |||
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) | |||
</source> | |||
== | ==External links== | ||
* | * GitHub - https://github.com/LITTOMA/sarc | ||
* | * GBAtemp - https://gbatemp.net/threads/release-yet-another-sarc-tool.467395 | ||
[[Category:3DS homebrew applications]] | |||
[[Category:PC utilities for 3DS homebrew]] |
Revision as of 00:31, 15 March 2022
Yet another sarc tool | |
---|---|
File:Yetanothersarctool.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)