SkillAgentSearch skills...

WitchyBND

Unpacks/repacks FromSoftware archive formats and serializes FromSoftware data formats.

Install / Use

/learn @ividyon/WitchyBND
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

License: GPL v3

<p align="center"> <img src="https://github.com/ividyon/WitchyBND/blob/main/public/logo.png?raw=true" /> </p>

WitchyBND

WitchyBND is an unpacking/repacking/serializing software for common file formats used by FromSoftware's proprietary game engine, for games like Demon's Souls, Dark Souls 1-3, Bloodborne, Sekiro, Elden Ring and Armored Core VI. Witchy supports the formats DCX, FFXBND, BND3, BND4, BXF3, BXF4, FFXDLSE, FMG, GPARAM, LUAGNL, LUAINFO, TPF, Zero3, FXR1, FXR3, MATBIN, MTD, PARAM, MQB, and ENTRYFILELIST.

A successor to Yabber, the FromSoftware file format unpacker and serializer by TKGP, featuring a comprehensive rewrite, added features and comfort, and bundled contributions by the community.

Requirements

The game archives need to be unpacked with UXM Selective Unpacker to access the files that Witchy can work with.

WitchyBND should run out-of-the-box on Windows versions newer than Windows 8.

Updating WitchyBND

To update WitchyBND, unpack the new version into the same folder as before, and overwrite all files.

The context menu unfortunately causes a bit of a fuss on updating. If Windows tells you that some of the files are in use, you have to first unregister the context menu in the configuration screen, then exit WitchyBND, to allow overwriting them.

After the update, you can re-register the context menu again.

Read here how to configure the context menu integration.

How to use

Information on using Yabber (and therefore Witchy) is spread widely across the community. Visit the Souls Modding Wiki or ?ServerName? Discord to get started.

Right-click context menu integration

The most comfortable integration of WitchyBND is found in the context menu. Witchy does not come with an installer, so you need to briefly launch it and register the context menu with Windows yourself.

  • Launch WitchyBND.exe in the Witchy folder.
  • Navigate the configuration screen to the "Configure Windows integration" option, and confirm.
  • Navigate to the "Register WitchyBND context menu" option, and confirm.

From now on, WitchyBND menu options should appear when you right-click files and folders in Explorer.

To remove the context menu options, simply use the "Unregister WitchyBND context menu" option. You may need to restart Explorer afterwards.

Basic workflow

  • Unpack the game files using a tool like UXM Selective Unpacker.
  • Find the files you'd like to extract.
  • Use the right-click context menu "WitchyBND" option to process the selected files.
    • If processing over 15 files, you may need to use the "Send to..." menu.
    • You can also drag the files onto the WitchyBND executable in the Witchy folder.
  • If Witchy supports that file format, it will now be processed.
  • To reverse the process, simply use the right-click context menu again.
    • You can also drag the unpacked folder (or converted file) or file back onto WitchyBND.exe again.

If you only want to remove the DCX compression from a DCX archive, use the (DCX) option in the context menu instead.

Upgrading from Yabber

For all intents and purposes, Witchy should be treated as a new version of Yabber. It functions mostly the same and is used for all the same purposes. All the original workflows are preserved.

Credits

This project is created and maintained by ividyon. It is originally based on Yabber by TKGP.

  • TKGP - SoulsFormats and Yabber
  • katalash - GPARAM support, FsParam
  • Nordgaren - Yabber+, ACVI additions, Oodle DLL location
  • DSMapStudio team - Paramdex
  • Meowmaritus - initial FXR serialization, SoulsAssetPipeline TAE class
  • NamelessHoodie - initial FXR serialization
  • Avocado - YabberAvocado additions
  • NatsuDragneelTheFireDragon - MQB support (SoulsFormatsNEXT)
  • Vawser - Paramdex, Smithbox additions
  • CCCode - FXR research
  • ClayAmore - ZSTD Decompression
  • The12thAvenger: FLVER improvements (SoulsFormatsNEXT)
  • Shadowth117: Console TPF handling (SoulsFormatsNEXT)
  • Thegreatgramcracker: FXR1 support
  • colaaaaaa123: Some Oodle logic
  • All SoulsFormatsNEXT contributors
  • All Paramdex contributors
  • ivi - WitchyBND maintainer

Special thanks to Nordgaren, The12thAvenger, philiquaz, TKGP, thefifthmatt, Kirnifr, Rayan and many more for various assistance during development.

License

This work is licensed under GPL v3. View the implications for your Witchy forks here.

WitchyBND is built using the following licensed works:

Changelog

WitchyBND

3.0.0.1

  • TAEs may now be unpacked even with unknown event types.
  • Fixed a crash issue when confirming certain prompts.
  • Potentially fixed a repack issue with ANIBNDs contained in PARTSBNDs from ARMORED CORE VI.

3.0.0.0

  • Added cross-platform capability, with Linux support.
    • The oo2core binary needs to be provided by the user. See the README for more info.
    • Some features are unavailable.
  • Updated PromptPlus to version 5, which should be more cross platform-compatible.
  • Added support for the AIP (Auto Invade Point) format, props to Axi for the template.
  • Removed the "DCX decompression only" configuration as it has only led to confusion so far. It can still be enabled via command line if needed.
  • Fixed some crash issues with repacking PS4 TPFs. This updates the TPF parser version.
  • Fixed a crash issue when handling FFXBND from different platforms than PC. This updates the FFXBND parser version.
  • Fixed an issue with SoulsFormats TAE where certain event parameters would become corrupted when repacked.
  • Fixed an issue where the ANIBND parser would ignore duplicately named files and proceed without throwing an error, causing jumbled output.
  • Fixed an issue where archives would fail to unpack if they have no file extension.
  • Added an option in the configuration menu to reset any version skips, so that the auto-updater may once again be ran.

2.16.0.5

  • Added support for Oodle compression types which aren't used by Fromsoft, just because, and more robust detection of corrupting nonsense. Credits to colaaaaaa123.
  • Witchy will now return a non-standard return code if there were any errors during its operation, allowing batch scripts to catch errors.
  • Non-default config values are now highlighted in yellow during startup.
  • Fixed an issue where BND3s during recursive processing would erroneously be detected as PARAMBND3.
  • Fixed an issue where TAE enums could not properly be read during repack.

2.16.0.4

  • Updated SoulsFormatsNEXT to ward against the latest 'encryption technology'. The cat and mouse game marches ever onward, and the mouse never cured its severe brain damage.
  • Fixed a bug with unpacking certain BXF4 files with Unicode.
  • Updated FMG support to support Unicode and MD5 hashes.
  • Updated to .NET 9.

2.16.0.3

  • TAE parsing will now once again attempt to grab event templates from any event bank, to match DSAS behavior.
  • Updated known ELDEN RING regulation version.
  • Fixed an issue with FFXBND repacking where the parser would cluelessly pack duplicate files with the same file names from different folders. It will now instead throw an error and ask you to clean up the duplicates.

2.16.0.2

  • Fixed an issue where attempting to re-DCX un-DCX-ed files would do nothing.

2.16.0.1

  • Fixed an issue where attempting to un-DCX files would just overwrite the decompressed file with its own XML manifest.

2.16.0.0

  • Added a parser for FXR1 files from Dark Souls (thanks to Thegreatgramcracker).
  • Updated to the latest version of SoulsFormatsNEXT.
  • Updated the terminology in the MQB parser to reflect the SFN update.
  • Updated the backend for the TAE parser to be the new SFN class.
  • Made some fixes to the DBSUB writer.
  • Changes the FFXDLSE parser to use the serialized parser workflow.
  • Restored the un-indented nature of the FMG parser XML.
  • Removed indentation from the PARAM parser XML to save space.

2.15.1.1

  • Fixed the Oodle library issue that causes an infinite "Preprocessing" loop, for realsies this time.

2.15.1.0

  • Hopefully resolved the Oodle library issue that causes an infinite "Preprocessing" loop.
  • Added support for reading Nightreign TAEs.
  • Fixed a possible incompatibility with old XML manifests using DCX_KRAK compression.

2.15.0.2

  • Re-release to attempt to fix an updating bug.

2.15.0.1

  • Fixed an issue where MATBINs, ENFLs, FXRs and MTDs would not repack due to version mismatches. You have to unpack them once again to fix the problem.
  • Fixed an issue where TAEs and MSBs would not repack due to a missing filename in the manifest XML. You have to unpack them once again to fix the problem.

2.15.0.0

  • Added basic initial support for ELDEN RING NIGHTREIGN (thanks to Vawser and Nordgaren)
  • Updated the handling of compression types to include more information. In short, this will make Witchy more robust against manipulation attempts on co
View on GitHub
GitHub Stars221
CategoryDevelopment
Updated1d ago
Forks14

Languages

C#

Security Score

95/100

Audited on Mar 30, 2026

No findings