My set of tools. The code is more important than the features, so feel free to reuse it. π
Wiki
See the wiki to know how to use the features
Table of contents
Supported game
| Name | Rev | Decompiler | Compiler | Type(s) | Source* |
|---|---|---|---|---|---|
| Black Ops 3 (T7) | 1B | Partial | β | pc | ate47/oldcod-source |
| Black Ops 3 (T7) | 1C | β | β | pc,ps4 | ate47/bo3-source |
| Black Ops 4 (T8) | 31 | β | β | ps4 | ate47/oldcod-source |
| Black Ops 4 (T8) | 34 | β | β | ps4 | ate47/oldcod-source |
| Black Ops 4 (T8) | 35 | Partial | β | pc | None |
| Black Ops 4 (T8) | 36 | β | β | pc,ps4 | ate47/bo4-source |
| Black Ops Cold War (T9) | 37 | Dc | β | pc,ps4,alpha | ate47/oldcod-source |
| Black Ops Cold War (T9) | 38 | Dc | β | pc,ps4 | ate47/bocw-source |
| Modern Warfare III (JUP) | 8A | β | β | all | ate47/mwiii-source |
| Modern Warfare III (JUP) | 8B | Dc | β | all | ate47/mwiii-source |
| Black Ops 6 (T10) | 06 | Dc | β | all | ate47/bo6-source |
| Black Ops 6 (T10) | 07 | Dc | β | all | ate47/bo6-source |
| Black Ops 6 (T10) | 0B | Dc | β | all | ate47/bo6-source |
| Black Ops 6 (T10) | 0C | Dc | β | all | ate47/bo6-source |
| Black Ops 6 (T10) | 0D | Dc | β | all | ate47/bo6-source |
| Black Ops 6 (T10) | 0E | Dc | β | all | ate47/bo6-source |
| Black Ops 6 (T10) | 10 | Dc | β | all | ate47/bo6-source |
| Black Ops 6 (T10) | 11 | Dc | β | all | ate47/bo6-source |
| Black Ops 6 (T10) | 12 | Dc | β | all | ate47/bo6-source |
| Black Ops 6 (T10) | 14 | Dc | β | all+old | ate47/bo6-source |
| Black Ops 7 (SAT) | 14 | Dc | β | all | ate47/bo7-source |
- * : Some source repositories might not be public yet.
- Dc: With pre-decode, see the Using encrypted scripts in the wiki.
- Ex: With extensions, The extensions aren't provided publicly, at least not by me.
Supported pools
-
Black Ops 3:
scriptbundle,stringtable,structuredtable,rawfile,scriptparsetree. -
Black Ops 4:
weapon,customizationtable,rawfile,stringtable,structuredtable,ddl,scriptparsetree,scriptparsetreeforced,scriptbundle,scriptbundlelist,ttf,bgcache,maptable,maptablelist,maptableloadingimages,maptablepreviewimages,playerrolecategory,playerrolecategorytable,gametypetable,unlockableitem,unlockableitemtable,playlists,hierarchicaltasknetwork,storagefile,storagefilelist,storeproduct,storecategory,storecategorylist,rank,ranktable,prestige,prestigetable,labelstore,labelstorelist,rawstring. -
Black Ops Cold War (DEC):
rawfile,rawfilepreproc,rawtextfile,stringtable,scriptparsetree,scriptbundle. -
Modern Warfare 2019 (COR):
scriptfile. -
Modern Warfare III (COR):
gscobj,scriptbundle,stringtable,localize,luafile,ddl. -
DEC: Requires pre-decode
-
COR: Using Cordycep.
Supported fastfile formats
iw: MW19, MWII, MWIII, BO6, BO7.t9: CW, COD2020.t78: BO4, BO4(old), BO4(dev), BO3.zone:.ff.zonefiles
Supported pools
-
bo3(EXE):string,rawfile,scriptparsetree -
bo4(EXE):string,rawfile,scriptparsetree,scriptparsetreedbg,bgcache,keyvaluepairs,luafile,rawstring,scriptbundle,scriptparsetreeforced,streamkey,stringtable,weapon,weapon_tunables,localize,structuredtable,localizeentry -
cw(EXE):string,scriptparsetree,scriptbundle,bgcache,ddl,localizeentry -
bo6(EXE):string,rawfile,gscobj,gscgdb,luafile,aitype,scriptbundle,stringtable,keyvaluepairs,netconststrings,operator,operatorlist,reactiveoperator,operatorskin,spray,contraildata,parachutedata,ddl,aishootstyleslist,ai_token_types,ai_token_stealing_definitions,ai_token_definitions,localize -
bo6sp(EXE):string,rawfile,gscobj,gscgdb,stringtable,ddl,scriptbundle,netconststrings,luafile,aitype,localize -
gsc(DEC):scriptparsetree,gscobj,scriptfile -
EXE: Requires executable
-
DEC: Requires executable when decompiling scripts with pre-decode required
Supported pools
bo4:rawfile,scriptparsetree,scriptparsetreedbg,scriptparsetreeforced,structuredtable,luafile,rawstring,scriptbundle,stringtable,image,localize,ttf,bgcachecw:rawfile
Prototype libary for random stuff, probably not linked to Call of Duty.
This tool is using and providing different dependencies, see LICENSE.md for a full list.
You can download the latest release here:
- Latest Release
- Latest Dev Build (Might be unstable)
The tool checkupdate allows to check for the latest update.
- ate47/t8-atian-menu : All the notes and dump generated by this tool. (All games)
- ate47/BOHashTool : Tool to test hashes with error (en/de)coder for Black Ops games
To have a lookup over the extracted hashes, you can use a file named strings.txt when using the process, it will be loaded automatically, one string per line.
You can also use .wni compiled files, create a directory with the name package_index and put the .wni files in it.
The tool download_hash_index allows to download the latest hash index from ate47/HashIndex.
- Serious's t8-compiler for some opcodes for Black Ops 4, it fasted up the process of understanding the internal game functions. Also for the childthread operator syntax.
- JariKCoding's CoDLuaDecompiler to understand the Lua HK scripting format.
- Jake-NotTheMuss's hksc I've modified to support BO4 Lua compilation for the fastfile linker.