Skip to content

ate47/atian-cod-tools

Repository files navigation

Atian Tools

Build

My set of tools. The code is more important than the features, so feel free to reuse it. 🙂

meme

Table of contents

GSC Compiler/Decompiler

Supported features

Name Revision Decompiler Compiler Source*
Black Ops 3 (T7) 1B Partial ate47/bo3-source
Black Ops 3 (T7) 1C ate47/bo3-source
Black Ops 4 (T8) 36 ate47/bo4-source
Black Ops Cold War (T9) 37 DEC ate47/bocw-source
Black Ops Cold War (T9) 38 DEC ate47/bocw-source
Modern Warfare III (JUP) 8A ate47/mwiii-source
Modern Warfare III (JUP) 8B DEC ate47/mwiii-source
Black Ops 6 (T10) 06 DEC & EXT ate47/bo6-source
Black Ops 6 (T10) 07 DEC & EXT EXT ate47/bo6-source
Black Ops 6 (T10) 0B DEC & EXT EXT ate47/bo6-source
Black Ops 6 (T10) 0C DEC & EXT EXT ate47/bo6-source
  • * : Some source repositories might not be public yet.
  • DEC: With pre-decode, see the GSC Decrypter section.
  • EXT: With extensions, The extensions aren't provided publicly, at least not by me.

Commands

# Compile gsc file

acts gscc <input.gsc> -g <game>

# Example
acts gscc my_script.gsc -g cw # Compile my_script.gsc into a cold war script
# Decompile gsc file

acts gscd file.gscc -g

# Example
acts gscd compiled.gscc -g # Decompile the script compiled.gscc

Dumper

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 III (COR): gscobj, scriptbundle, stringtable, localize, luafile, ddl.

  • Black Ops 6 (COR): gscobj.

  • DEC: Requires pre-decode

  • COR: Using Cordycep.

Commands

# Command
acts dp <pool>

# Example
acts dp stringtable

Some dumpers are writing to Compiled Files (.cf), the command cfd (cf dump) can extract them.

# Command
acts cfd <files>

# Example
acts cfd output_dump

GSC Decrypter

For the games after cw, the function to decrypt the strings isn't integrated inside acts. The scripts should be decrypted before giving them to the decompiler.

This method requires a dumped exe of the game and will execute it.

# Decrypt the scripts
acts scripts_decrypt <dumped game executable> <game> <encrypted dump> <output dir>

# Example with a cw dump
acts scripts_decrypt BlackOpsColdWar_dump.exe cw gsc_dump gsc_dump_dec

ACTS Lib

Prototype libary for random stuff, probably not linked to Call of Duty.

Dependencies

This tool is using and providing

Downloads

You can download the latest release here:

Related repositories

Lookup

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.

Credits