Search
Write a publication
Pull to refresh

Comments 15

Статья интересная, но выявлено несколько допущений:

Под DOSBox пригодится Turbo Debugger, DEBUG.EXE или другой отладчик.

Хороший Turbo Debugger трудно найти и если вы используете какой-то конкретный из всего списка указанного на сайте old-dos, то указывайте какой именно из списка, там не все корректно работают. Я хороший нашел в Turbo Assember 4.0 (TASM) (последняя строка)

Сам DOSBox "дохлик", у меня стоят DOSBox 0.74.3 и DOSBox-X (этот форк DB развивается)

Почему то не увидел совета по использованию PCEmu для использования DOS/Windows софта на современных машинах? DOS программы, по разному могут себя вести в DB и под PCEmu

Если Вы рекомендуете использовать TD, то почему листинги даёте из Ghidra? Ghidra не видит упаковки таких как PKLITE и других... в TD, можно в работающем коде, хотя бы догадаться. Надо уже иметь опыт в реверсе, чтобы работать с упакованными данными в Ghidra или в IDA

Спасибо за дополнения.

Это мой первый реверс под MS-DOS, так что я не претендую на звание профессора :) Удовлетворил любопытство - нашел повод поработать с 16-битным ассемблером под MS-DOS и познакомиться с Ghidra.

Работает первый же TurboDebugger из списка, аерсия 3.1 от 1992. В том и прелесть реверса - каждый пробует и выбирает инструменты, что работают у него :) Не работает TD.EXE, бросаем, берем другой отладчик.

Автор crackme указал в README, что программа работает под MS-DOS, WinXP и DOSBox - так и скопировал.

Надо уже иметь опыт в реверсе, чтобы работать с упакованными данными

Вот с этим согласен :) Для меня дизассемблер еще ни разу не опознал упаковщик автоматически. Сохраняю распакованную программу с помощью отладчика.

Еще один намек, что файл упакован - мы не найдем инструкций INT в исходном файле, хотя, кажется, они должны быть.

Почему, найти можно - это проходил на одной из моих любимых игр созданной на Watcom C + 2ная упаковка PKLITE + UPX В этом году еще руки не дошли до продолжения, так как начал создавать дизассемблер для DOS под Windows, Именно для того, чтобы точно видеть упаковщики и можно было их "выпиливать", такие как: ExePack, LzExe, PKLite, TityProg, Upx

На каждую новую версию упаковщика ведь нужен новый распаковщик? Наверное, универсального и всесильного распаковщика никогда не создадут, но задача интересная - автоматически опознать и вырубать хотя бы один распаковщик. А затем еще один, и еще... :)

Нашел файл с сигнатурами для PeID - говорит, содержит 1832 сигнатуры, но это только для PE-файлов. Сколько еще алгоритмов можно выдумать для других форматов - не счесть. Пожалуй, составлять сигнатуры упакованных или зараженных файлов - то еще искусство.

Да, универсального распаковщика нет, у меня есть исходники для всех известных, кроме PKLite. А вот распаковщики для самого PKLite, пересоздавались и одна из версий называется PKLite Arena, другая PKLite 1.2 и т.д.

Интересно, что упаковщик предлагает опцию -x expand a compressed file. Жаль, что от иных программ остаются только скриншоты и воспоминания.

Упаковщики сжимают файл - за это их и любили? Двоичные файлы сжимать трудно, но когда на дискете всего 1.44 Мб, радовались каждому лишнему байту?

Должно быть, порядочный крекер распаковывал программу, побеждал защиту, а затем упаковывал не хуже оригинала :)

Сейчас не нужно снова упаковывать программу, после дизассемблирования. Её лучше переписать, как одни из примеров - KeeperFX is an open-source remake and fan expansion of Dungeon Keeper

Ух ты, это та забавная игра, в которой играешь за могущественное зло, заставляешь работать местную нечисть, а она не всегда делает то, что приказано?:)

А Вы что-то другое хотели от нечисти? ;)

Привыкаешь в играх к абсолютной власти над юнитами, но юниты Dungeon Keeper живут сами по себе? Получил приказ, пошел выполнять, пока шел - забыл за чем посылали :) Видимо, нечисть древняя, забывчивая. А, может, бессмертная, потому и заряжена пофигизмом. Сегодня один начальник, завтра - другой.

Еще не играл, но слышал, заинтересовало.

Похоже, разработчики Dungeon Keeper просто взяли патч-ноты из реального офиса: это не случайные юниты, а менеджеры в прошлой жизни. Получили задачу - пошли, забыли. Напомнили - обиделись и пошли пить чай. А если повезёт - сами начнут строить себе отдельный логово-офис с видом на пропасть. Единственное, чего им не хватает - это "важной встречи, которая ни к чему не ведёт"

Вспомнил из "Зияющих высот":

Цель мероприятия - обнаружить тех, кто не одобряет его проведения, и принять меры.

Зато Dungeon Keeper дает право творцу свалить вину за поражение на подчиненных - мол, у меня-то руки прямые, а вот они мне все испортили. Такой аргумент не пройдет в Civilization.

Дизассемблер Sourcer надо использовать, чтобы всё было «лампово»)

Можно и так :) В этом crackme только читаешь листинги - нет прыжков в середину инструкции, чтобы ослепить дизассемблер.

Sign up to leave a comment.

Articles