html

вторник, 30 апреля 2013 г.

IDA Pro - интерактивный дизассемблер и отладчик

0. Скачать IDA pro интерактивный дизассемблер и отладчик  версии 5.5 можно здесь: idapro55.exe

1.Общее описание программы.

Главное окно и окно настроек IDA pro 5.5
Главное окно и окно настроек IDA pro 5.5

IDA Pro — интерактивный дизассемблер и отладчик, который часто используется для решения задач реверс-инжиниринга и анализа программ. IDA Pro отличается большой гибкостью, наличием встроенного языка, поддерживает большое количество форматов исполняемых файлов для большого числа процессоров и операционных систем.

2. Полезные ссылки
-- Сайт программы IDA pro

Посты по теме :


воскресенье, 28 апреля 2013 г.

Питон. Декомпиляция py2exe файлов 2

1. Итак, мы получили кодовые объекты Питона *.pyc, используя скрипты из поста Питон. Декомпиляция py2exe файлов 1. Необходимые файлы и результаты работы скачать можно – здесь:  Exe2Pyc.rar

2. Теперь нам надо декомпилировать полученные *.pyc файлы

3. Для небольших по размеру файлов существуют online –декомпиляторы http://depython.com/ (уже нет) и  http://depython.net/( 15.10.2014 - уже нет сайта ) :
Онлайн декомпилятор http://depython.com/
Онлайн декомпилятор http://depython.com/

Онлайн декомпилятор http://depython.net/
Онлайн декомпилятор http://depython.net/

4. примеры декомпилированных онлайн - декомпиляторами файлов в каталоге Exe2Pyc\Depython-net-com

5. Хорошая статья, описывающая процесс декомпиляции Питон программ сконвертированных Py2exe : A Walk Through on Decompiling a Malware Packed with Py2Exe ЕЕ копия в каталоге Exe2Pyc\Kelvinlomboy-com

6. Для декомпиляции используется программный комплекс PyREtic  http://code.google.com/p/pyretic/ . Скачанный – находится в каталоге Exe2Pyc\Pyretic . Инсталляция не требуется. Только разархивировать и пользоваться.

7.  Удалось запустить PyRetic  с версиями Питона 2.5 , 2.6 и 2.7 .С версией 2.4 – не получилось. Вспомогательные bat –файлы для запуска – в каталоге архива PyREtic

8. Попробуем  декомпилировать Reversi. Итак, запустим PyRetic:
Запуск  pyREtic
Запуск  pyREtic

9 Набираем set_project project1 :
set_project project1
set_project project1

10.Reversi у нас версии 2.6 , следовательно, можно выбрать 0:
Выбор версии Питона
Выбор версии Питона

11. На требование загрузки надо ответить yes :
Загрузка необходимой версии Питона
Загрузка необходимой версии Питона

12.Теперь задаем декомпиляцию fs_um_decompile f:\main.pyc  , запускаем декомпиляцию и ждем ее завершения:
Декомпиляция скрипта Питона
Декомпиляция скрипта Питона

13.Некоторое количество ошибок возможно. Однако, в основном, смысл скрипта можно понять.

14 Аналогично декомпилированы остальные файлы. Результаты в директории Exe2Pyc\Depython-Pyretic

15 Возможна такая ошибка:
Ошибка при запуске pyREtic
Ошибка при запуске pyREtic
В этом случае необходимо удалить каталог Projects.Он потом все равно создается.

Питон. Декомпиляция py2exe файлов 1

1. Попробуем извлечь  кодовые объекты  Python-а из  исполняемого exe - файла, созданного программой – конвертером py2exe. Необходимые файлы,утилиты и результаты работы скачать можно – здесь: Exe2Pyc.rar

2. Для экспериментов возьмем  программы, конвертированные программой – конвертером py2exe.

--  Пишем игру Реверси на Python + PyQt4
--  Питон. Py2exe - конвертер в exe файлы 02
--  Книга перемен
--  Программа Диспетчер ЖКХ (только исполняемый файл).

Все файлы находятся в каталоге Exe2Pyc\FilesForExtract архивного файла Exe2Pyc.rar

3. Версия Питона видна из версии библиотеки dll - pythonXX.dll, где XX –версия Python-а. Если  есть только исполняемый файл, то версию можно посмотреть из содержимого исполняемого файла, например программой Total Commander 8.0 :
Поиск  названия библиотеки Python24.dll

Поиск  названия библиотеки Python24.dll


4. Если посмотреть исполняемые файлы программой Редактор ресурсов Restorator,то мы увидим общее в ресурсах – ресурс PYTHONSCRIPT. В нем и находится кодовый объект  программы на Pythone:
Ресурсы исполняемых файлов
Ресурсы исполняемых файлов


5. Название ресурса можно найти и в коде скрипта build_exe.py программного комплекта py2exe. Там же и формат заголовка  PYTHONSCRIPT

6. Утилиту для извлечения кодовых объектов Python-a из исполняемых файлов скачать можно здесь: http://code.google.com/p/py2exe-extract/ . Утилита в каталоге Exe2Pyc\py2exe_extract-from-internet

7. Эта утилита содержала некоторые ошибки, которые не позволяли извлекать из всех файлов. Подкорректированная утилита находится в каталоге Exe2Pyc\py2exe_extract. Работает с версиями Питона 2.5 и 2.6

8. Извлеченные кодовые объекты при помощи утилиты py2exe_extract находятся в каталоге Exe2Pyc\Decompile-py2exe_extract .

9. Есть еще одна утилита для извлечения кодовых объектов -  http://pastebin.com/4meXNirY (утилита в каталоге Exe2Pyc\Exe2Py) . Работает с версиями Питона 2.4  , 2.5 и 2. 6  (наверно и с другими, не проверял)
Для ее работы необходимо установить модуль для расширений Windows  Pywin32 – Питон. Pywin32 - модуль для расширений Windows

10. Извлеченные кодовые объекты при помощи утилиты exe2py.py находятся в каталоге Exe2Pyc\Decompile-Exe2Py

11. Продолжение декомпиляции до исходников *py в посте Питон. Декомпиляция py2exe файлов 2 

 Посты по теме :

пятница, 26 апреля 2013 г.

Питон. Pywin32 - модуль для расширений Windows

0. Скачать установочные файлы модуля для расширений Windows  Pywin32 версии  для версий Python 2.4, Python 2.5 , Python 2.6  и Python 2.7 :  PyWin32-218.rar.

1. Проинсталлируем пакет модуля для расширений Windows  Pywin32 . Возьмем, для примера, версию Pywin32 для Питона версии 2.6. Для остальных версий Питона - аналогично
1.1. Запустим инсталляционный пакет и увидим окно начала инсталляции:
Начало инсталляции PyWin32
Начало инсталляции PyWin32


1.2. Далее установочная программа PyWin32 найдет пакет Питона 2.6 и сообщит об этом:
Каталоги Питона и пакета PyWin32
Каталоги Питона и пакета PyWin32


1.3 Следующее окно сообщит о полной готовности к инсталляции:
Пакет PyWin32 готов к инсталляции
Пакет PyWin32 готов к инсталляции


1.4. После выполнения полной установки, инсталляционная программа сообщит о конце работы
Инсталляция  PyWin32  закончена
Инсталляция  PyWin32  закончена


1.5. После нажатия “Готово”, пакет модуля для расширений Windows  Pywin32  установлен и готов к работе

2. Деинсталлировать пакет PyWin32 можно в Панель управления - Установка и удаление программ:
Удаление пакета PyWin32
Удаление пакета PyWin32


3. Полезные ссылки

-- Python for Windows extensions – сайт пакета модуля для расширений Windows


Посты по теме :


суббота, 13 апреля 2013 г.

Mozilla Firefox. Контекстное меню не правильно работает

1. После обновления Firefox до версии  20.0.1 контекстное меню вместо обычных  5-15 пунктов стало содержать более 40 пунктов и занимать очень много места на   экране.  Нужные пункты теперь за пределами экрана и чтобы их достать нужно скролить меню. Многие важные пункты меню, например, “открыть ссылку в новой вкладке ” – не работают:
Неправильная работа контекстного меню
Неправильная работа контекстного меню

2. Причина оказалось в конфликте с расширением  Firebug . При включенном расширении контекстное меню Firefox 20.0.1. не работало. Смотреть расширения – Инструменты-Дополнения.
Расширение Firebug включено
Расширение Firebug включено

3. При отключении расширения Firebug  и перезапуске Firefox:
Расширение Firebug отключено
Расширение Firebug отключено
контекстное меню Firefox 20.0.1 заработало правильно:
Правильная работа контекстного меню
Правильная работа контекстного меню

4. Полезные ссылки
-- Переполнение контекстного меню в FF20 :o | Форум Mozilla Россия

Посты по теме :

четверг, 11 апреля 2013 г.

Питон. Py2exe - конвертер в exe файлы 02

0. Этот пост  -  продолжение поста  Питон. Py2exe - конвертер в exe файлы 01

1. Как конвертировать программу на Питоне в exe-файл  Windows

1.1. Возьмем нашу первую программу на Питоне  и  конвертируем ее в исполняемый exe-файл Windows

1.2. В директории, где лежит наша программа Hello.py, надо создать программу setup.py со следующим содержанием:
-----------------------
from distutils.core import setup
import py2exe

setup(console=['hello.py'])
-----------------------
Программа Setup для конвертации
Программа Setup для конвертации

1.3. Далее запустим программу setup.py следующим образом

--------------
f:\python25\python setup.py py2exe
--------------
Запуск программы Setup
Запуск программы Setup

1.4. В результате выполнения  программы Setup  будет создано 2 каталога
build — служебный, можно удалить.
dist — сама конвертированная программа, вместе с необходимыми файлами:
Каталог Dist –сконвертированная программа.
Каталог Dist –сконвертированная программа.

1.5. Запустим программу hello.exe , и увидим, что она выполняется правильно:
Выполнение программы Hello World
Выполнение программы Hello World

1.6.  Скачать  hello.py, setup.py,каталоги, получающиеся при конвертации, а также bat-файлы, запускающие конвертацию – здесь: Python-To-Exe.rar

2. Полезные ссылки

-- Tutorial: the basics of creating a Windows executable