diff --git a/Classic/scripts/autoexec/ExploitPatches.cs b/Classic/scripts/autoexec/ExploitPatches.cs new file mode 100644 index 0000000..0109efb --- /dev/null +++ b/Classic/scripts/autoexec/ExploitPatches.cs @@ -0,0 +1,26 @@ +// Exploit Patches Script +// + + +// Remote Code Execution Patch by Bahke +memPatch("A3C300","A370C3A300E8D609A0FF8B46205053E98103A0FF"); +memPatch("A3C330","C70570C3A30000000000E8A109A0FF8B462085C0E96D03A0FF"); +memPatch("A3C400","E80BFB9FFF6089C38B1570C3A300B8FF00000029D039C37D0661E92509A0FFA380C3A30061A180C3A300E91509A0FF"); +memPatch("A3C430","E8DBFA9FFF6089C38B1570C3A300B8FF00000029D039C37D0661E9A009A0FFA380C3A30061A180C3A300E99009A0FF"); +memPatch("43C68B","E970FC5F00"); +memPatch("43C6AC","E97FFC5F00"); +memPatch("43CD3F","E9BCF65F00"); +memPatch("43CDEA","E941F65F00"); + + +// cmdArmor Patch +if (!$CmdArmor::Patched) +{ + $CmdArmor::Patched = true; + //memPatch("6FC746", "66B8000090906683FE017408ACAA84C075FA89D05F5EC3"); + memPatch("6FC746", "83FE017408ACAA84C075FA89D05F5EC3"); + //Removed register size override (cmp si, 1 -> cmp esi, 1) and got rid of + //weird NASM garbage code at the beginning. Had a mov ax, 0 which did nothing + //and wasn't necessary anyways because of xor eax, eax in the original. It also + //generated several NOPs after that for no reason. +} \ No newline at end of file