Як ми бачимо, подгружается безліч бібліотек, причому червоним виділені невдалі спроби завантаження бібліотек. При виклику LoadLibrary проводиться спроба знайти деякі системні бібліотеки спочатку в директорії з виконуваним файлом, а вже потім в System32. Це дозволяє зробити наступну річ: вибрати якусь редкоіспользуемую системну бібліотеку з тих, які виконуваний файл спочатку шукає в своїй директорії (наприклад, rasadhlp.dll), створити свою бібліотеку з таким же ім'ям (яка буде сплайсов функцію SteamLogin) з прокинув експортом в оригінальну бібліотеку.
Умовно це буде виглядати наступним чином:
Ну я пишу dll-ку, яка повинна викинути користувача з стіма.
Імпортують функції з Steam.dll:
pfnSteamLogout = (SteamLogout) GetProcAddress (hSteamDLL, "SteamLogout");
pfnSteamCleanup = (SteamCleanup) GetProcAddress (hSteamDLL, "SteamCleanup");
pfnSteamShutdownEngine = (SteamShutdownEngine) GetProcAddress (hSteamDLL, "SteamShutdownEngine");
Я ж кажу, стим перейшов на використання COM-інтерфейсів, з ними взаємодія реалізується за іншим
Допоможеш мені?) Дуже потрібно викинути користувача ..
І в чому сенс? Стим автоматично перелогінітся практично відразу.
Чи не знав) А хіба не можна зробити так щоб він подумав що користувач сам вийшов?
Можна, можливо. Взяти і закрити клієнт.
А так щоб користувачам було запропоновано ввести логін і пас?
Так після закриття клієнта користувач і так захоче знову зайти в нього, а для цього доведеться вводити логін і пароль
Напевно зроблю так:
1) TerminateProcess Steam.exe
2) Парсинг файлу SteamAppData.vdf і заміна у "RememberPassword" 1 на 0.
3) StartProcess Steam.exe
Хотілося б звичайно просто вийти програмно)) Але видима не судилося поки)