V3ct0r 2,117 Report post Posted June 3, 2017 "Вы исчерпали число попыток, игра будет принудительно закрыта" Всем привет! Как известно, если 4 раза подряд ввести неверный пароль от Вашего аккаунта (или аккаунта Вашего друга, который забыл Вам сообщить пароль), то игра закроется с сообщением "Вы исчерпали число попыток, игра будет принудительно закрыта". Иногда это бывает неудобно. В данной статье я расскажу как сделать так, чтобы игра больше не закрывалась. Работать будем с 1.3х ру. оф. клиентом. Сразу скажу, что в данный момент я сам не знаю как это можно сделать, поэтому будем разбираться вместе. С чего начать? Давайте попробуем зацепиться за сообщение "Вы исчерпали число попыток, игра будет принудительно закрыта". Где оно может находиться? Либо в Game.exe, либо в StringSet.txt. Проверим StringSet.txt. Действительно, здесь есть такая строка: [251] "Вы исчерпали число попыток, игра будет принудительно закрыта" Запомним ее номер 251. Он же 0xFB в шестнадцатеричной системе счисления. Откроем Game.exe в отладчике OllyDBG и поищем это число. Нашлось всего 11 инструкций, это хорошая новость. Так же нас интересуют только инструкции PUSH, а их здесь всего 2. Проверим инструкцию push 0xFB по адресу 0x005076A5: Ниже видим вызов системной функции SendMessageA с параметром WM_DESTROY. Что делает функция SendMessageA()? Она отправляет заданное сообщение окну. А заданное сообщение у нас WM_DESTROY, это сообщение посылается когда необходимо уничтожить окно. Таким образом, можно сделать вывод, что этот код закрывает игру, а по адресу 0x005076A5 начинает загружается строка с сообщением. Перестаем гадать и ставим точку останова по адресу 0x005076A5, идем в игру и 4 раза вводим неверный пароль. Точка останова сработала! Значит где-то выше код, который закрывает клиент, если мы 4 раза введем неверный пароль. Теперь нас интересуют инструкции условных переходов. По адресу 0x00507691 можно увидеть инструкцию cmp EAX, 3. А дальше идет условный переход на адрес 0x00507709, если значение в регистре EAX меньше и не равно 3. Можно предположить, что в EAX попадает количество попыток неудачного входа: EAX = 0 (1 попытка); EAX = 1 (2 попытки); EAX = 2 (3 попытки); EAX = 3 (4 попытки). Давайте это проверим. Ставим точку останова по адресу 0x00507691. И вводим несколько раз неверный пароль. Действительно, если 3 раза ввести неверный пароль, то EAX = 2. Как заставить игру перестать закрываться? Очень просто: условный переход меняем на безусловный: Возвращаемся в игру и пробуем вводить неверный пароль. После 10 попытки становится понятно, что игра не закроется и мы достигли поставленной цели. Сохраняем наши изменения в Game.exe. Так же можно изменять количество попыток, после которых игра закроется. cmp EAX, <число попыток - 1> jmp 0x00507709 * число попыток должно быть в шестнадцатеричной системе счисления Например, инструкция cmp EAX,0A Означает, что игра закроется после 11 попытки. На этом все! 3 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
Rinor 59 Report post Posted June 7, 2017 @V3ct0r can you post it in english? im really interested on this. ( google translate doesnt translate it very good ) Quote Share this post Link to post Share on other sites