Показать сообщение отдельно
Старый 30.03.2015, 13:24   #1
AHrEJl
Подпольщик Tera
Аватар для AHrEJl
OFFLINE
Регистрация: 24.03.2015
Возраст: 35
Сообщений: 200
Благодарностей:
26 всего
Репутация: 79

Взлом ланчера Tera Online


Ребята, я в тупике. Сидел, 3 вечера ковырялся в лончере и ничего интересного не нашел. А хотелось бы сделать менеджер окон полноценный :)

Тут наверняка есть более опытные в плане дебага и Themida люди, подскажите чего-нибудь, плз?

Что расковырял:
  • Лончер отлично запускается дебаггером (OllyDbg) и дебажится прям вместе с запуском игры
  • Лончеру достаточно кукисов для того, чтобы залогинить перса. Печеньки хранятся в открытую в папке с лончером. На этом можно простенький авто-запускатель окон сделать, кстати, мб замусь.
  • Лончер делает CreateProcessW с набором параметров:
    1. lpApplicationName = 0
    2. lpCommandLine = &<строка запуска, с адресом и параметром про локаль, юникодная>
    3. lpProcessAttributes = 0
    4. LPSECURITY_ATTRIBUTES = 0
    5. bInheritHandles = False
    6. dwCreationFlags = 0x24 (CREATE_SUSPENDED | 0x20)
    7. lpEnvironment = 0
    8. lpCurrentDirectory = 0
    9. lpStartupInfo = <структура, с указанным размером (0x44). Остальное нули>
    10. lpProcessInformation = <указатель на нули>
  • После этого он разблокирует окно, которое вернулось в lpProcessInformation.hThread (никаких полезных операций между этими событиями нет)
  • Если остановиться тут, то игра запускается, но не логинится
  • Если заморозить все треды лончера кроме того, что запускает процесс - игра запускается
  • Затем крутит GetMessage-TranslateMessage-DispatchMessage
  • Если сделать ровно ту же последовательность действий из своего процесса - игра говорит, что хочет лончер :)
  • Лончер ничего не меняет в памяти процесса игры ни до разморозки треда, ни после.
  • Размораживает именно тот тред, который вернулся из CreateProcessW
  • Задачу залогиниться пока даже не ставил - открыть бы окно игры вообще =//

Собственно, какие у меня вопросы по этому счастью:
  • Как узнать, не лезет ли игра в память родительского процесса?
  • Что я пропустил в своих исследованиях, но на что стоит обратить внимание?

I think I'm going crazy
I'm loosing my mind.
 
Ответить с цитированием
Сказали спасибо:
GooG2e (08.04.2015), Ledniy (01.04.2015)