Как получить доступ к MainModule игры с античитом? - PullRequest
0 голосов
/ 05 февраля 2019

Около месяца назад я написал себе скрипт на python для автоматического входа в систему запущенной программы и другой связанной с ней информации, и для ее получения я использовал программу на C #.

Я скачал игру сегодня и когда я запускалэто, я получил System.ComponentModel.Win32Exception сообщение об ошибке.

Я открыл Visual Studio для отладки, где я получаю ошибки.Я получаю сообщение об ошибке, когда пытаюсь получить доступ к Process.MainModule.

. Когда я получаю сообщение об ошибке при написании этой программы, я искал ответы в Интернете и сделал программу C # 64-битной для доступа к 64-битным процессам изапрашивать права администратора для доступа к процессам, запущенным от имени администратора.Все вопросы, которые я мог найти об ошибках в MainModule, связаны с этими двумя проблемами.

В игре используется Easy Anti Cheat, и я предполагаю, что это может помешать мне получить доступ к процессу.

Iтакже использовал WMI, чтобы попытаться получить хотя бы путь к файлу, чтобы я мог получить некоторую информацию из функции FileVersionInfo.GetVersionInfo, но wmi также не возвращал путь к файлу или командную строку.

Я использовал psutilв Python, чтобы получить командную строку, потому что я не мог получить это из C # без использования WMI, поэтому я попытался получить некоторую информацию оттуда, но это ошибки на все, что я пытаюсь сделать, я даже не могу получить имя файла, тогда как яможет получить это из C #.

Связанная часть кода C #:

int pid; //I get this from command line arguments
Process p;
p = Process.GetProcessById(pid);
var filename = p.MainModule.FileName ?? "";

Есть ли способ, которым я могу получить хотя бы путь exe, чтобы я мог использовать FileVersionInfo, не вызывая анти-Читать программу и потенциально забанить себя?Даже диспетчер задач Windows 10 не показывает командную строку (но он открывает папку с файлами, когда я щелкаю правой кнопкой мыши по игре и выбираю открытый путь к файлу).

1 Ответ

0 голосов
/ 06 февраля 2019

Я нашел рабочий пример в C ++ и собрал с ним исполняемый файл, чтобы получить путь к процессу, и вызвал FileVersionInfo.GetVersionInfo с возвращенным путем, чтобы получить нужную мне информацию.

...