Ollydbg что это за программа

Лучшие инструменты пентестера: отладчики и дизассемблеры

У каждого из команды ][ — свои предпочтения по части софта и утилит для
пентеста. Посовещавшись, выяснилось, что выбор так разнится, что можно составить
настоящий джентльменский набор из проверенных программ. На том и решили. Чтобы
не делать сборную солянку, весь список мы разбили на темы. Сегодня мы разберем
отладчики и дизасемблеры — все, что понадобится для реверсинга приложений.

OllyDbg

Тут надо сказать, что стал OllyDbg стандартным user-land отладчиком, взятым
на вооружение хакерами и они тут же захотели его улучшить. Появилось множество
нестандартных сборок: одни фиксят ошибки Ольги, другие расширяют функционал,
третьи – скрывают ее от протекторов. Недостаток — «движок» отладчика работает
через MS Debugging API, страдающий кучей врожденных ограничений, оставляющий за
собой множество трудноудаляемых следов и представляющий легкую мишень для

Взлом программ в OllyDbg Lesson1


антиотладочных технологий.

Immunity Debugger

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

В Immunity Debugger входит множество библиотек, написанных на Питоне и
заточенных под хакерские нужды. Библиотеки вызываются из Питоновых программ,
среди которых значится и searchcrypt.py – отличное средство идентификации
следующих криптографических алгоритмов: AES, BLOWFISH, CAMELLIA, CAST, MD5, RC2,
RC5, RIPEMD160, SHA1, SHA256, SHA512.

Immunity Debugger используют многие специалисты по безопасности,
выкладывающие proof-of-concept expolit’ы, написанные на Питоне и предназначенные
для работы исключительно в среде данного отладчика. И хотя хакер с головой
разберется в алгоритме работы exploit’а и без Immunity Debugger’а, портируя
exploit на любой другой язык, рано или поздно отладчик оказывается на
компьютере, зачастую становясь основным инструментом, вытесняющим Ольгу.

YDbg

Популярный и очень мощный мод, основанный на Ольге 1.10 и собравший в своем
дистрибутиве огромное количество плагинов, скриптов, а также кучу других
полезных инструментов. В отличие от Immunity Debugger’а, ориентированного на
специалистов по безопасности, YDbg писался хакерами и для хакеров, ломающих
защиты с протекторами (те активно сопротивляются такому положению дел и
напичканы анти-отладочными приемами, распознающими присутствие Ольги по главному
окну с ее именем и пунктам меню). Поэтому первое, что бросается в глаза при
запуске YDbg (исполняемый файл которого переименован из OLLYDBG.EXE в SND.exe),
это «покореженные» пункты меню. В частности, «Memory» превратилось в «M3m0ry», «SEH

[gamehacking] Знакомимся с отладчиком OllyDbg.


chain» в «S3H chain», «Breakpoints» в «Br3akp01nts» и т. д. Словом, все
«хакерские» пункты изменены – попробуй их найти (естественно, в новых версиях
протекторов наверняка появится детекция YDbg, но пока он успешно скрывается от
кучи защит, палящих Ольгу). В состав дистрибутива YDbg входит 36 популярных
плагинов (и не нужно теперь рыскать по Сети в их поисках). Среди них затесался
настоящий бриллиант – IDA Sigs, название которого говорит само за себя. Да-да!
Это плагин, поддерживающий IDA-сигнатуры и отображающий их в виде комментариев к
вызываемым функциям в Ольге или в YDbg. Другой полезный плагин – red-hawk
(«красный ястреб») представляет собой панельку инструментов, позволяющую, в
частности, одним движением мыши установить точки останова на нужные функции
(например, в Visual Basic’е это что-то типа __vbaStrCmp или __vbaStrCopy,
используемые для сравнения и копирования строк, соответственно). Начинающие
хакеры просто визжат от восторга, поскольку красный ястреб фактически является
учебником по взлому, а так попробуй догадаться, что нужно делать! Каталог SCRIPT
содержит 637 скриптов, главным образом предназначенных для снятия различных
протекторов/упаковщиков исполняемых файлов и автоматизации всяких рутинных дел.

SoftICE

Всем известный (даже тем, кто к крякингу даже близко не подходил) отладчик
для Windows, работающий дна уровне ядра. В отличие от прикладного отладчика, как
например OllyDbg, SoftICE способен приостановить все операции в Windows, что
очень важно для отладки драйверов. Работает в обход MS Debugging API, что
значительно усложняет антиотладку, однако, учитывая, что для разработчиков защит
soft-ice – враг номер один, практически все протекторы легко распознают его
присутствие в системе. Поэтому никак не обойтись без специальных расширений
(которые упомянем дальше). SoftICE был первоначально разработан компанией NuMega,
которая включала его в пакет программ для быстрой разработки
высокопроизводительных драйверов под названием Driver Studio, который
впоследствии был приобретён Compuware. Помнишь, сколько всевозможных мануалов
было по поводу установки Soft-Ice’а под Windows XP? Увы, начиная с висты,
отладчик не работает. Разработчики приостановили разработку в апреле 2006 года.
На официальном сайте его не найти и доступен только на торрентах.

Microsoft Debugger

Входит в состав WDK (Windows Driver Kit — бывший Driver Development Kit или
DDK), а также в комплект Debugging Tools. Оба они бесплатны, но WDK намного
больше по объему и требует предварительной регистрации для получения Windows
Live ID, в то время как Debugging Tools раздается без регистрации вместе с SDK,
в которую входит документация, заголовочные файлы, библиотеки и несколько
примеров, как надо писать плагины.

Microsoft Debugger может работать как на прикладном уровне (ring-3), так и на
уровне ядра. Вплоть до XP ядерная отладка требовала, как минимум, двух машин,
соединенных COM-шнурком, но теперь достаточно и одной.

Поставляется в двух редакциях: windbg.exe – графический интерфейс и cdb.exe —
интерфейс командой строки. И та и другая являются лишь тонкими обертками вокруг
dbgeng.dll, в которой, собственно, и реализован основной отладочный «движок»,
документированный протокол обмена. Поэтому, чтобы в очередной раз не писать
трассер с нуля, dbgeng.dll можно использовать в качестве «фундамента» при
написании универсальных распаковщиков исполняемых файлов.

Syser Kernel Debugger

Достойных отладчиков ядра всего три: SoftICE, Syser и Microsoft Kernel
Debugger, но SoftICE не работает на Висте и Server 2008, а Microsoft Kernel
Debugger – для хакерских целей не самый лучший вариант. Остается Syser, который
хакеры взяли на вооружение и весьма активно используют. Написан он двумя
предприимчивыми китайскими реверсерами Wu YanFeng и Chen JunHao. По сути, Syser
— отладчик уровня ядра с графическим оконным интерфейсом. Позволяет отлаживать
как приложения, так и драйвера. Сочетает в себе функции IDA Pro, Softice и
Ollydbg. Поддерживает подсветку листинга дизассеблера, динамическую загрузку и
выгрузку, все команды отладчика SoftICE, полноценную работу с юникодом и
многопроцессорными системами. Проработаны многие мелочи: например корректно
работает буфер обмена, позволяющий копировать данные из уровня Ring 3 в уровень
Ring 0. Многие из операций можно автоматизировать с помощью скриптов. Надо
сказать, что Syser — преемник SoftICE, из которого, как говорят, были дернуты
целые модули. У него масса преимуществ, как, впрочем, масса недостатков, поэтому
реально его приходится юзать совместно с Microsoft Kernel Debugger.

Читайте также:
Что за программа moss

GDB

GNU Debugger – основной отладчик под UNIX, ориентированный на совершенно иной
тип мышления, чем все вышеперечисленные отладчики. Это не просто интерактивный
отладчик, скорее это станок с программным управлением, гибким и мощным
интерфейсом. Отлаживать с его помощью «честные» программы — одно удовольствие,
но в плане антиотладки дела обстоят плохо. GDB даже не пытается сопротивляться и
работает через библиотеку ptrace (которая на самом деле никакая не библиотека, а
системный вызов). GDB принципиально неспособен отлаживать программы, которые не
хотят, чтобы их отлаживали. А такие программы мало-помалу начинают появляться.

Естественно, помимо GDB существуют и другие отладчики для никсов, например,
Lin-Ice, но поскольку антиотладочные технологии под UNIX только-только начинают
развиваться, в большинстве случаев вполне сгодиться и GDB.

IDA Pro

IDA Pro — это одновременно интерактивный дизассемблер и отладчик. Она
позволяет превратить бинарный код программы в ассемблерный текст, который может
быть применен для анализа работы программы. Правда, стоит сказать, что
встроенный ring-3 отладчик довольно примитивен. Он работает через MS Debugging
API (в NT) и через библиотеку ptrace (в UNIX), что делает его легкой добычей для
защитных механизмов. Но зато IDA Pro — интерактивный дизассемблер более чем с
десятилетней историей, первая версия которой увидела свет 6 мая 1991 года. Юрий
Харон вместе с Ильфаком начали работать в том направлении, куда еще никто не
вкладывал деньги. До этого дизассемблеры писались исключительно на пионерском
энтузиазме параллельно с изучением ассемблера и довольно быстро забрасывались.
Стоит ли удивляться, что парням удалось решить практически все фундаментальные
проблемы дизассемблирования, над которыми просто не хотели работать остальные
разработчики, зная, что быстрой отдачи не будет и проект потребует десятилетий
упорного труда. К пятой версии IDA Pro имела в своем арсенале все необходимое
для автоматической декомпиляции, причем не просто декомпиляции, а очень
качественной декомпиляции. На текущй момент последний резиз 5.5 от 12 июня.
Влюбленные в продукт пользователи генерят немало полезных плагинов, в том числе
поддерживающих разные скриптовые языки для написания сценариев в дополнение к
встроенному IDC. Например,
IdaRUB
добавляет поддержку Ruby, а
IDAPython — Python.
Тут надо сказать, что начиная с версии 5.4 IDAPython идет предустановленной в
дистрибутивы ИДЫ.

Hex-Rays

Дальше разработчики подумали и решили, что уж раз смогли получить
человеческий код на ассемблере, то неплохо дописать еще одну фичу, переводящую
китайскую ассемблерную грамоту в доступный и понятный листинг на языке Си.
Закипела напряженная работа, по ходу которой выявлялись все новые и новые
подводные камни, обход которых требовал времени, усилий и мозговой активности. В
итоге на свет появился
Hex-Rays — декомпилятор, требующий обязательно установленную на компьютеру
ИДУ. Декомпилятору подается на вход бинарник, указывается ряд параметров, после
чего Hex-Rays выплевывает исходник на чистом C — в большинстве своем понятный и
доступный. Правда, спешить компилировать его обратно в бинарник не стоит, потому
как в большинстве случаев в момент компиляции ты увидишь столько ошибок, сколько
еще не видывал. Одна из причин — отсутствие поддержки в Hex-Rays ресурсов.

W32DASM

Отличный дизассемблер, удобный и понятный. Набор функций с точки зрения
профессионала довольно ограничен, да и вообще его пора отнести к инструментам из
прошлого века, но нет. W32DASM выдает хороший листинг, и для новичков является
отличным вариантом понять и разобраться, что к чему. К тому же именно на него
опираются в многочисленных мануалов для новичков, в том числе нашим манулом для
начинающих «Крякинг — это просто» (#80
номер ][).

DeDe

Начинающие хакеры обычно испытывают большие трудности при взломе программ,
написанных на Delphi и Builder, поскольку классические трюки, типа бряка на
GetWindowTextA, не работают. Для декомпиляции кода, написанного на Delphi/Borland
C++ Builder, т.е программ, которые используют библиотеку VCL от Borland, нужен
специальный подход, и он реализован в утилите DeDe. По сути, это единственный
работающий декомпилятор для Delphi-программ, которые не смотря ни на что никак
не умирают. DaFixer, автор проекта, к сожалению, забросил заниматься своим
детищем, поэтому официальной страницы у проекта в настоящий момент нет.
Подробнее о том, как совладать с программами на Delphi, читай в статье «Взлом
Борландии: изящная декомпиляция Delphi».

PEiD

Любой коммерческий продукт должен быть достаточно хорошо защищен.
Разработчики намеренно использует разного рода упаковщики и так называемые
протекторы, которые применяют разного рода антиотладочные средства, максимально
препятствующие взлому программы. Обойти их можно, но для этого нужно четко
представлять, что использовалось для защиты программы, какой плагин для
отладчика использовать — и от этого «крутиться». Изящно определить название и
версию упаковщик способна небольшая утилита PEiD. Собственно, для этого она и
нужна.

PE Explorer

Программа для просмотра и редактирования PE-файлов — начиная с EXE, DLL и
ActiveX контролов, и заканчивая скринсейвверами SCR (Screensavers), апплетами
панели управления CPL, SYS и бинарниками для платформы Windows Mobile. По сути,
это не одна утилита, а целый набор тулз для того, чтобы посмотреть изнутри, как
работает программа или библиотека. Включает в себя просмотрщик заголовков,
экспорт вызовов API-функций, редактор ресурсов, дизассемблер.

Источник: xakep.ru

Введение в отладчик OllyDbg

Введение в отладчик OllyDbg

Как сам писал автор, Олег Юшук, “OllyDbg это 32-битный отладчик на уровне ассемблера под операционную систему Windows. Его функционал заточенный под работу с бинарным кодом делает этот отладчик чрезвычайно полезным в случае, когда необходимо отладить программу без доступа к ее исходному коду.” Олли это также динамический отладчик. Это значит, что она позволяет пользователю менять код программы прямо по-ходу исполнения. Это очень важно, в случаях когда мы экспериментируем с бинарником, пытаясь понять как тот работает. Помимо этого, Олли обладает множеством полезных функций, что делает ее одним из лучших отладчиков для реверс-инжиниринга (мы сейчас не говорим об отладке на уровне ядра).

Описание

Вот картинка основного окна Олли:

Введение в отладчик OllyDbg

Как видно, основное окно CPU разбито на четыре части: Disassembly (дизассемблер), Registers (регистры), Stack (стек) и Dump (дамп). Ниже будет представлено описание каждой секции.

1. Disassembly (дизассемблер)

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

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

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

Читайте также:
Зачисление по программе лояльности платежной системы мир пришли деньги что это значит

Последняя колонка это комментарии, оставленные Олли. Иногда они могут содержать имя вызываемой API-функции (если Олли смогла ее определить), например CreateWindow или GetDlgItemX. Олли также пытается помочь нам в понимании кода, давая имена функциям, которые не являются API-функциями. Например на картинке выше, видно вызовы функций с именами “ImageRed.00510C84″ и “ImageRed.00510BF4″.

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

2. Register (регистры)

Каждый процессор обладает набором регистров. Регистры представляют собой временные хранилища информации, что-то вроде переменной в высокоуровневых языках программирования. Вот более детальный вид окна регистров:

Register (регистры)

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

Средняя секция содержит так называемые флаги, которые меняют свое значение в результате определенных операций (например при сравнение двух чисел: если они равны тогда во флаг записывается единица, нет – то ноль). Они тоже играют важную роль.

Последняя секция содержит FPU-регистры или регистры математического сопроцессора.

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

3. Stack (стек)

Stack (стек)

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

Вещь, которую нужно знать о стеке это то, что это структура, работающая по принципу “первый вошел – последний вышел”. Представьте себе стопку листов. Мы можем либо положить на эту стопку еще один лист, либо снять верхний. Что бы добраться например, до четвертого листа сверху, нам необходимо перед этим снять три листа, которые выше него. Так, в общих чертах, и работает стек.

На этой картинке, первый столбец это адрес в памяти каждого элемента, второй столбец – это шестнадцатеричный код – значение, которое хранятся в стеке и последний столбец это комментарии Олли, о каждом элементе – то что он смогла установить. Например, на картинке напротив верхнего элемента стека стоит комментарий “RETURN to kernel…” Это адрес, который процессор расположил на стеке, что бы знать куда вернуться, когда текущая функция будет исполнена.

Если мы захотим изменить какой-либо элемент стека, нужно кликнуть по нему правой кнопкой мыши и в открывшемся меню выбрать пункт “modify”.

4. Dump (дамп)

Dump (дамп)

Раннее в этом туториале, когда мы говорили о “сырых” опкодах которые процессор непосредственно считывает и исполняет, я упомянул, что мы может посмотреть эти коды в хекс-редакторе. Секция Dump в Олли как раз и предсталяет собой простой встроенный хекс-редатор. В нем мы можем посмотреть на сырой код программы, расположенный в оперативной памяти. Помимо шестнадцатеричных кодов, тут также можно увидеть символы, которые соответствуют тем или иным кодам, согласно ASCII. Итак, первая колонка в окне секции Dump – это адреса в памяти, вторая – сырой бинарный код, представленный в шестнадцатеричном формате, третья – символы.

Тулбар

Давайте теперь рассмотрим тулбар, который предоставляет нам Олли

Тулбар

Здесь расположены основные функции для запуска кода. Имейте также ввиду, особенно если вы новичек, все эти кнопки дублируются в вернем выпадающем меню в разделе “Debug”, так что если вы не уверены что означает та или иная кнопка – можете посмотреть там.

Я сделаю несколько заметок об функциях некоторых кнопок. “Re-load” означает перезапуск приложения с последующей остановкой на точке входа. Все изменения, внесенные вами в код, будут удалены, некоторые брейкпоинты (точки останова) будут отключены и приложение прервет исполнение кода. “Run” и “Pause” делают то, что следует из их названия. “Run” – запускает исполнение кода, “Pause” – временно останавливает, с возможностью потом продолжить с этого момента. “Step In” означает выполнить одну строчку кода и затем остановиться. Если этой строчкой кода является вызов функции, то мы переходим внутрь этой функции. “Step Over” делает тоже самое, но не заходит внутрь функций, а исполняет их целиком за один раз. “Animate” это тоже самое как постоянно жать “Step-In” или “Step-Over” но делать это достаточно медленно, чтобы успевать самому видеть ход исполнения. Эта функция не так часто используется, но бывает интересно посмотреть за ходом исполнения кода, особенно в случаях когда мы имеем дело с самомодифицирующемся кодом и можем вживую наблюдать за его изменениями. Похоже, я забежал слишком вперед.

Рассмотрим теперь иконки для управления окнами:

иконки для управления окнами

Каждая из этих иконок открывает окно, некоторые из которых пользуются часто, некоторые – редко. Что бы лучше самому с ними разобраться можно просто покликать на все подряд и посмотреть какое окно, открывает каждая кнопка. Каждая эта кнопка дублируется в верхнем выпадающем меню в разделе “View”, так что можете также заглянуть туда. Давайте пройдемся по нескольким основным окнам прямо сейчас.

1. (M)emory (память)

Окно “Memory”

Окно “Memory” отображает все блоки памяти, выделенные программой. Это включает основные секции запущенного приложения (в данном случае “Showstr” в столбце “Owner”). Ниже вы также можете видеть множество других секций – это DLL, который программа загрузила в память и планирует использовать. Если дважды кликнуть по какой либо из этих строчек, откроется окно показывающее дизассемблированный код (или просто шестандцатеричный дамп) этой секции. Это окно также показывает тип каждого из блоков, права доступа, размер и адрес в памяти, где эта секция загружена.

2. (P)atches (патчи)

все патчи которые вы сделали

Это окно отображает все патчи, которые вы сделали. Патч означает изменение в коде. Заметьте, что в столбце “State” отображается значение “Active”. Это означает, что все изменения, сделанные в коде, актуальны на данный момент. Если вы перезапустите приложение, кликнув на “Re-load”, все изменения сбросятся и в столбе “State” напротив каждого сделанного вами патча появится значение “Disabled”.

Вы также можете активировать-деактивировать патчи если кликните на выбранный вами патч, удерживая кнопку пробела. С столбце “Old” отображается оригинальная строчка кода, в стобце “New” – измененная.

3. (B)reakpoints (точки останова)

поставленные вами брейкпоинты

В этом окне отображены все поставленные вами брейкпоинты. Как мы увидим дальше это окно часто используется при отладке.

Читайте также:
Что за программа паспортный стол

4. (K)all Stack (вызовы в стеке)

Как видно, автор программы выбрал не совсем верную букву для этой иконки, т.к. английское слово Call вообще-то начинается с “C” 🙂

(K)all Stack (вызовы в стеке)

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

В следующем туториале я выложу свою “прокаченную” версию Олли с расширенным функционалом:

Олли с расширенным функционалом

Контекстное меню

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

Контекстное меню

Я пройдусь по самым часто-используемым функциям, с остальными вы разберетесь сами, по мере накопления опыта.

“Binary” – редактирование бинарных данных побайтого. Это место где вы можете изменить строчку “Не зарегистрировано” на “Зарегистрировано” 🙂

“Breikpoints” – установка брейкпоитов (точек останова) на какую-либо строчку кода. Существует несколько типов брейкпоинтов, мы подробнее рассмотри их в следующем туториале.

“Search for” предоставляет функции по поиску данных в бинарнике, таких как строки, вызовы функций и т.д.

“Analysis” заставляет Олли заново провести процесс анализ кода, с которым вы сейчас работаете. Иногда Олли затрудняется отличить код от данных (т.к. с точки зрения процессора это все лишь набор битов), и эта функция заставляет Олли учитывать то, в каком месте кода вы сейчас находитесь и попытаться понять, как эта секция должна будет выглядеть.

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

Источник: codeby.school

Основы работы с OllyDebug, на примере «лечения» архиватора

Сегодня покажу как можно с помощью «Ольки», «вылечить» один известный архиватор. Для этого нам понадобится: OllyDBG, плагин «CommandBar».

Ставим архиватор, через 40 дней некоторое время наблюдаем картину:

Первое что приходит в голову — изменить проверку на наличие лицензии или проверку на время использования программы. Пойдем по легкому пути — ищем WinAPI функцию которая получает настоящее время GetLocalTime. В контекстном меню выбираем

Search for -> Name (label) in current module.

Ищем функции связанные со временем, ах вот же она, чуть не пропустили.

Теперь необходимо поставить брейкпоинт на эту функцию. В окне плагина CommandBar вводим

bp GetLocalTime

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

Запускаем отладку, клавиша F9. Наша точка останова успешно отработала и мы оказались в начале функции GetLocalTime, давайте дойдем до места выхода из этой функции (Ctr+F9), сделаем один шаг (F7). Вот мы видим, что после получения времени, вызывается функция по адресу 004B8C00, предлагаю зайти в неё и посмотреть что там может быть интересного, используем шаг с заходом (F7).

Видим благоприятные знаки.

Трассируем программу по F8, до проверки по адресу 004B8C26, наблюдаем TEST AL,AL.

Напоминаю, AL — является младшим регистром EAX, там у нас сейчас пусто. Команда TEST AL,AL проверяет, равен ли регистр AL нулю, если равен, то флаг ZF будет включен.Следующая команда JE SHORT 004B8C44, отправляет на с по адресу 004B8C44, в случае если ZF флаг включен. Что же, предлагаю убрать эту проверку с переходом. Нажимаем пробел и вводим nop, несколько раз нажимаем Assemble, пока не затрутся эти две команды.

Запускаем отладку (F9) и видим что опять остановились на нашем брейкпоинте, давайте уберем его (F2) и снова продолжим отладку (F9). Теперь видим что нам ничего не мешает работать и в поле о регистрации появилась надпись о там что программа зарегистрирована.

  • Реверс-инжиниринг
  • Assembler
  • OllyDebug

Источник: habr.com

OllyDbg 2.01 для Windows 64 bit / 32 bit

OllyDbg

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

Ключевые особенности приложения OllyDbg 2.01:

  • Поддержка большого количества процессов и расширений;
  • Широкий выбор формата отображения данных;
  • Поддержка свыше 2000 типовых функций операционной системы;
  • Возможность создания точек восстановления различных форматов;
  • Персональный документ конфигурирования для любого отслеживаемого процесса;
  • Функция подсветки специфичных структур кода;
  • Возможность установки plug-in;
  • Возможность подключения большого количества различных расширений и надстроек;

odbg201.zip

Скриншоты

Скриншот №1 к программе OllyDbgСкриншот №2 к программе OllyDbg

Для полного комплекта мы рекомендуем вам также скачать WebSite X5 Evolution (программа, которая позволяет создавать сайты).

Похожие программы

Java 8 Update 45

CH341A v1.34 / v1.30

Java SE Development Kit (JDK) 8, 9, 11

Resource Hacker 5.1.7

Turbo Pascal 7.1

MSXML 4.0 SP3 Parser

AVRDUDE_PROG 3.3

КуМир 2.1 / 1.9

dnSpy 6.1.7

Windows PowerShell 3.0

Источник: www.softslot.com

OllyDbg 2.01

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

OllyDbg может быстро найти подпрограммы из библиотек и объектных файлов. Утилита также может распознавать данные отладки в формате Borland. Кроме того, приложение предлагает поддержку комментариев, пользовательских меток и описания функций.

OllyDbg поддерживает множество сторонних плагинов, которые улучшат функциональность программы. Утилита также может отлаживать многопоточные программы. Приложение поставляется с настраиваемым дизассемблером, который поддерживает форматы IDEAL и MASM. Поддержка UNICODE включена.

OllyDbg умеет работать с SSE, 3DNow! и MMX инструкции и типы данных. Более того, программа поддерживает расширения Athlon. Приложение способно распознавать строки UNICODE и ASCII в формате Delhi и предлагает контекстную справку по нескольким функциям API. С помощью этого инструмента можно легко декодировать вызовы более 400 стандартных функций API C и 1900.

OllyDbg может распознавать сложные структуры кода и позволяет определять логическое, условное, аппаратное обеспечение и точки останова памяти. Программа также позволяет вам искать замаскированные двоичные последовательности и неточные команды. Всю выделенную память можно искать.

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

OllyDbg позволяет анализировать и изменять память, приостанавливать работу приложений на лету или устанавливать точки останова с минимальными усилиями. Программа может начинаться с дискеты, и установка не требуется.

Название Версия Разработчик Домашняя страница продукта Лицензия Загрузки прошлой недели Все время загрузки Имя файла Размер файла Контрольная сумма MD5 Поддержка ОС Категория
OllyDbg
2,01
Олег Ющук
OllyDbg
Бесплатно (Freeware)
160
6467
odbg201.zip
6.6MB
62ED2290A4C36B9BCB426C373AA74CE6
Windows All
Инструменты разработчика

Похожие программы

PELock 2.0

Мощное приложение, которое позволяет защитить ваши исполняемые файлы.

Источник: soft-gid.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru