Champollion is a decompiler designed to transform Papyrus script binaries (.pex files) into readable and editable Papyrus Script files (.psc). It supports games such as Skyrim, Fallout 4, Fallout 76, and Starfield, enabling users to reverse-engineer game scripts for modification or study.
Key Features:
Converts .pex binary files to human-readable .psc scripts while maintaining functional equivalence.
Supports multiple platforms, including Skyrim, Fallout 4, Fallout 76, and Starfield.
Offers CLI options for customization, such as specifying output directories, enabling threading for faster processing, and generating assembly views of the decompiled code.
Includes features like debug annotations and recursive directory scanning for efficient batch processing.
Audience & Benefit:
Ideal for modders, developers, and enthusiasts working with Papyrus scripts. Champollion provides a powerful tool to reverse-engineer game scripts without requiring access to original source code, enabling deeper customization and analysis of game mechanics.
Champollion can be installed via winget.
README
Champollion
Champollion is a decompiler for the Papyrus script language used in Skyrim, Fallout 4, Fallout 76, and Starfield. It aims to produce a Papyrus Script file (.psc) from a .pex binary file. The decompiled script should recompile to a functionally equivalent PEX binary.
Usage
Champollion is a CLI-only program.
Parameters
Champollion [-p ] [-a []] [-c] [-t]
Short
Long
Description
-p output directory
--psc output directory
Set the output directory, where Champollion will write the decompiled files
-a [assembly directory]
--asm [assembly directory]
Champollion will write an assembly version of the PEX file in the given directory, if one. The assembly file is an human readable version of the content of the PEX file
-c
--comment
The decompiled file will be annotated with the assembly instruction corresponding to the decompiled code lines.
-t
--threaded
Champollion will parallelize the decompilation. It is useful when decompiling a directory containing many PEX files.
-r
--recursive
Recursively scan specified directory(s) for pex files to decompile
-s
--recreate-subdirs
Recreates directory structure for script in root of output directory (Fallout 4 only, default false)
-e
--header
Write header to decompiled psc file
-g
--trace
Trace the decompilation and output results to rebuild log
--no-dump-tree
Do not dump tree for each node during decompilation tracing (requires --trace)
--debug-funcs
Decompile inoperative debug and compiler-generated functions (default false)
--no-debug-line
Do not comment with debug info line numbers on script lines (default false)
-i
--print-info
Print header info from the specified PEX file(s) and exit
--print-compile-time
Print the compile time of the script in format of {filename}: {time_integer} and exit