Как открыть файл nspack

Обновлено: 07.07.2024

Исполняемые сжатия любые средства сжатия в исполняемый файл и объединения сжатых данных с декомпрессионной кода в единый исполняемый файл. Когда этот сжатый исполняемый файл выполняется, код распаковки воссоздает исходный код из сжатого кода перед его выполнением. В большинстве случаев это происходит прозрачно, поэтому сжатый исполняемый файл может использоваться точно так же, как оригинал. Исполняемые компрессоры часто называют «упаковщиками времени выполнения», «упаковщиками программного обеспечения», «средствами защиты программного обеспечения» (или даже « полиморфными упаковщиками » и « средствами запутывания »).

Сжатый исполняемый файл можно рассматривать как самораспаковывающийся архив , в котором сжатый исполняемый файл упаковывается вместе с соответствующим кодом распаковки в исполняемый файл. Некоторые сжатые исполняемые файлы можно распаковать для восстановления исходного файла программы без непосредственного выполнения. Для этого можно использовать две программы: CUP386 и UNP.

Большинство сжатых исполняемых файлов распаковывают исходный код в памяти, и большинству требуется немного больше памяти для работы (потому что они должны хранить код распаковщика, сжатые данные и распакованный код). Более того, к некоторым сжатым исполняемым файлам предъявляются дополнительные требования, например к тем, которые записывают распакованный исполняемый файл в файловую систему перед его выполнением.

Сжатие исполняемых файлов не ограничивается двоичными исполняемыми файлами, но также может применяться к сценариям, таким как JavaScript . Поскольку большинство языков сценариев предназначены для работы с читаемым человеком кодом , который имеет высокую избыточность , сжатие может быть очень эффективным и столь же простым, как замена длинных имен, используемых для идентификации переменных и функций, более короткими версиями и / или удаление пробелов .

Содержание

Преимущества и недостатки

Дистрибьюторы программного обеспечения используют сжатие исполняемых файлов по разным причинам, в первую очередь для уменьшения требований к вторичному хранилищу своего программного обеспечения; поскольку исполняемые компрессоры специально разработаны для сжатия исполняемого кода, они часто обеспечивают лучшую степень сжатия, чем стандартные средства сжатия данных, такие как gzip , zip или bzip2 . Это позволяет дистрибьюторам программного обеспечения не выходить за рамки выбранных ими средств распространения (таких как CD-ROM , DVD-ROM или гибкий диск ) или сокращать время и полосу пропускания, необходимые клиентам для доступа к программному обеспечению, распространяемому через Интернет .

Сжатие исполняемых файлов также часто используется для предотвращения обратного проектирования или для обфускации содержимого исполняемого файла (например, чтобы скрыть присутствие вредоносных программ от антивирусных сканеров ) с помощью специальных методов сжатия и / или дополнительного шифрования . Исполняемое сжатие может использоваться для предотвращения прямой разборки , маскирования строковых литералов и изменения подписей. Хотя это не исключает возможности обратного проектирования, это может сделать процесс более дорогостоящим.

Сжатый исполняемый файл требует меньше места для хранения в файловой системе, поэтому меньше времени для передачи данных из файловой системы в память. С другой стороны, требуется некоторое время для распаковки данных перед началом выполнения. Однако скорость различных носителей информации не поспевает за средней скоростью процессора, поэтому хранилище очень часто является узким местом. Таким образом, сжатый исполняемый файл будет загружаться быстрее в большинстве распространенных систем. На современных настольных компьютерах это редко бывает заметно, если исполняемый файл не слишком большой, поэтому скорость загрузки не является основной причиной или против сжатия исполняемого файла.

