Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Yet another sarc tool 3DS

From GameBrew
Revision as of 11:54, 5 April 2022 by HydeWing (talk | contribs)
Yet another sarc tool
3dspc.png
General
AuthorLITTOMA
TypeFile Operation
Version2018
LicenseMixed
Last Updated2018/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)

External links

Advertising: