==================================================================================== # # this file has been created for the Lame patcher program available for both *nix # and Windows platforms. # You need this program for continuing the patching of your files: # # http://aluigi.org/mytoolz.htm#lpatch # # Quick step-by-step for Windows: # - launch lpatch.exe # - select this unrfsfix.lpatch file # - read the message windows and click yes # - select the file (usually executables or dlls) to patch # - read the message windows to know if everything has been patched correctly # - test your game TITLE Unreal engine (old games) unrfs work-around 0.1 by Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org INTRO Work-around for the unrfs vulnerability: . . http://aluigi.org/adv/unrfs-adv.txt . This patch disables the calling of FOutputDevice::Logf avoiding the format string vulnerability on most of the affected games and versions. FILE core.dll;core.so ;don't use ONLY_ONE BYTES_ORIGINAL F6 C7 20 ; TEST BH,20 C7 45 FC 00 00 00 00 ; MOV DWORD PTR SS:[EBP-4],0 75 ?? ; JNZ A1 ?? ?? ?? ?? ; MOV EAX,DWORD PTR DS:[?GLog@@3PAVFOutputDevice@@A 8D 95 ?? ?? FF FF ; LEA EDX,[EBP-2018] 52 ; PUSH EDX 68 FF 02 00 00 ; PUSH 2FF 50 ; PUSH EAX E8 ?? ?? ?? ?? ; CALL ?Logf@FOutputDevice@@QAAXW4EName@@PBGZZ 83 C4 0C ; ADD ESP,0C F6 C3 08 ; TEST BL,08 74 ?? ; JZ BYTES_PATCH ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? eb ; jmp