RACE Packet Validation [Seeky, Star]
#1
RACE Packet Validation [Seeky, Star]

This code validates each section size in the header of incoming RACE packets and rejects them if they're invalid. This can act as an antifreeze and also protects against Star's RCE exploit. Also included is a check on the mii count field of the incoming USER record to prevent a buffer overflow from increasing that which could potentially be used as another RCE exploit.

WARNING: If other RCE exploits were to be found, this code would do nothing to protect against them. It's specifically designed to block these two exploits.

NTSC-U
C26555FC 00000019
89250008 2C090010
4C820020 89250009
2C090000 4182000C
28090028 4C820020
8945000A 2C0A0000
4182000C 280A0028
4C820020 8905000B
710700FB 41A2000C
28080038 4C820020
88E5000C 70EB007F
4182000C 28070040
4C820020 8965000D
2C0B0000 41A20028
280B00C0 4C820020
7D254A14 7D295214
7D294214 7D293A14
A1290014 2C090002
4C820020 8925000E
712A00EF 4182000C
28090008 4C820020
8925000F 2C090000
41820014 3929FFE8
5529063E 280900E0
4D810020 9421FFD0
60000000 00000000

NTSC-J
C26590F0 00000019
89250008 2C090010
4C820020 89250009
2C090000 4182000C
28090028 4C820020
8945000A 2C0A0000
4182000C 280A0028
4C820020 8905000B
710700FB 41A2000C
28080038 4C820020
88E5000C 70EB007F
4182000C 28070040
4C820020 8965000D
2C0B0000 41A20028
280B00C0 4C820020
7D254A14 7D295214
7D294214 7D293A14
A1290014 2C090002
4C820020 8925000E
712A00EF 4182000C
28090008 4C820020
8925000F 2C090000
41820014 3929FFE8
5529063E 280900E0
4D810020 9421FFD0
60000000 00000000

PAL
C2659A84 00000019
89250008 2C090010
4C820020 89250009
2C090000 4182000C
28090028 4C820020
8945000A 2C0A0000
4182000C 280A0028
4C820020 8905000B
710700FB 41A2000C
28080038 4C820020
88E5000C 70EB007F
4182000C 28070040
4C820020 8965000D
2C0B0000 41A20028
280B00C0 4C820020
7D254A14 7D295214
7D294214 7D293A14
A1290014 2C090002
4C820020 8925000E
712A00EF 4182000C
28090008 4C820020
8925000F 2C090000
41820014 3929FFE8
5529063E 280900E0
4D810020 9421FFD0
60000000 00000000

NTSC-K
C2647D9C 00000019
89250008 2C090010
4C820020 89250009
2C090000 4182000C
28090028 4C820020
8945000A 2C0A0000
4182000C 280A0028
4C820020 8905000B
710700FB 41A2000C
28080038 4C820020
88E5000C 70EB007F
4182000C 28070040
4C820020 8965000D
2C0B0000 41A20028
280B00C0 4C820020
7D254A14 7D295214
7D294214 7D293A14
A1290014 2C090002
4C820020 8925000E
712A00EF 4182000C
28090008 4C820020
8925000F 2C090000
41820014 3929FFE8
5529063E 280900E0
4D810020 9421FFD0
60000000 00000000

Source code is available here.

Code created by: Seeky (original version) and Star (corrections and adding the USER overflow fix)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)