В операционных системах, которые читают исполняемые образы по запросу с диска (см. Виртуальную память ), сжатые исполняемые файлы делают этот процесс менее эффективным. Заглушка декомпрессора выделяет блок памяти для хранения распакованных данных, который остается выделенным, пока исполняемый файл остается загруженным, независимо от того, используется он или нет, все время конкурируя за ресурсы памяти с другими приложениями. Если операционная система использует файл подкачки, распакованные данные должны быть записаны в него, чтобы освободить память, вместо того, чтобы просто отбрасывать неиспользуемые блоки данных и при необходимости повторно загружать их из исполняемого образа. Обычно это незаметно, но становится проблемой, когда исполняемый файл загружается более одного раза одновременно - операционная система не может повторно использовать блоки данных, которые она уже загрузила, данные должны быть распакованы в новый блок памяти и будут заменяться самостоятельно, если не используется. Дополнительные требования к хранилищу и времени означают, что необходимо тщательно взвесить, следует ли сжимать исполняемые файлы, которые обычно запускаются более одного раза одновременно.

Другой недостаток заключается в том, что некоторые утилиты больше не могут идентифицировать зависимости библиотеки времени выполнения , поскольку видна только статически связанная заглушка экстрактора.

Кроме того, некоторые старые антивирусные сканеры просто сообщают обо всех сжатых исполняемых файлах как о вирусах, потому что заглушки декомпрессора имеют с ними общие характеристики. Большинство современных антивирусных сканеров могут распаковывать несколько различных исполняемых уровней сжатия для проверки фактического исполняемого файла внутри, но некоторые популярные антивирусные и антивирусные сканеры имеют проблемы с ложными срабатываниями тревожных сигналов для сжатых исполняемых файлов. В попытке решить проблему вредоносного обфусцированную с помощью упаковщики IEEE Industry Connections Security Group представила программную метку , систему.

Сжатие исполняемых файлов было более популярным, когда объем памяти компьютеров ограничивался дискетами , которые были как медленными, так и носителями малой емкости, а также маленькими жесткими дисками ; это позволяло компьютеру хранить больше программного обеспечения в том же объеме пространства без неудобств, связанных с необходимостью вручную распаковывать архивный файл каждый раз, когда пользователь хотел использовать программное обеспечение. Однако сжатие исполняемых файлов стало менее популярным из-за увеличения емкости хранилища на компьютерах. Он используется в демосцене, где демоверсии должны оставаться в пределах размера, например 64 килобайта, для участия в некоторых соревнованиях. Только очень сложные форматы сжатия, увеличивающие время загрузки, позволяют сохранять исполняемый файл достаточно маленьким, чтобы участвовать в этих соревнованиях.

Список исполняемых упаковщиков

Исполняемый файл CP / M и MSX-DOS

Исполняемый файл DOS

Исполняемый файл OS / 2

Известные компрессоры исполняемых файлов под OS / 2 :

Новый исполняемый файл

Известные компрессоры исполняемых файлов для новых исполняемых файлов :

  • PackWin
  • PKWare PKLite (с версии 2.01)
  • WinLite

Переносимый исполняемый файл

Известные компрессоры исполняемых файлов для переносимых исполняемых файлов :

Примечание: клиенты, отмеченные фиолетовым цветом, больше не находятся в разработке.

Файлы ELF

Известные исполняемые компрессоры для файлов ELF :

  • gzexe (использует заглушку сценария оболочки и gzip , работает в большинстве Unix-подобных систем)
  • Конверт HASP
  • 624 (для Linux / 386)

Файлы сборки CLI

Известные исполняемые компрессоры для файлов сборки CLI :

Файлы приложения Mac OS Classic

Известные исполняемые компрессоры для файлов приложений Mac OS Classic :

  • Приложение VISE
  • StuffIt InstallerMaker

Файлы Mach-O (Apple Mac OS X)

Известные исполняемые компрессоры для файлов Mach-O (Apple Mac OS X):

Commodore 64 и VIC 20

Известные компрессоры исполняемых файлов для исполняемых файлов на Commodore 64 и VIC 20 :

  • PuCrunch
  • Exomizer
  • ByteBoozer

Коммодор Амига

Известные компрессоры исполняемых файлов для исполняемых файлов серии Commodore Amiga :

  • powerpacker
  • Титаникс кранчер
  • взрыватель
  • TNM cruncher
  • Термоусадочная машина
  • PackFire

Известные исполняемые компрессоры для Java :

Скрипты JavaScript

К скриптам JavaScript можно применить два типа сжатия :

  • Уменьшите избыточность в скрипте (удалив комментарии, пробелы и сократите имена переменных и функций). Это не меняет поведения сценария.
  • Сожмите исходный сценарий и создайте новый сценарий, содержащий код распаковки и сжатые данные. Это похоже на сжатие двоичных исполняемых файлов.

Компрессоры с самораспакованием

Они сжимают исходный сценарий и выводят новый сценарий с декомпрессором и сжатыми данными.

Компрессоры с уменьшением избыточности

Они удаляют пробелы, удаляют комментарии и сокращают имена переменных и функций, но не изменяют поведение скрипта.

чем открыть pak файлы

Имея дело с файлом в формате PAK, необходимо знать его происхождение, поскольку это расширение используется большим количеством ПО, начиная от игр (например, Quake или Starbound) и заканчивая навигационным софтом компании Sygic. В большинстве случаев с открытием архива с расширением PAK могут справится и обычные архиваторы. Кроме того, можете использовать и программы-распаковщики, написанные под конкретный алгоритм сжатия.

Способ 1: IZArc

Популярный бесплатный архиватор от российского разработчика. Выгодно отличается постоянным обновлением и улучшением.

IZArc – достойная альтернатива платным решениям вроде WinRAR или WinZip, однако алгоритмы компрессии данных в нем не самые совершенные, поэтому для сильного сжатия крупных файлов эта программа не подходит.

Способ 2: FilZip

Бесплатный архиватор, который уже достаточно давно не обновлялся. Последнее, впрочем не мешает программе хорошо справляться со своими функциями.

FilZip тоже годится в качестве альтернативы ВинРАР, однако только в случае небольших файлов – с крупными архивами из-за устаревшего кода программа работает неохотно. И да, зашифрованные ключом AES-256 сжатые папки в ФилЗип тоже не открываются.

Способ 3: ALZip

Уже более продвинутое решение, чем описанные выше программы, которое тоже способно открывать PAK-архивы.

ALZip в контекстном меню системы

Кроме вышеописанного способа, доступен еще один вариант. Дело в том, что ALZip при установке встраивается в системное контекстное меню. Чтобы воспользоваться этим способом необходимо выделить файл, нажать правую кнопку мыши, и выбрать один из трех доступных вариантов (обратите внимание, что PAK-документ будет разархивирован).

ALZip похож на многие другие приложения-архиваторы, однако в нем есть свои особенности – например, архив можно пересохранить в другом формате. Недостатки программы – плохо работает с зашифрованными файлами, особенно когда они были закодированы в новейшей версии WinRAR.

Способ 4: WinZip

Один из самых популярных и современных архиваторов для Windows также обладает функционалом просмотра и распаковки PAK-архивов.

Винзип как основной рабочий инструмент подойдет не каждому – несмотря на современный интерфейс и постоянные обновления, список поддерживаемых им форматов все-таки меньше, чем у конкурентов. Да и платность программы тоже понравится не всем.

Способ 5: 7-Zip

Самая популярная бесплатная программа для сжатия данных поддерживает и формат PAK.

Альтернативный способ открытия включает в себя манипуляции с системным контекстным меню.

Все, что можно сказать о 7-Zip, уже было неоднократно сказано. Добавим к достоинствам программы быструю работу, и сразу же к недостаткам – чувствительность к быстродействию компьютера.

Способ 6: WinRAR

Самый распространенный архиватор тоже поддерживает работу со сжатыми папками в расширении PAK.

Есть еще один любопытный способ открывать PAK-файлы. Способ включает в себя вмешательство в системные настройки, так что если не уверены в себе – этим вариантом лучше не пользоваться.

Его можно открыть любым подходящим архиватором – как одним из описанных в этой статье, так и каким-нибудь другим, способным работать с ZIP-файлами. Этот трюк работает, потому что формат PAK – один из старых вариантов формата ZIP.

Способ 7: Распаковщики игровых ресурсов

В случае, когда ни один из вышеперечисленных методов вам не помог, и открыть файл с расширением PAK не удается – скорее всего, вы столкнулись с упакованными в этот формат ресурсами для какой-нибудь компьютерной игры. Как правило, такие архивы имеют в названии слова «Assets», «Level» или «Resources», или труднопонимаемое рядовому пользователю название. Увы, но тут чаще всего бессилен даже способ с изменением расширения на ZIP – дело в том, что для защиты от копирования разработчики чаще всего упаковывают ресурсы собственными алгоритмами, которые универсальные архиваторы не понимают.

Однако существуют утилиты-распаковщики, чаще всего написанные фанатами той или иной игры с целью создания модификаций. Мы покажем вам работу с такими утилитами на примере мода для Quake, взятого с сайта ModDB, и распаковщика PAK Explorer, созданного коммьюнити сайта Quake Terminus.

Кроме Quake, формат PAK используют еще несколько десятков других игр. Обычно для каждой из них нужен свой распаковщик, и описанный выше Pak Explorer не подойдет для, скажем, Starbound – у этой игры совсем другой принцип и код компрессии ресурсов, для которого нужна другая программа. Впрочем, иногда может помочь фокус с изменением расширения, но в большинстве случаев все-таки нужно пользоваться отдельной утилитой.

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Автоматические распаковщики исполняемых файлов

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

Скриншот программы Quick Unpack


Скриншот программы Quick Unpack

Начнем с универсальных распаковщиков. Лидер в этой категории - Quick Unpack, уникальный продукт, не имеющий аналогов в мире. Позволяет за несколько секунд снимать более сотни известных пакеров и протекторов, а также новые и неизвестные пакеры. Более подробное описание возможностей есть в прилагаемой документации. Над программой в разное время работали разные люди, сейчас разработку Quick Unpack поддерживает команда tPORt.

Quick Unpack 2.0 Final

Quick Unpack 2.1 Final

Quick Unpack 2.2 Final

Quick Unpack 4.3 x86+x64

RL!dePacker от ReversingLabs. Еще один универсальный распаковщик, также справляется более чем с сотней различных пакеров. К сожалению, неоднократно сталкивался с тем, что после распаковки получается нерабочий файл.

Dr.WEB FLY-CODE Unpacker от PE_Kill - универсальный распаковщик, основанный на движке FLY-CODE антивируса Dr.Web. Распаковывает многослойные пакеры и протекторы, в том числе и неизвестные, все промежуточные результаты сохраняются. Даже если файл не удается распаковать до рабочего состояния, секция кода в любом случае получается распакованной, а этого вполне достаточно для анализа. Распаковщик имеет достаточно большой размер, скачать его можно здесь.

Faster Universal Unpacker - универсальный распаковщик, или скорее оболочка для плагинов, созданных на движке TitanEngine. Если вы обладаете достаточными навыками, то можете сами написать нужные плагины для снятия различных упаковщиков.

Faster Universal Unpacker 0.1.1 Beta

Скриншот программы UN-PACK


Скриншот программы UN-PACK

UN-PACK - консольный анализатор и распаковщик исполняемых файлов. Несмотря на то, что программа была разработана еще во времена MS-DOS, она остается актуальной и сейчас. Распаковка современных пакеров и протекторов выполняется за счет внешних плагинов.

От универсальных распаковщиков перейдем к специализированным. Они заточены под строго определенные протекторы и работают, учитывая особенности их алгоритма защиты.

Скриншот программы DilloDie


Скриншот программы DilloDie

DilloDie - один из первых автоматических распаковщиков Armadillo от команды CiP. Прекрасно справляется со старыми версиями 3.xx-4.xx, на новых не работает. Было выпущено несколько версий распаковщика, я использую их все, т.к. на некоторых файлах разные версии дают более корректный результат.

DilloDie 1.4

DilloDie 1.5

DilloDie 1.6

ArmaGeddon от команды ARTeam - самый мощный распаковщик Armadillo на сегодняшний день. Справляется со всеми версиями протектора, включая последние. Я также держу под рукой несколько разных версий ArmaGeddon'а, иногда предыдущие версии дают более корректный результат. Последнюю версию всегда можно скачать с сайта разработчиков. Версия 1.9 поддерживает работу в Windows 7 x86, версия 2.0 достаточно успешно борется с самыми последними версиями Armadillo, но работоспособна только на системе Windows XP x86.

ArmaGeddon 1.7

ArmaGeddon 1.8

ArmaGeddon 1.9

ArmaGeddon 2.0

ArmaGeddon 2.1

ArmaGeddon 2.2

ACKiller от HoBleen - предназначен для автоматической распаковки программ, защищенных протектором ACProtect (в прошлом UltraProtect). Работает со всеми известными версиями ACProtect со всеми опциями защиты.

ACKiller 1.0b Final

Stripper от syd - единственный работающий распаковщик ASProtect, который есть в свободном доступе. Успешно справляется со старыми версиями ASProtect, на новых не работает. Из-за того, что разработчики протектора оперативно реагировали на появление новых версий Stripper'а, на некоторое время разработка была перенесена в приват. Но один мудак, имеющий доступ к приватным бета-версиям, выложил Stripper на паблик, из-за этого syd отказался от дальнейшей поддержки и разработки. Несмотря на то, что проект официально закрыт, его алгоритмы и модули используются в других распаковщиках, например, в Quick Unpack. Выложено несколько наиболее стабильных версий Stripper'а, так как они работают с разными версиями ASProtect.

Stripper 2.07 final + Stripper 2.07 ht

Stripper 2.11 rc2

Stripper 2.13 beta 2

Stripper 2.13 beta 9

Stripper 2.14 rc1

Stripper 2.14 beta 2

Stripper 2.14 beta 3

Наконец-то вышел из привата релиз DecomAS - мощнейшего распаковщика ASProtect от PE_Kill. За пять лет разработки он доведен практически до совершенства и с легкостью справляется со всеми версиями ASProtect, включая последние. К сожалению, DecomAS работоспособен только на Windows XP и новых версий пока что не ожидается.

DecomAS 1.7 beta1

Для распаковки старых версий ASProtect рекомендую использовать консольный распаковщик CASPR от SAC/UG2001. Он распаковывает ASProtect полностью в статичном режиме, то есть без запуска файла. Эх, были же светлые головы! CASPR уже давно не обновлялся, но до сих пор остается отличным примером того, как надо писать статические распаковщики.

Графическая оболочка для CASPR - CASPRGUI

ASPack unpacker от PE_Kill предназначен для распаковки файлов, накрытых упаковщиком ASPack. Снятие упаковщика происходит настолько виртуозно, что файл восстанавливается практически до исходного состояния. К сожалению, у меня не сработал на файлах, упакованных последней версией ASPack, приходится распаковывать такие файлы вручную.

ASPack unpacker 1.13


Скриншот программы Themida / WinLicense Unpacker

Themida / WinLicense Unpacker от китайских программистов. Первая публичная утилита, реально позволяющая автоматически снимать этот серьезный протектор. На новых версиях Themida не работает.

Themida / WinLicense Unpacker 2.0

Еще есть утилиты для распаковки Themida от команды AoRE, но добиться рабочего результата от этих распаковщиков мне так и не удалось.

