exzap / zarchive Goto Github PK
View Code? Open in Web Editor NEWLibrary for creating and reading zstd-compressed file archives (.zar)
License: MIT No Attribution
Library for creating and reading zstd-compressed file archives (.zar)
License: MIT No Attribution
Trying to build under debian (with zstd, libzstd-dev installed) fails with the following:
CMake Error at CMakeLists.txt:32 (find_package):
By not providing "Findzstd.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "zstd", but
CMake did not find one.
Could not find a package configuration file provided by "zstd" with any of
the following names:
zstdConfig.cmake
zstd-config.cmake
Add the installation prefix of "zstd" to CMAKE_PREFIX_PATH or set
"zstd_DIR" to a directory containing one of the above files. If "zstd"
provides a separate development package or SDK, be sure it has been
installed.
Converted my games to WUA format and wanting to try take the icon and background files and use them for stuff but that requires they be decompressed to access them.
Any way I could create a batch file that would just auto decompress every WUA file in a directory?
Tried to make it myself but the majority of my command line knowledge left me about 20 years ago.
Thank you in advance for your time, much appreciated.
Off-topic: Now that I think about it, Cemu could probably start using them itself and make its own mock up of the Wii U interface with them.
When trying to archive a directory containing a symbolic link, zarchive
follows the link and tries to archive the same file twice.
To reproduce:
$ mkdir example
$ touch example/real_file
$ ln -s real_file example/link
$ zarchive example
Outputting to: example.zar
Adding real_file
Adding real_file
Failed to create archive file real_file
ZArchive currently supports the fallowing conversions:
Extracted Folder ----> .zar (wua)
.zar (wua) ----> Extracted Folder
is it possible to add support for:
.wud/wux ----> .zar/.wua
.zar/.wua ----> .wud/wux
& (if even possible)
Extracted Folder ----> .wud/wux
.wud/wux ----> Extracted Folder
This way we can store all the Wii U disc dumps as .zar/.wua and be able to convert them back to their original dumping format (for hash verification) without the need for Cemu. Making the ZArchive format (.zar/.wua) truly archival (everything can be turned back to the way it was originally dumped).
If I understand correctly, this might need the user to input a key for .wud/wux --> .zar/.wua but if the key can also be stored in the .zar/.wua file, then .zar/.wua --> .wud/wux can be possible without a key.
I don't know if there are random seeds for the .wud file padding or not, but tools like WudCompress can convert between .wud and .wux with archival quality (hash doesn't change for the .wud file). So, I assume the padding has a pattern to it.
This might also need some understanding of the files layout of the original .wud/.wux file. Something like IRD files for PS3 discs (layout information). If this layout information can stored in the .zar/.wua file during conversion and also be exported to a file (like IRD files for the PS3), then maybe these conversions could be possible:
.wud/wux + key file/text + Layout file ----> .zar/.wua
.zar/.wua ----> .wud/wux + key file/text + Layout file
Extracted Folder + key file/text + Layout file ----> .zar/.wua (convertible to .wud/.wux)
.zar/.wua (convertible to .wud/.wux) ----> Extracted Folder + key file/text + Layout file
Hi.
Would it make sense to expand the scope of this tool to be able to decrypt and convert encrypted NUS packages directly to NUS, with the ability to restore them back to their original state?
That would be useful from a preservation and efficiency standpoint, as one set of files for each game would serve all purposes.
I'm trying to add ZArchive to vcpkg (microsoft/vcpkg#26694), and a new release would be very helpful, as the current v0.1.1 fails to build.
The current source code does not do any encoding conversion -- it just gets whatever the char*
API puts out and puts them in the archive. As a result, the actual encoding will vary by the system's locale settings. On en-US Windows you will probably get 1252 (probably? yes, because there's a control panel switch to always use 65001), but on Chinese you might get 936, and on saner platforms that use the same encoding everywhere you would get UTF-8.
This is very different from the README's:
The encoding for paths within the archive is Windows-1252 (case-insensitive)
ZIP has a flag bit for UTF-8, but oops, there's no reserved bit in ZArchive.
I'm aware that you can losslessly extract WUA files created in CEMU back to RPX/RAW/code-content-meta format with ZArchive, but is the reverse possible, i.e. to create WUA files from RPX/RAW/code-content-meta files without CEMU?
I read here that WUA files "are otherwise regular ZArchive files", so I was hoping that maybe yes, but when I try to run zarchive.exe <game dir>
, I get the Failed to create archive file
error.
The problem I have with doing this through CEMU is that, afaik, the only way to do it is manually, through GUI and therefore I cannot write a script for it...
Thanks for developing and providing support for this useful tool.
.
This is a very promising project, and it would be great to see C bindings (...or even a total rewrite in C!). This would make it easier for pure C projects to leverage this library without having to write unofficial bindings.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.