IT-Блог о программировании и операционных системах

Показаны сообщения с ярлыком Переводы. Показать все сообщения
Показаны сообщения с ярлыком Переводы. Показать все сообщения

Проверка валидности PE-файла

Комментариев нет:
Автор: Goppit / ARTeam [www.accessroot.com]
Перевод: Rob [www.delphiday.blogspot.com]

В этом туториале мы напишем простое приложение, которое использует штатное диалоговое окно выбора, для открытия файлов и выводит информацию о том, является ли выбранный файл правильным PE или нет. Код приложения основан на втором туториале от Iczelion, но я несколько изменил его, для пущей простоты и наглядности и выдрал SEH.

Обычно, для проверки того, что файл является правильным PE, нам необходимо проверить два условия. Необходимо, чтобы текст в начале DOS заголовка имел значение “MZ” и в конце самого DOS заголовка имелся указатель на заголовок PE, который в свою очередь начинается с “PE”, который завершается двумя нулевыми байтами. Эти сигнатуры объявлены в инклуднике windows.inc и имеют следующий вид:

IMAGE_DOS_SIGNATURE   equ   5A4Dh        ("MZ")
IMAGE_NT_SIGNATURE    equ   00004550h    ("PE" 00 00)

Простой шаблон кейгена

Комментариев нет:
Автор: Goppit / ARTeam [www.accessroot.com]
Перевод: Rob [www.delphiday.blogspot.com]
Номер тьюториала: #6, Simple Keygen Template.

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

Скелет программы на ассемблере

Комментариев нет:
Автор: Goppit / ARTeam [www.accessroot.com]
Перевод: Rob [www.delphiday.blogspot.com]
Номер тьюториала: #1, Basic Assembly Program Skeleton.

Использование WinAsm

На следующем скриншоте запечатлёна часть интерфейса среды WinASM. Исходный код, который вы набираете, появляется в левой части среды – в панели исходного кода. Панель обзора отображает файлы, которые в свою очередь являются частью текущего проекта (файлы исходного кода - *.asm, инклудники - *.inc, файлы ресурсов, и т.д). Кнопка “Go All” (на скриншоте указана курсором мыши) соберёт, слинкует и запустит на выполнение результирующий exe файл. Комманды ассемблера и линковщика с результатами компиляции и компоновки вы можете лицезреть в нижнем окне – в панели вывода.


Delphi. Как написать лоадер

Комментариев нет:
Автор: Sunshine [www.sunshine2k.de]
Перевод: Rob [www.delphiday.blogspot.com]

От переводчика:
Данный тьюториал покажет основы написания лоудеров. Написан начинающим немецким реверсером и программистом. Изложено доступно, приведён исходный код лоудера. Перевод в некоторых местах вольный. Автор статьи постарался доступным языком, для таких же новичков как и он, обьяснить то, чего сам не мог понять из за отсутствия материала, то есть той базы, которой некоторое время не хватало ему. Статья будет очень интересна новичкам в реверсинге и программировании.


В данном тьюториале, я постараюсь объяснить, как написать лоудер для программы, если вы не хотите или не можете патчить программу стандартным способом, если например она запакована или проверяет свою контрольную сумму перед выполнением, или что либо ещё – причин для этого может быть много.
В своё время, я долго пытался найти статью, которая бы пролила свет на эту тему и тот туториал, что я нашел оказался на ассемблере, который я ещё мало понимал (пока!). Вот почему я решил написать статью, по программированию лоудера на Delphi.
Я написал простой крякми, который будет взломан с помощью нашего с вами лоудера. Но учтите, что реальную запакованную программу пропатчить будет сложнее, нежели наш крякми. Давайте начнём!