Скриншот программы Unpacker ExeCryptor


Скриншот программы Unpacker ExeCryptor

Unpacker ExeCryptor от RSI - единственный работающий автоматический распаковщик для протектора ExeCryptor. Работает со всеми версиями линейки 2.x, включая последнюю. В некоторых случаях требуются дополнительные патчи для распакованного файла, остальное меняется в настройках распаковщика. Назначение настроек подробно расписано в прилагаемой документации.

Unpacker ExeCryptor 2.x.x RC2


Так как мы в основном исследуем исполняемые файлы и динамические библиотеки для Windows, я брал только те РЕ-редакторы, которые работают в этой ОС. Если какой-то из инструментов поддерживает другие операционные системы и их исполняемые файлы (например, ELF), то это только плюс, но в данном случае для нас особого значения не имеет.

Мы будем выбирать утилиты на основе разумных и понятных факторов: функциональность, цена, удобство использования и частота обновления. Совсем старые решения, позволяющие редактировать бинарники для MS-DOS или Windows 9x, нам рассматривать ни к чему. Если какой-то из редакторов распространяется платно, то мы воспользуемся ознакомительной версией и отдельно отметим, какие функции в ней доступны. Но самый главный критерий будет состоять во взломе настоящего кракми.

Как ты помнишь, с помощью отладчика мы нашли в памяти адрес инструкции (см. четвертую статью «Фундаментальных основ»), которая определяет ход выполнения программы при вводе пароля. А благодаря сведениям из третьей статьи этот виртуальный адрес у нас получилось преобразовать в физический, находящийся на носителе. Таким образом, перейдя в исполняемом файле по адресу 0x402801 и заменив там инструкцию test на xor , мы получим программу, принимающую любые пароли. Меньше слов, больше дела!

PE-Explorer

Под первым номером идет довольно распространенный редактор PE-Explorer. В отличие от своего собрата Resource Tuner, он способен редактировать не только ресурсы приложения, но и код. Несмотря на свой почтенный возраст, исправно работает даже в Windows 10. К сожалению, PE-Explorer умеет работать только с 32-битными файлами и при попытке открыть 64-битный бинарник сообщает об ошибке.

Утилита обладает богатой функциональностью: отображает все элементы заголовка РЕ, определяет, к каким DLL происходит обращение, предсказывает поведение программ и логику взаимодействия с другими модулями и даже открывает запакованные UPX, UPack или NSPack файлы. Кроме того, она позволяет просматривать и редактировать секции PE-файла, исследовать содержимое таблиц импорта и экспорта и проверять наличие и целостность цифровой подписи. В качестве «вишенки на торте» тут присутствует полноценный дизассемблер.

Но это только на словах, а на деле мы его сейчас проверим. Из-за того что продукт платный, я использовал триальную версию, готовую работать на протяжении 30 дней. Об урезанных функциях ничего сказано не было.

Запустим редактор и сразу же откроем наше подопытное приложение. PE-Explorer первым делом выводит информацию о заголовке PE-файла. Для получения сведений об остальных разделах достаточно пощелкать кнопки на панели инструментов. Жмем пиктограмму Disassembler и открываем окно для выбора поддерживаемых инструкций: SSE, SSE2 и прочее. Указываем необходимые и начинаем процесс нажатием кнопки Start Now .

В открывшемся окне большую часть занимает область с дизассемблерным листингом, чуть ниже располагается шестнадцатеричный дамп. Если в заголовке нижней панели выбрать вкладку Strings, то отобразятся все строки в исследуемом приложении. Так что поиском можно найти и эталонный пароль. Однако для этого пришлось бы перебрать весь внушительный список доступных строк, так что отложим этот вариант до худших времен.

Так как мы с помощью отладчика нашли адрес инструкции, которая отвечает за ход выполнения программы, то попробуем проверить этот адрес в PE-Explorer: нажимаем Ctrl-F (или Search → Find) и вводим адрес для поиска: 402801 .



