Ramil Опубликовано 22 марта, 2012 Поделиться Опубликовано 22 марта, 2012 Здравтвуйте геймхакеры. У меня проблема с игрой Вьетконг 2. Раньше я спрашивал у вас, но опять нужна ваша помощь. Не могу взломать патроны. Тип 4 байта, известное значение, ищу, после 3 отсеивания, адресов 0. Как подсказал Xipho неизвестное значение, я нашёл адрес, но когда делаю скрипт, у меня оружие перезаряжается. Патронов аж тысяча. Как сделать чтобы патронов было столько чтобы оружие не перезаряжалось. Долго думал как сделать, но не смог. Помогите. Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 22 марта, 2012 Поделиться Опубликовано 22 марта, 2012 Подробнее опиши. Какой тип патронов нашел, правильный вообще адрес ? Еще в структуре посмотри может рядом есть максимальное значение. Ссылка на комментарий Поделиться на другие сайты Поделиться
Ramil Опубликовано 22 марта, 2012 Автор Поделиться Опубликовано 22 марта, 2012 Я нашёл адрес патронов тип флоат или байт, неизвестное значение. На адресе поставил заморозку, патроны не кончались. Если тип байт то там значение было где то 200 и больше, а флоат пример16535665. Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 22 марта, 2012 Поделиться Опубликовано 22 марта, 2012 Омг определись уже байт или флоат, покажи инструкцию. Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 22 марта, 2012 Поделиться Опубликовано 22 марта, 2012 Оно не может быть "байт или флоат", адрес реального значения может быть только один и только одного типа, если находится несколько - это или идентичные значения или экранные. Игровой код работает всегда с одним адресом. Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 22 марта, 2012 Поделиться Опубликовано 22 марта, 2012 Уверен это тот же адрес, один флоат другой байт)) Ссылка на комментарий Поделиться на другие сайты Поделиться
SER[G]ANT Опубликовано 22 марта, 2012 Поделиться Опубликовано 22 марта, 2012 В данной игре значение патрон зашифровано и его нужно искать как "неизвестное значение".Скрипт на бесконечные патроны (не уменьшаются):[ENABLE]"game.dll"+12F140:nopnop[DISABLE]"game.dll"+12F140:mov [esi],eaxЧтобы задать патронам определенное число, нужно разобраться в методе шифрования или же сократить кол-во патрон в обоиме до красивого (99 напрмер), посмотреть текущее значение адреса с патронами и использовать его в скрипте Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 23 марта, 2012 Поделиться Опубликовано 23 марта, 2012 Примерно так.[ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)label(exit)newmem:mov eax,(int)99originalcode:mov [esi],eaxexit:jmp returnhere"game.dll"+12F140:nopreturnhere:[DISABLE]"game.dll"+12F140:mov [esi],eaxdealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
Ramil Опубликовано 23 марта, 2012 Автор Поделиться Опубликовано 23 марта, 2012 Вот мои инструкции 01387AC3 - 8B 0C 3E - mov ecx,[esi+edi]01436628 - 8B 0F - mov ecx,[edi]014366B0 - 8B 0F - mov ecx,[edi]0142CD61 - 8B 56 30 - mov edx,[esi+30]01431FD0 - 8B 0C 32 - mov ecx,[edx+esi]01431FF9 - 8B 0F - mov ecx,[edi]013DEFB0 - 89 06 - mov [esi],eaxПростите скриншотом не смог. Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 23 марта, 2012 Поделиться Опубликовано 23 марта, 2012 Ололо тебе дали готовый скрипт, просто найди game.dll+12F140 , инструкция mov [esi],eax Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 23 марта, 2012 Поделиться Опубликовано 23 марта, 2012 Не факт, что у него код будет находиться по тем же смещениям. Ramil, ты инструкцию нашёл - поставь на неё брейкпоинт и посмотри, что в регистрах. В одном будет указатель на твои текущие патроны, в другом - новое значение патронов, т.е. как будто ты уже пострелял.Надо будет в тот регистр, где хранится новое значение патронов, записать (int)99, судя по скриптам выше. Ссылка на комментарий Поделиться на другие сайты Поделиться
SER[G]ANT Опубликовано 23 марта, 2012 Поделиться Опубликовано 23 марта, 2012 Лучше перечитай мое сообщение выше еще раз.(int)99 не годиться, т.к. в игре будет отображаться как "-12345" (12345 как пример), а после диактивации скрипта, патронов в обоиме будет 0. Работает, но не красиво же. Разве что, можно сделать еще скрипт на экранное значение патронов и активировать их вместе. Ссылка на комментарий Поделиться на другие сайты Поделиться
Ramil Опубликовано 23 марта, 2012 Автор Поделиться Опубликовано 23 марта, 2012 Не знаю но у меня получилось как подсказал ZOCKIR. Скрипт у меня получился такой.[ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)newmem:mov eax,(int)99originalcode:mov [esi],eaxmov [esi+04],edxjmp returnhere"game.dll"+12EFB0:jmp newmemreturnhere:[DISABLE]"game.dll"+12EFB0:mov [esi],eaxmov [esi+04],edxdealloc(newmem)//Alt: db 89 06 89 56 04Патронов стало -1654 примерно, но перезарядки нет. Хорошо, но как сделать 99, может я не правильно делаю. Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 23 марта, 2012 Поделиться Опубликовано 23 марта, 2012 Посмотри, что игра делает с регистром eax выше твоей инструкции. Раз говорят, что там значение шифрованное - вот и выясни, как оно шифруется. Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 24 марта, 2012 Поделиться Опубликовано 24 марта, 2012 SER[G]ANT ведь написал, что (int)99 в игре покажет -1234, лучше нопать инструкцию. Кенг он не сможет "выяснить" столько. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения