imho.ws |
|
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
04.03.2014, 15:37 | # 1 |
Newbie
Регистрация: 04.03.2014
Сообщения: 8
|
Разбор 3х одинаковых программ и поиск их версий (1.0, 1.1 и 1.2)
Здравствуйте. Не знаю в какой раздел написать, переместите пожалуйста.
Мне нужна помощь в ассемблере. Нужно сравнить 3 практически одинаковых файла (.ехе), в каждом из них есть версия программы (1.0, 1.1 и 1.2). Открывал в WinHEX, там этой версии нет (в читаемом виде), думаю нужно искать в ассемблере. Сам я асм читать не умею, лишь пробовал запускать в OllyDebug и сравнить, но толком ничего не выяснил. Ссылка на программы в архиве (это игра): Нажмите здесь, чтобы увидеть текст полностью
_https://www.dropbox.com/s/41jb8i36pfgi620/Game%201.0%20%2B%201.1%20%2B%201.2%20ver.rar
(в архиве сначала запустите .bat файл (чтобы задать новую директорию для игры), а уже потом любой .exe) Версия программы появляется в нижней части экрана, прямо во время загрузки игры. Т.е. перебирать большой объем информации не нужно, все в самом начале. Может ли кто-нибудь помочь? Последний раз редактировалось Merlin Cori; 04.03.2014 в 15:49. |
04.03.2014, 15:54 | # 3 |
Newbie
Регистрация: 04.03.2014
Сообщения: 8
|
Ну я поддерживаю эту старенькую (2006г) игру на торрентах, онлайн все еще стабилен. Но для улучшения игры нужно научиться изменять ее версию (в обозревателе игр нельзя зайти в игру более старой\новой версии), а это даст возможность добавлять все новые и новые дополнения (новые автомобили, детали для редактора карт и т.п.). Апдейтер я уже написал, а вот изменить версию игры у меня знаний не хватает...
PS: изменить ее можно, т.к. последняя версия 1.2 уже не от разработчиков, скорее фан патч. Последний раз редактировалось FirstPro; 04.03.2014 в 15:57. |
04.03.2014, 16:34 | # 4 |
Moderator
Регистрация: 29.04.2002
Адрес: Moscow
Пол: Male
Сообщения: 2 980
|
ээээ... т.е. вы полагаете, что для изменения версии программы достаточно перебить ее номер в exe-файле?
__________________
Есть две бесконечные вещи, Вселенная и глупость. Впрочем, на счет Вселенной, я не уверен |
04.03.2014, 16:42 | # 5 |
Newbie
Регистрация: 04.03.2014
Сообщения: 8
|
Дело только в файле, у меня их сейчас 3 штуки. Изнутри они практически одинаковые, изменяются только некоторые участки. Пока-что я не смог узнать в каком месте можно изменить версию. Думаю что версия загружается в память либо где-то в ресурсах. В общем я новичок, может кто и подскажет.
|
04.03.2014, 16:45 | # 6 |
Moderator
Регистрация: 29.04.2002
Адрес: Moscow
Пол: Male
Сообщения: 2 980
|
насколько они одинаковые можете проверить выполнив команду в консоле
fc /b file1 file2 где file1 и file2 ваши програмки количество различий вас неприятно удивит
__________________
Есть две бесконечные вещи, Вселенная и глупость. Впрочем, на счет Вселенной, я не уверен |
04.03.2014, 17:08 | # 9 |
Newbie
Регистрация: 04.03.2014
Сообщения: 8
|
Запустил в консоли вашу команду, там не так много адресов в конце. А сам код смотрел в WinHEX, везде одно и тоже (на глаз). Но суть моего вопроса в другом, ведь я не могу найти цифру версии программы. Думаю что нужно анализировать ассемблер, вот и интересуюсь.
|
04.03.2014, 18:26 | # 11 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 405
|
Если «разница в размере» более, чем в 100 байт - ни о какой «идентичности» речь уже идти не может в принципе. Разница в пару десятков байт даже при совпадении размера - это уже ОЧЕНЬ серёзно, как правило. «Основные участки кода» - совпадают у очень многих программ для Windows в скомпилированном виде. Для программ под .net - вплоть до 90%... Если приспичило определять версию файла, в котором она не прописана в качестве PE-ресурса - самым надёжным методом является вычисление контрольной суммы (hashsum). md5, sha256 - не суть важно...
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
04.03.2014, 19:10 | # 13 |
КОТовский
Регистрация: 12.03.2003
Адрес: ОренБюргер
Пол: Male
Сообщения: 1 569
|
FirstPro, я не первый кто тебе говорит что ты занимаешься ерундой.
я в ассемблере не силён, но пример на паскале (немного грубоватый) а:='2.3' b:=2.3 Разницу чувствуешь? А так? d:=2 e:=3 ver:=d+e/10 Ты не телепат, угадывать как разработчик записал версию проги. Хотя декомпилятор ни кто не отменял
__________________
Все мы финансовые гении и эффективные менеджеры, только не у всех одногруппник или сосед по даче - президент. |
05.03.2014, 06:49 | # 15 |
КОТовский
Регистрация: 12.03.2003
Адрес: ОренБюргер
Пол: Male
Сообщения: 1 569
|
Merlin Cori, одно другому не мешает.
Я не зная ассемблера написал же калькулятор (именно написал, а не с инета скачал) когда меня знакомый попросил (к стати, тогда и инетом особо не воспользоваться было, роскошь была). Из всех источников у меня был его конспект и в институте ему выдали дискету с ассемблером и какой то справочник с командами в виде текстовика. Кроме того. До этого (или после этого) я страдал "вскрывая игрухи" что выражалось в том, что под декомпилятором искал переменную, что отвечает за уменьшение таймера (соответственно увеличение скорости игры) Глупость конечно. Но в своё время недели две наивно ковырялся в игрухе типа тетриса
__________________
Все мы финансовые гении и эффективные менеджеры, только не у всех одногруппник или сосед по даче - президент. Последний раз редактировалось Alex Dark; 05.03.2014 в 06:52. |
05.03.2014, 17:09 | # 16 |
Newbie
Регистрация: 04.03.2014
Сообщения: 8
|
Собственно это мне и нужно. Главное, что найти эту переменную возможно, это доказывает версия 1.2 (официально не выходила). Я пробовал в OllyDbg искать по памяти, но толи не нашел, толи ее там нет. Основы ассемблера не знаю и найти переменную при загрузке игры не могу, хотя знаю где она отображается (находил в WinHEX что то типа "Версия: *.*", под * как раз и есть версия, подставляется туда откуда-то). Может вы сможете мне помочь?
|
06.03.2014, 22:01 | # 17 |
КОТовский
Регистрация: 12.03.2003
Адрес: ОренБюргер
Пол: Male
Сообщения: 1 569
|
Боюсь что нет. Просто жаль терять впустую время.
Ещё лет 15-20 назад мне это было бы интересно. А сейчас, имея "опыт ковыряния" + опыт декомпилирования (я при этом знал, на чём написана прога и чем её декомпилировать, а не ассемблером как у тебя) я понимаю что это не совсем удачная идея. Поверь на слово, смотреть под ассемблером 2-3 килобайта кода геморно. А три метра как у тебя - проще соседский Wifi-роутер по WPA2 взломать из принципа.
__________________
Все мы финансовые гении и эффективные менеджеры, только не у всех одногруппник или сосед по даче - президент. |