Что ж, я немного разочарован результатом дизассемблирования. Даже отладчик в этом месте показывает мне инструкцию test , а здесь я вижу лишь начало ее шестнадцатеричного кода: 0х85 . При этом я не могу редактировать код! Зачем мне все эти возможности, если утилита не позволяет делать самую базовую вещь?

Я даже не могу списать этот недочет на ограничения демоверсии, так как о ее отличиях от платной ничего толком не сказано. Допускаю, что с теми целями, для которых этот продукт предназначен (статическое изучение приложения и вектора его выполнения), он справляется хорошо. Однако нашим требованиям программа не соответствует, поэтому смело вычеркиваю PE-Explorer из списка кандидатов.

FlexHex

Думаю, нужно дать разработчику еще один шанс, поэтому рассмотрим другую утилиту Heaventools Software — hex-редактор FlexHex. Это инструмент для редактирования любых файлов, процессов или устройств в двоичном формате, ASCII и Unicode. По словам авторов, редактор умеет работать с файлами просто гигантского размера — 8 эксабайт. Кроме того, он поддерживает множество типов данных: байты, слова, двойные слова, восьмибитовые слова, различные десятичные значения со знаком и без, 32- и 64-битовые целые.

Сложные типы данных тут могут быть определены самим пользователем — это структуры, объединения, массивы, перечисления, строки и их сочетания. Обещают прямое редактирование любых значений, в том числе шестнадцатеричных, строковых, изменение областей памяти и типизированных данных. Поддерживаются битовые операции (NOT, AND, OR и XOR над блоками данных) и, конечно же, арифметические операции: сложение, вычитание, умножение, деление и взятие остатка.

Однако главная особенность FlexHex — это возможность сравнения файлов целиком или отдельными блоками. При этом использование карт сравнения позволяет сделать процесс более интуитивным и наглядным.

Все это хорошо, но как утилита справится со взломом — нашей элементарной задачкой? Отсутствие дизассемблера сразу намекает нам, что придется работать в hex-кодах. Запустим FlexHex и откроем с его помощью наш крякмис.

Первым делом попробуем найти смещение 402801 . Кликаем Navigate → Go To и в списке слева выбираем пункт Address, а в поле Enter address вводим значение для поиска. Убеждаемся, что включен режим Hex , и нажимаем кнопку Go To.

Однако результат поиска выносит нас далеко за границы приложения. Обрати внимание, что последние читаемые символы находятся по смещению 0x3659F0 . Если напрячь память, то вспоминается, что в заголовке РЕ базовый адрес (или адрес загрузки модуля) прописан как 0x400000 . А здесь он даже не учитывается!



Я выбрал такую длинную последовательность, чтобы не было ложных срабатываний. За ключевым байтом 0x74 тут скрывается ассемблерная инструкция JZ . Чтобы сделать из нее JNZ , достаточно переписать как 0x75 . В итоге мы получим программу, кушающую любые пароли, кроме эталонного.

С помощью Search → Find открываем окно и указываем в качестве типа для поиска Hex Bytes и направление. В поле ввода пишем нашу последовательность байтов: 85 C0 74 3C 68 . Есть совпадение! Теперь ставим курсор на 74 , нажимаем Delete и вписываем на этом месте 75 . Сохраняем результат и закрываем редактор. Проверь «пропатченное» приложение, оно теперь должно работать значительно лучше. 🙂

В целом я бы не сказал, что этот редактор отличается значительным удобством и соответствует нюансам работы благородного крекера. Поэтому отдавать за него 60 долларов кровных лично я бы не стал.

Продолжение доступно только участникам

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Юрий Язев

Широко известен под псевдонимом yurembo. Программист, разработчик видеоигр, независимый исследователь. Старый автор журнала «Хакер».

Читайте также: