Разбор 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) Версия программы появляется в нижней части экрана, прямо во время загрузки игры. Т.е. перебирать большой объем информации не нужно, все в самом начале. Может ли кто-нибудь помочь? |
Первый и главный вопрос ЗАЧЕМ?
|
Ну я поддерживаю эту старенькую (2006г) игру на торрентах, онлайн все еще стабилен. Но для улучшения игры нужно научиться изменять ее версию (в обозревателе игр нельзя зайти в игру более старой\новой версии), а это даст возможность добавлять все новые и новые дополнения (новые автомобили, детали для редактора карт и т.п.). Апдейтер я уже написал, а вот изменить версию игры у меня знаний не хватает...
PS: изменить ее можно, т.к. последняя версия 1.2 уже не от разработчиков, скорее фан патч. |
ээээ... т.е. вы полагаете, что для изменения версии программы достаточно перебить ее номер в exe-файле? :eek::eek::eek:
|
Дело только в файле, у меня их сейчас 3 штуки. Изнутри они практически одинаковые, изменяются только некоторые участки. Пока-что я не смог узнать в каком месте можно изменить версию. Думаю что версия загружается в память либо где-то в ресурсах. В общем я новичок, может кто и подскажет.
|
насколько они одинаковые можете проверить выполнив команду в консоле
fc /b file1 file2 где file1 и file2 ваши програмки количество различий вас неприятно удивит |
Ну как я понял у них разница в размере, хотя основные участки кода идентичны.
|
Цитата:
|
Запустил в консоли вашу команду, там не так много адресов в конце. А сам код смотрел в WinHEX, везде одно и тоже (на глаз). Но суть моего вопроса в другом, ведь я не могу найти цифру версии программы. Думаю что нужно анализировать ассемблер, вот и интересуюсь.
|
Вложений: 1
FirstPro, в файле версии нет
P.S. Могли бы и сами посмотреть |
Цитата:
Если «разница в размере» более, чем в 100 байт - ни о какой «идентичности» речь уже идти не может в принципе. Разница в пару десятков байт даже при совпадении размера - это уже ОЧЕНЬ серёзно, как правило. «Основные участки кода» - совпадают у очень многих программ для Windows в скомпилированном виде. Для программ под .net - вплоть до 90%... Если приспичило определять версию файла, в котором она не прописана в качестве PE-ресурса - самым надёжным методом является вычисление контрольной суммы (hashsum). md5, sha256 - не суть важно... |
Конечно в файле нет версии, ее можно увидеть только при запуске игры.
|
FirstPro, я не первый кто тебе говорит что ты занимаешься ерундой.
я в ассемблере не силён, но пример на паскале (немного грубоватый) а:='2.3' b:=2.3 Разницу чувствуешь? А так? d:=2 e:=3 ver:=d+e/10 Ты не телепат, угадывать как разработчик записал версию проги. Хотя декомпилятор ни кто не отменял |
Alex Dark,
Цитата:
Цитата:
|
Merlin Cori, одно другому не мешает.
Я не зная ассемблера написал же калькулятор (именно написал, а не с инета скачал) когда меня знакомый попросил (к стати, тогда и инетом особо не воспользоваться было, роскошь была). Из всех источников у меня был его конспект и в институте ему выдали дискету с ассемблером и какой то справочник с командами в виде текстовика. Кроме того. До этого (или после этого) я страдал "вскрывая игрухи" что выражалось в том, что под декомпилятором искал переменную, что отвечает за уменьшение таймера (соответственно увеличение скорости игры) Глупость конечно. Но в своё время недели две наивно ковырялся в игрухе типа тетриса |
Цитата:
|
Цитата:
Ещё лет 15-20 назад мне это было бы интересно. А сейчас, имея "опыт ковыряния" + опыт декомпилирования (я при этом знал, на чём написана прога и чем её декомпилировать, а не ассемблером как у тебя) я понимаю что это не совсем удачная идея. Поверь на слово, смотреть под ассемблером 2-3 килобайта кода геморно. А три метра как у тебя - проще соседский Wifi-роутер по WPA2 взломать из принципа. |
Цитата:
|
Часовой пояс GMT +4, время: 19:06. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.