Skip to content

Fixed an issue that FindVirtualTable got incorrect vtable address for CServerSideClient::FilterMessage under linux.#4

Merged
Poggicek merged 3 commits intoSource2ZE:masterfrom
hzqst:master
Nov 18, 2024
Merged

Fixed an issue that FindVirtualTable got incorrect vtable address for CServerSideClient::FilterMessage under linux.#4
Poggicek merged 3 commits intoSource2ZE:masterfrom
hzqst:master

Conversation

@hzqst
Copy link
Copy Markdown
Contributor

@hzqst hzqst commented Nov 18, 2024

** Incorrect vtable: **
Screenshot 2024-11-18 151202

** Correct vtable: **
Screenshot 2024-11-18 150958

have not tested yet but it should work as expected.

@Poggicek
Copy link
Copy Markdown
Collaborator

Thanks, just to be sure. Are zou sure this works on windows? Cuz from the looks of it offset wasn't previously used and it would default to 0, but now that its fixed it will check for 8 on windows instead and believe that will break

@Vauff
Copy link
Copy Markdown
Contributor

Vauff commented Nov 18, 2024

Thanks, just to be sure. Are zou sure this works on windows? Cuz from the looks of it offset wasn't previously used and it would default to 0, but now that its fixed it will check for 8 on windows instead and believe that will break

Seems like plat_win.cpp already used the parameter.

if (*(int32_t*)((uintptr_t)completeObjectLocator - 0x8) != offset)

@Poggicek
Copy link
Copy Markdown
Collaborator

Ah right yeah, now that clicks in. I did that change only in cs2servergui just for this exact use case. Given that CS2ServerGUI only explicitly supports windows I didn't bother doing this in the linux impl

@Poggicek Poggicek merged commit 0a5ef20 into Source2ZE:master Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants