Skip to content

PES 2013 community server: game stuck on news screen — what closes it? #38

@Erobxhn74c

Description

@Erobxhn74c

Hi,

I'm building a community server for PES 2013 PC, heavily inspired by fiveserver. I've made significant progress but I'm stuck on one specific issue and I believe you might have the answer.

What works so far:

  • XOR key discovered: [0x6b, 0xfc, 0x2e, 0x52]
  • Frame structure: 10B header + 24B fixed + payload
  • dsound.dll proxy hooking connect/send/recv/WSARecv
  • Full handshake fabricated: 0x3004 → 0x3012 → 0x3042 → 0x3052 → 0x3062 → 0x4101 → 0x4201
  • info_br.txt served correctly via WSARecv overlapped I/O injection — confirmed via InternetReadFile hook showing the body is received

The problem:
After the game displays the news/message screen with the text from info_br.txt, it never advances. Using x64dbg I traced the issue to this loop:

0x0113E440  — main wait loop
0x0113E44E  — CALL 0x05B6DFF  (check function)
0x05B6E4C   — test al,al  (al=0 = not confirmed, al=1 = advance)
0x05B6E4E   — JE back to loop
0x0113E456  — CALL SleepEx (1ms, loops ~1000000 times)

The check function at 0x05B6DFF always returns al=0. No keyboard input, gamepad input, or WSARecv EOF signal changes this.

My question:
In PES 5/6, what makes the game advance past the news screen? Looking at your code I see the sequence is:

  1. sendZeros(0x2009, 4)
  2. sendData(0x200a, data) — news content
  3. sendZeros(0x200b, 0) — this is sent at the end

Is packet 0x200b the signal that closes the news screen? PES 2013 uses a completely different port/protocol (TCP 15010 with XOR, not the 0x2xxx range), but I'm wondering if there's an equivalent "close news" signal that I'm missing.

Any insight would be greatly appreciated. Happy to share more details about the PES 2013 protocol if useful.

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions