Showing posts with label pefile. Show all posts
Showing posts with label pefile. Show all posts

Monday, September 13, 2010

Создание патчей для исполняемых файлов

Задача: пропатчить конкретный исполняемый файл некоторым кодом. Для примера, код будет выполняться до оригинальной точки входа, и вызывать LoadLibrary для всех *.plgn файлов в текущей папке, для добавления в программу пользовательских плагинов.

Инструменты:
  • FASM (или любой ассемблер с возможностью создания .bin файлов - fasm, nasm, yasm, etc).
  • Python, версии 2.5-2.7, в т.ч. IronPython.
  • Библиотека pefile. (работает только с Python'ом 2.5-2.7).
  • Любое средство позволяющее убедиться что в файле есть место под патч и нужные импорты.