Skip to content

xifil/t7-lfx

Repository files navigation

License Open Issues Discord

NOTE: You must legally own Call of Duty®: Black Ops III (Steam) to run this mod. Cracked/Pirated versions of the game are NOT supported, and neither is the Microsoft Store version.

Improvements made

Here are some improvements made over the original T7x/BOIII/Ezz BOIII:

Code styling
Before, the general code style of this project was as follows:
void function_name()
{
    if (condition)
    {
        // ...
    }
 
    for (auto x = 0; x < etc; x++)
    {
        // ...
    }
 
    if (single_line_condition) return;
 
    printf("%s: very long statement!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",
           "string here");
}
For the sake of anyone who wants to dev this (including me), this has been swiftly changed to what (in my opinion) is just a better way to format code.
Single line statements have been removed, spacing in long statements trimmed to one tab, brackets don't always go on next line, etc. The same sample code would be as follows:
void function_name() {
    if (condition) {
        // ...
    }
 
    for (auto x = 0; x < etc; x++) {
        // ...
    }
 
    if (single_line_condition) {
        return; // no longer single line
    }
 
    printf("%s: very long statement!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",
        "string here");
}

Deauthorisation mode
If you are a comical person and have been robbed of your oh so special (and real 🤨) Steam account with Black Ops III, fear not, you can still use this mod. Simply add -spacewar to the command - you should run the following:

boiii.exe -spacewar

This works because I have changed the way Steam initialised with this flag, instead using Spacewar as the base app ID instead of Black Ops III.

unsigned int utils::GetAppID() {
    static const auto spacewar = ::utils::flags::has_flag("spacewar");
    return spacewar ? 480 /* Spacewar */ : 311210 /* Call of Duty: Black Ops III */;
}

Client display name
You can now change the client name in the top-left corner, and console prefix with one ingame command:

client_display_name [name]

It will look like this:

File verification
If you need to verify your files without Steam:

boiii.exe -verify

After pressing Play, your files will be verified in accordance to stored hashes in the code.
ext.dll
ext.dll is the file responsible for patching various exploits in Black Ops III, such as RCE exploits. Due to it being protected (for obvious reasons), it automatically closes the game when it detects IDA, x64dbg, Scylla, a debugger, or similar tools, which hinders the development process. The message boxes it gives out have been threaded (instead of blocking the entire execution, bruh.) and there is now a way to launch BOIII without ext.dll being loaded at all by using the launch flag:

boiii.exe -noext

Module dumper
Due to the fact that ext.dll panics whenever it sees Scylla, IDA, x64dbg, or any other debugging tools, a command to dump modules has been added to the game, it uses Scylla's code so will produce an identical dump to that of Scylla.

dump <name>

If you entered a valid module name, it will use that, enter nothing it will default to boiii.exe, and it will look something like this:

Compile from source

  • Clone the Git repo. Do NOT download it as ZIP, that won't work.
  • Update the submodules and run premake5 vs2022 or simply use the delivered generate.bat.
  • Build via solution file in boiii.sln (located in the build folder).

Premake arguments

Argument Description
--copy-to=PATH Optional, copy the EXE to a custom folder after build, define the path here if wanted.
--dev-build Enable development builds of the client.

Disclaimer

This software has been created purely for the purposes of academic research. It is not intended to be used to attack other systems. Project maintainers are not responsible or liable for misuse of the software. Use responsibly.

Credits


You can find the dedicated server installer here.

About

the ezz boiii fork of mine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 24

Languages