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.
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");
}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 -spacewarThis 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 -verifyAfter 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 -noextModule 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:
- Clone the Git repo. Do NOT download it as ZIP, that won't work.
- Update the submodules and run
premake5 vs2022or simply use the deliveredgenerate.bat. - Build via solution file in
boiii.sln(located in thebuildfolder).
| 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. |
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.
- boiii-free - codebase
- Likeicareaboutit - Steam workshop downloader
- Scylla - module dumper
You can find the dedicated server installer here.