From c75d03fb4aa488cf06ed986bc307c24f4d4e502d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Thu, 9 Jan 2025 11:01:04 +0100 Subject: [PATCH] steam.exe: Use ProcessWineUnixDebuggerPid to detect unix debugger. --- steam_helper/steam.cpp | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/steam_helper/steam.cpp b/steam_helper/steam.cpp index 946e4b77..cf95a8e8 100644 --- a/steam_helper/steam.cpp +++ b/steam_helper/steam.cpp @@ -815,24 +815,14 @@ static DWORD WINAPI steam_drm_thread(void *arg) BOOL is_ptraced(void) { - char key[50]; - int value; - FILE *fp = fopen("/proc/self/status", "r"); - BOOL ret = FALSE; + DWORD len; + int pid; - if (!fp) return FALSE; + if (NtQueryInformationProcess( GetCurrentProcess(), 1100 /* ProcessWineUnixDebuggerPid */, + &pid, sizeof(pid), &len )) + return FALSE; - while (fscanf(fp, " %s %d\n", key, &value) > 0) - { - if (!strcmp("TracerPid:", key)) - { - ret = (value != 0); - break; - } - } - - fclose(fp); - return ret; + return !!pid; } int main(int argc, char *argv[])