Антиотладочных механизмов/крипторов/обфускаторов на вскидку не обнаружил, спокойно ковырял в ольке 1.10. Клиент большой, но видимо это единственная защита от анализа - типа вам будет лень ковырять СТОЛЬКО добра :) Ну и 9й cpp рантайм с замангленными именами неизменно доставляет, когда видишь километровые имена функций в отладчике
(
Read more... )
Насколько я помню, перед base32 (а не 64) кодированием логина и пароля в preferences.xml пароль шифруется обычным XOR по смешному ключу в виде прикольного слова.
RSA? не, не слышали. в *этой* части клиента его нет.
И движок надо не в ехе расковыривать, а в питоне. Там все вкуснее и интереснее.
Хотя, если поможете снять дамп некоторых модулей, находящихся именно в ехе (прилинкованных из Питона же), будет оченно приятно и благодарственно.
Reply
А что ковырять надо питон - это я уже понял, там интересные потрошка торчат например в файле accountcommands.pyc:
CMD_SET_MONEY
CMD_ADD_XP
CMD_ADD_TMAN_XP
CMD_UNLOCK_ALL
говорящие названия команд. Правда наивный шаг прописать эти команды в preferences.xml примерно так:
KEY_F9
KEY_F10
KEY_F11
KEY_LEFTMOUSE
KEY_MOUSE1
...
не проканал. Иначе всё было бы слишком уж просто :)
Reply
Действительно, раньше пасс умещался в 16-20 байт (на глазок, не считал), а счас это - длиннющая строка.
И тем не менее, уверен, расшифровывается она в самом питоне.
хотя, возможно, Питон импортирует нечто, на С компилированное. В таком ключе работы Питона я не разбирался. :)
Что до секретных команд - они еще валидируются и в клиенте, и на сервере. Даже обойдя валидацию в клиенте некоторых тестовых команд, типа, поломать модули, добавить жизни, - сервер не реагирует на них, если у клиента не выставлены хитрые флаги в аккаунте.
В общем, добро пожаловать в клуб ковырятелей танчиков :)
Reply
Reply
и верно подмечено, самое вкусное - в Питоне. А самое-самое - в Питоне на сервере :)
Еще в клиенте есть обрывки SQL-запросов (я последнюю версию клиента смотрел, когда она была 0.7.1 вроде, то есть несколько месяцев назад, еще солнышко светило).
Интересно было бы посмотреть, как создаются и пишутся реплеи, удостовериться, что в клиент не идут лишние данные (wall-hack , aim-bot), пощупать на предмет arbitrary SQL-запросов в плане получения лишней информации о чужих аккаунтах.
прием подкладки фейковой dll мне очень по нраву, сам когда-то так какой-то простой lpt-dongle обманывал.
Reply
Приём с dll старый, но не теряющий своей актуальности.
Reply
Leave a comment