Введение в реверсинг с нуля используя IDA PRO. Часть 8

10 июн 2017

Мы уже увидели в деле основные инструкции, сейчас давайте продолжим работу с ЗАГРУЗЧИКОМ. Способ работать, когда мы не имеем много опыта по статическому реверсингу состоит в том, чтобы комментировать и переименовывать инструкции и области, чтобы иметь лучшую ориентацию по коду и этим мы делаем большую часть своей работы. По мере того, как Вы больше практикуетесь в статическом реверсинге, то можно добиться больше и больше успехов в реверсинге, даже почти без использования отладчика или,...
Читать далее
Лайков +5 Комментариев13 Просмотров250

Введение в реверсинг с нуля используя IDA PRO. Часть 7

15 май 2017

ИНСТРУКЦИИ УПРАВЛЕНИЯ ПОТОКОМ ВЫПОЛНЕНИЯ ПРОГРАММЫ Давайте закончим с инструкциями, которые всегда являются самой сложной частью, проглотите эту жесткую таблетку, потому что дальше будет лучше. Следующие инструкции управляют потоком выполнения программы. Мы знаем, что EIP указывает на следующую инструкцию, которая будет выполнена, и когда это произойдёт, EIP будет указывать снова на следующую инструкцию. Но сама программа имеет в себе инструкции, которые управляют её потоком и могут...
Читать далее
Лайков +2 Комментариев8 Просмотров445

Введение в крэкинг с нуля, используя OllyDbg - Глава 55

6 май 2017

В этой главе мы продолжим починку execryptor, для этого мы создадим скрипт, ремонтирующий IAT. У многих, когда они слышат слово "скрипт", волосы встают дыбом (если они есть, хе-хе-хе), но создать скрипт - действительно очень просто, загвоздка состоит в том, что, когда смотришь на готовый скрипт, кажется, что он очень сложен, но в действительности скрипт не формируется сразу цельным, он начинается с простой идеи, к которой затем добавляются части, например, для execryptor, в котором мы должны...
Читать далее
Лайков 0 Комментариев2 Просмотров205

Введение в крэкинг с нуля, используя OllyDbg - Глава 54

3 май 2017

При анализе неизвестного упаковщика лучше всего сначала проверить, существует ли для него известный анпэкми, поскольку нам нужен его распакованный код. Если, как в нашем случае, анпэкми есть, у нас будет и код распакованного анпэкми для сравнения. Анпэкми могут быть реализованы в нескольких вариантах, начиная от самой простой защиты упаковщика, до самой сложной, чтобы можно было постепенно обезвреживать каждый трюк. Когда нам будут известны все трюки упаковщика, можно будет приступать...
Читать далее
Лайков 0 Комментариев2 Просмотров238

Введение в реверсинг с нуля используя IDA PRO. Часть 6

12 мар 2017

Давайте продолжим с арифметическими и логическими инструкциями. ADD A, B Инструкция складывает значение B и A, и помещает результат в A. A может быть регистром или содержимым ячейки памяти, B может быть регистром, константой или содержимым ячейки памяти (A и B не должны быть в памяти в одно и то же время, в одной и той же инструкции) Рассмотрим несколько примеров инструкции ADD ища текст ADD через VEVIEWER. [ATTACH] Здесь мы видим много примеров сложений, где первый член регистр, а...
Читать далее
Лайков +1 Комментариев11 Просмотров915

Введение в реверсинг с нуля используя IDA PRO. Часть 5

12 мар 2017

Мы продолжаем рассматривать основные инструкции и их использование в коде, когда мы дойдем до части где используется отладчик, мы будем видеть больше примеров, где рассматриваются результаты применения каждой из этих инструкций на реальном примере. LEA (LOAD EFFECTIVE ADDRESS) LEA A, B Инструкция LEA помещает указанный адрес из B в A. Она никогда не получает доступ к содержимому B, это всегда будет адрес или результат работы операции между квадратными скобками во втором операнде....
Читать далее
Лайков +1 Комментариев3 Просмотров495

Оптимизация для процессоров семейства Pentium (часть 3)

25 фев 2017

Чтобы подсчитать количество прочитываемых регистров, вам нужно включить все регистры, которые считываются инструкцией. В это число входят все целочисленные регистры, флаговые регистры, указатель на стек, регистры плавающей запятой и регистры MMX. Регистр XMM идет за два, кроме тех случаев, когда используется только его часть, например в ADDSS и MOVHLPS. Сегментные регистр и указатель на инструкцию не учитываются. Например в 'SETZ AL' вы считаете флаговый регистр, но не AL. В 'ADD EBX, ECX'...
Читать далее
Лайков +2 Комментариев0 Просмотров188

Оптимизация для процессоров семейства Pentium (часть 2)

25 фев 2017

10.2 Несовершенное спаривание Бывают ситуации, когда две спаривающиеся инструкции не будут выполняться одновременно или будут частично рассинхронизированы во времени. Пока обе инструкции не выполняться (каждая в своем конвейере) ни одна другая инструкция не начнет выполняться. Несовершенное спаривание возникает в следующих случаях: Если вторая инструкция приводит к задержке AGU (глава 9). Две инструкции не могут обращаться к одному и тому двойному слову в памяти одновременно: MOV AL,...
Читать далее
Лайков +1 Комментариев0 Просмотров211