Vault7: CIA Hacking Tools Revealed
Navigation: » Latest version
Error Munger
SECRET//NOFORN
Error Munge
Description:
The Error Munger utility is designed to work hand-in-hand with the EDGEngineering Development Branch Library Framework. In the interfaces for each library exists an enum containing the error codes for the library. Error codes conform to the SUCCEEDED and FAILED macro standard for all libraries. The Error Munger utility has two parts: a pre and post buid event for each library. In the pre-build event, Error Munger, parses the library interface looking for the specific enum containing the error codes. Once the enum is found, Error Munger modifies each nonzero value in the enum with a random number that has the same sign (i.e. positive values remain positive and negative values remain negative). The ErrorRestore post build event will restore the interface to its original state. Thus, the files never appear modified to the user, but the error codes are modified for the build. Before applying this to a new interface, it is recommended that you test the munger manually to ensure all of the values intended to be munged are actually getting munged. This can work for other enums but was built for integration with EDGEngineering Development Branch libraries. Also, in the case where an explicit value is not specified in an enum a munged value will not be provided. For example, in the line "eERROR_BAD_FILE," the value of eERROR_BAD_FILE will not be munged because no value has been provided. The interface would need to be modified to assign a value like "eERROR_BAD_FILE = -15,".
Design:
Stash Repository: Core Library
Example:
Change Log:
('excerpt' missing)
SECRET//NOFORN