A standalone Unreal Engine 1 packages obfuscator CLI that runs on Unreal Engine.
It can automatically generate a list of names to obfuscate, it can also obfuscate by names prefix and/or suffix, or do a combination of these.
There's no need to type any bogus name as they get automatically generated either in a completely random manner or based on name hashes, you choose.
- Any Unreal Tournament (1999) package
- Any other Unreal Engine 1 package as long as it doesn't make use of features not present in built-in Unreal Tournament packages (E.g. A Rune package with
Core.uas only dependency should be fine)
Obfuscated package when disassembled using ScriptRays (in UnrealEd)

Obfuscated package when disassembled using UE Explorer

Obfuscated package when disassembled using UTPT

If you let the app generate completely random bogus names (which is the default behavior), not at all!
The original names get lost forever.
By default, the script text gets nullified (not just erased), this prevents any software from finding the object reference.
- ScriptRays (469e) won't be accessible from UnrealEd as an error message will inform the package has no script text
- UE Explorer won't show the ScriptText entry
- UTPT will show an empty panel when clicking on "View the Script"
- The Unreal Engine DLLs and their localization files:
Core.dll,Engine.dll,Core.int,Engine.int
- Remove the suffix
.templatefromUnrealEngine.propsand update the internal paths accordingly - Use the
Releaseconfiguration and set the platform tox86 - Build the solution
- There should be no need to run
setup.batfrom the output directory, run it if a startup issue occurs
If you wish to run the examples, head to Running the Examples.
The app follows the Unreal Engine 1 standards for standalone apps, therefore it needs to be ran just like you would run UCC for example.
Here are the steps to obfuscate a package using a name list:
- Run
setup.batto complete the setup, if you haven't yet - Place the package to be obfuscated in the app directory
- Ensure all the package dependencies are in the same directory
- On a command prompt, send this command to extract all the names from the package:
UPackageObfuscator INPUT_PACKAGE_NAME exportnames=names.ini - Open
names.iniand remove any name you don't wish to obfuscate - On a command prompt, send this command:
UPackageObfuscator INPUT_PACKAGE_NAME names=names.ini out=OUTPUT_PACKAGE_NAME