Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
trying to check an obfuscated gamemode from ue1
#1
i need to check this function.
Code:
function ServerMove(float TimeStamp, Vector =?, Vector = ?, bool =?, bool =?, bool =?, bool =?
, bool =?, bool bForceFire, bool bForceAltFire, Engine.Actor.EDodgeDir DodgeMove, byte = ?, int =?, optional byte =?, optional int =?)
{
    local float =?
, =? , =    ?;
    local Rotator =?, Rot;
    local Vector =?, =?;
    local int =?, =    ?, =?;
    local Actor =?;
    local float =? , = ?;
    local bool =?, =?, =?;
    local Engine.Actor.EDodgeDir =?;
    local bool = ?;
    local int =?;
    local Vector =?;

    =? = 1;
    // End:0x94
    if(= ?)
    {
        switch(=?)
        {
            // End:0x4A
            case =? + 1:
                /* Statement decompilation error: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
                   
                */

                // End:0x9DB
                /*@Error*/;
                // Failed to format nests!:System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at UELib.Core.UStruct.UByteCodeDecompiler.DecompileNests(Boolean outputAllRemainingNests)
   at UELib.Core.UStruct.UByteCodeDecompiler.Decompile()
                // 97 & Type:If Position:0x9DB
                // Failed to format remaining nests!:System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at UELib.Core.UStruct.UByteCodeDecompiler.DecompileNests(Boolean outputAllRemainingNests)
   at UELib.Core.UStruct.UByteCodeDecompiler.Decompile()
                // 97 & Type:If Position:0x9DB
}

seems like a lot of the code is missing and replaced by those warnings, any idea how could i get it even if obfuscated with garbage variable names?
Reply
#2
If you need to de-obfuscate the code you will have to edit the UELib.dll
See: https://github.com/EliotVU/Unreal-Librar...tem.cs#L32

In older builds there was a de-obfuscator script you could enable (https://github.com/EliotVU/Unreal-Librar...tem.cs#L51)

As for the exception messages, this depends on what is causing the issue, the obfuscation? Unsupported instructions set? Or maybe the author added misleading instructions on purpose (like ClanManager for UT2004 did)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)