1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Внедрение кода. Добавление новой секции. Часть 7.

5 апр 2019

Основной алгоритм добавления новой секции Решение проблемы доступного пространства при помощи добавления новой секции имеет некоторые недостатки. Практически все антивирусы опознают нестандартные секции, и если, к тому же, там есть полный набор флагов на чтение/запись/выполнение, то эта ситуация выглядит еще более подозрительно. Но такой способ дает огромное преимущество в объеме внедренного кода. В начале проведения внедрения необходимо получить общие сведения о файле: определение языка...
Читать далее
Лайков +1 Комментариев1 Просмотров2.995

Внедрение кода в ехе-файл в конец секции c добавлением API-функций. Часть 6

5 апр 2019

Общие сведения При внедрении как внешнего кода, так и тем более дополнительных функций в этом коде, сначала необходимо выяснить размер секции кода и количество свободных в ней байт. Даже для обычных учебных программ свободного места в секции для внедрения функций может уже и не хватать. Внедрение новых API-функций в чужой код не очень сильно отличается от внедрения команд. При внедрении API-функций необходимо не только знать количество и назначение входящих в них параметров, но и как эти...
Читать далее
Лайков +1 Комментариев1 Просмотров2.227

Исследуем эксплоит CVE-2012-0158

29 мар 2019

Всем привет. Сегодня мы будем исследовать rtf эксплоит CVE-2012-0158, и посмотрим как он работает изнутри. Для исследований нам понадобится хекс редактор (я использую 010-Editor), отладчик (я использую OllyDbg) и просмотрщик составных OLE файлов (я использую SS Viewer). Для тестирования - Word 2007. Итак приступим. В описании написано что эксплоит использует переполнение буфера для запуска кода в стеке используя уязвимость в MSCOMCTL.OCX, подменяя адрес возврата. Данные для исследования...
Читать далее
Лайков +1 Комментариев0 Просмотров1.749

«Hello world» в машинных кодах

29 мар 2019

Всем привет. Как известно большинство из нас создают программы используя языки высокого уровня, некоторые также используют ассемблер. Сегодня мы с вами напишем программу используя только HEX редактор. Подразумевается что читатель знает строение исполняемых файлов хотя бы поверхностно, поэтому я не буду углубляться в детали, к тому же я уже приводил небольшой обзор загрузчика EXE файлов на VB6. Итак поехали... Для начала определимся с функциональностью приложения и используемыми...
Читать далее
Лайков +1 Комментариев0 Просмотров1.262

Внедрение кода в ехе-файл в конец секции без добавления API-функций. Часть 5

22 мар 2019

Алгоритм внедрения кода Технология внедрения кода в ехе-файл применяется для изменения исходного функционирования программы при отсутствии исходного текста программы. При низкой подготовке хакера внедрение кода может вызвать проблемы и ошибки в приложениях. Эту технологию часто используют и вредоносные приложения. Фактически, внедрение кода – это грязный взлом. Но в учебных целях технологию внедрения знать необходимо хотя бы по тому, что необходимо представлять этот механизм и противостоять...
Читать далее
Лайков 0 Комментариев0 Просмотров2.749

Реверсинг программы с парольной защитой на С++. Часть 4

22 мар 2019

Рассмотрим пример исследования программного кода для анализа вводимого пароля и вывода сообщения о регистрации. Для начала рассмотрим очень простую консольную программу (программа 2.8). Программа 2.8. #include <iostream> #include <stdio.h> #include <process.h> #include <conio.h> using namespace std; void main() { cout << " Enter pssword " << endl; int pass; cin >> pass; if (pass==999) //пароль 999 { cout << " OKEY!!! ;) " << endl; getch(); } else { cout << " WRONG!!! "...
Читать далее
Лайков 0 Комментариев0 Просмотров2.339

Реверсинг программы с использованием строковых команд. Часть 3

22 мар 2019

Для сравнения вводимого пароля с эталонным значением чаще всего применяют строковые команды. Достоинством применения таких команд, в данном случае, является сокращение кода. Учитывать быстродействие при выполнении сравнения и медленном клавиатурном вводе как-то не уместно. В программе 2.5 применена процедура Pas1 proc, которая влияет только на оформление программы. Но если процедур будет достаточно много, то это сильно повлияет на поиск пароля. А если при этом предположить, что и сравнение...
Читать далее
Лайков 0 Комментариев0 Просмотров1.663

Реверсинг программы с использованием базовых команд. Часть 2

22 мар 2019

Применение базовых команд не дает никакого преимущества перед использованием API-функции lstrcmp. В этом случае достигается не только разнообразие вариантов программ с запросом пароля, но и детализация внутреннего алгоритма проверки вводимых символов пароля. Особенностью программы можно считать применение функции WriteConsole, которую так же надо было применить в программе 2.1. Эта функция выводит сообщение с просьбой ввести пароль в консольном окне. В связи с тем, что эта программа является...
Читать далее
Лайков 0 Комментариев0 Просмотров1.534