├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── README.md ├── UNLICENSE ├── asm_unpackers ├── .gitignore ├── Makefile ├── test_data.bin ├── test_data.upk ├── unpack_arm32.S ├── unpack_armv6m.S ├── unpack_jagrisc.js ├── unpack_jagrisc_fast.js └── unpack_riscv.S ├── c_library ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── Makefile ├── Readme.md ├── src │ └── lib.rs ├── upkr.c └── upkr.h ├── c_unpacker ├── .gitignore ├── Makefile ├── decode_bit_alt.c ├── main.c ├── readme.txt └── unpack.c ├── dos_unpacker ├── readme.txt ├── unpack_x86_16_DOS.asm ├── unpack_x86_16_DOS_no_relocation.asm └── unpack_x86_16_DOS_no_repeated_offset.asm ├── fuzz ├── .gitignore ├── Cargo.lock ├── Cargo.toml └── fuzz_targets │ ├── all_configs.rs │ └── unpack.rs ├── release ├── .gitignore └── Makefile ├── src ├── context_state.rs ├── greedy_packer.rs ├── heatmap.rs ├── lib.rs ├── lz.rs ├── main.rs ├── match_finder.rs ├── parsing_packer.rs └── rans.rs └── z80_unpacker ├── .gitignore ├── Makefile ├── example ├── example.asm ├── example.sna ├── screens.reversed │ ├── Grongy - ZX Spectrum (2022).scr.upk │ ├── Schafft - Poison (2017).scr.upk │ ├── diver - Back to Bjork (2015).scr.upk │ └── diver - Mercenary 4. The Heaven's Devil (2014) (Forever 2014 Olympic Edition, 1).scr.upk └── screens │ ├── Grongy - ZX Spectrum (2022).scr │ ├── Grongy - ZX Spectrum (2022).scr.upk │ ├── Schafft - Poison (2017).scr │ ├── Schafft - Poison (2017).scr.upk │ ├── diver - Back to Bjork (2015).scr │ ├── diver - Back to Bjork (2015).scr.upk │ ├── diver - Mercenary 4. The Heaven's Devil (2014) (Forever 2014 Olympic Edition, 1).scr │ └── diver - Mercenary 4. The Heaven's Devil (2014) (Forever 2014 Olympic Edition, 1).scr.upk ├── readme.txt └── unpack.asm /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/Cargo.toml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/README.md -------------------------------------------------------------------------------- /UNLICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/UNLICENSE -------------------------------------------------------------------------------- /asm_unpackers/.gitignore: -------------------------------------------------------------------------------- 1 | /build/ 2 | -------------------------------------------------------------------------------- /asm_unpackers/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/asm_unpackers/Makefile -------------------------------------------------------------------------------- /asm_unpackers/test_data.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/asm_unpackers/test_data.bin -------------------------------------------------------------------------------- /asm_unpackers/test_data.upk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/asm_unpackers/test_data.upk -------------------------------------------------------------------------------- /asm_unpackers/unpack_arm32.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/asm_unpackers/unpack_arm32.S -------------------------------------------------------------------------------- /asm_unpackers/unpack_armv6m.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/asm_unpackers/unpack_armv6m.S -------------------------------------------------------------------------------- /asm_unpackers/unpack_jagrisc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/asm_unpackers/unpack_jagrisc.js -------------------------------------------------------------------------------- /asm_unpackers/unpack_jagrisc_fast.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/asm_unpackers/unpack_jagrisc_fast.js -------------------------------------------------------------------------------- /asm_unpackers/unpack_riscv.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/asm_unpackers/unpack_riscv.S -------------------------------------------------------------------------------- /c_library/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | /upkr -------------------------------------------------------------------------------- /c_library/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/c_library/Cargo.lock -------------------------------------------------------------------------------- /c_library/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/c_library/Cargo.toml -------------------------------------------------------------------------------- /c_library/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/c_library/Makefile -------------------------------------------------------------------------------- /c_library/Readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/c_library/Readme.md -------------------------------------------------------------------------------- /c_library/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/c_library/src/lib.rs -------------------------------------------------------------------------------- /c_library/upkr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/c_library/upkr.c -------------------------------------------------------------------------------- /c_library/upkr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/c_library/upkr.h -------------------------------------------------------------------------------- /c_unpacker/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/c_unpacker/.gitignore -------------------------------------------------------------------------------- /c_unpacker/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/c_unpacker/Makefile -------------------------------------------------------------------------------- /c_unpacker/decode_bit_alt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/c_unpacker/decode_bit_alt.c -------------------------------------------------------------------------------- /c_unpacker/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/c_unpacker/main.c -------------------------------------------------------------------------------- /c_unpacker/readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/c_unpacker/readme.txt -------------------------------------------------------------------------------- /c_unpacker/unpack.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/c_unpacker/unpack.c -------------------------------------------------------------------------------- /dos_unpacker/readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/dos_unpacker/readme.txt -------------------------------------------------------------------------------- /dos_unpacker/unpack_x86_16_DOS.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/dos_unpacker/unpack_x86_16_DOS.asm -------------------------------------------------------------------------------- /dos_unpacker/unpack_x86_16_DOS_no_relocation.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/dos_unpacker/unpack_x86_16_DOS_no_relocation.asm -------------------------------------------------------------------------------- /dos_unpacker/unpack_x86_16_DOS_no_repeated_offset.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/dos_unpacker/unpack_x86_16_DOS_no_repeated_offset.asm -------------------------------------------------------------------------------- /fuzz/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | corpus 3 | artifacts 4 | -------------------------------------------------------------------------------- /fuzz/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/fuzz/Cargo.lock -------------------------------------------------------------------------------- /fuzz/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/fuzz/Cargo.toml -------------------------------------------------------------------------------- /fuzz/fuzz_targets/all_configs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/fuzz/fuzz_targets/all_configs.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/unpack.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/fuzz/fuzz_targets/unpack.rs -------------------------------------------------------------------------------- /release/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/release/.gitignore -------------------------------------------------------------------------------- /release/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/release/Makefile -------------------------------------------------------------------------------- /src/context_state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/src/context_state.rs -------------------------------------------------------------------------------- /src/greedy_packer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/src/greedy_packer.rs -------------------------------------------------------------------------------- /src/heatmap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/src/heatmap.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/lz.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/src/lz.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/match_finder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/src/match_finder.rs -------------------------------------------------------------------------------- /src/parsing_packer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/src/parsing_packer.rs -------------------------------------------------------------------------------- /src/rans.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/src/rans.rs -------------------------------------------------------------------------------- /z80_unpacker/.gitignore: -------------------------------------------------------------------------------- 1 | *.bin 2 | *.tap 3 | *.lst 4 | -------------------------------------------------------------------------------- /z80_unpacker/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/Makefile -------------------------------------------------------------------------------- /z80_unpacker/example/example.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/example.asm -------------------------------------------------------------------------------- /z80_unpacker/example/example.sna: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/example.sna -------------------------------------------------------------------------------- /z80_unpacker/example/screens.reversed/Grongy - ZX Spectrum (2022).scr.upk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/screens.reversed/Grongy - ZX Spectrum (2022).scr.upk -------------------------------------------------------------------------------- /z80_unpacker/example/screens.reversed/Schafft - Poison (2017).scr.upk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/screens.reversed/Schafft - Poison (2017).scr.upk -------------------------------------------------------------------------------- /z80_unpacker/example/screens.reversed/diver - Back to Bjork (2015).scr.upk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/screens.reversed/diver - Back to Bjork (2015).scr.upk -------------------------------------------------------------------------------- /z80_unpacker/example/screens.reversed/diver - Mercenary 4. The Heaven's Devil (2014) (Forever 2014 Olympic Edition, 1).scr.upk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/screens.reversed/diver - Mercenary 4. The Heaven's Devil (2014) (Forever 2014 Olympic Edition, 1).scr.upk -------------------------------------------------------------------------------- /z80_unpacker/example/screens/Grongy - ZX Spectrum (2022).scr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/screens/Grongy - ZX Spectrum (2022).scr -------------------------------------------------------------------------------- /z80_unpacker/example/screens/Grongy - ZX Spectrum (2022).scr.upk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/screens/Grongy - ZX Spectrum (2022).scr.upk -------------------------------------------------------------------------------- /z80_unpacker/example/screens/Schafft - Poison (2017).scr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/screens/Schafft - Poison (2017).scr -------------------------------------------------------------------------------- /z80_unpacker/example/screens/Schafft - Poison (2017).scr.upk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/screens/Schafft - Poison (2017).scr.upk -------------------------------------------------------------------------------- /z80_unpacker/example/screens/diver - Back to Bjork (2015).scr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/screens/diver - Back to Bjork (2015).scr -------------------------------------------------------------------------------- /z80_unpacker/example/screens/diver - Back to Bjork (2015).scr.upk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/screens/diver - Back to Bjork (2015).scr.upk -------------------------------------------------------------------------------- /z80_unpacker/example/screens/diver - Mercenary 4. The Heaven's Devil (2014) (Forever 2014 Olympic Edition, 1).scr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/screens/diver - Mercenary 4. The Heaven's Devil (2014) (Forever 2014 Olympic Edition, 1).scr -------------------------------------------------------------------------------- /z80_unpacker/example/screens/diver - Mercenary 4. The Heaven's Devil (2014) (Forever 2014 Olympic Edition, 1).scr.upk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/example/screens/diver - Mercenary 4. The Heaven's Devil (2014) (Forever 2014 Olympic Edition, 1).scr.upk -------------------------------------------------------------------------------- /z80_unpacker/readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/readme.txt -------------------------------------------------------------------------------- /z80_unpacker/unpack.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exoticorn/upkr/HEAD/z80_unpacker/unpack.asm --------------------------------------------------------------------------------