Метка «dll injection»

Расширяем контекстное меню кнопки «Пуск» в Windows 8.1

В этой статье мне хотелось бы рассказать о своем опыте расширения Windows Explorer, если конкретнее, контекстного меню, называемого «Power User Menu». Не скажу, что очень нуждаюсь в старом представлении меню кнопки «Пуск», но все таки хотелось бы иметь возможность быстрого и структурированного доступа к основным функциям необходимым в работе. Power User Menu можно вызвать двумя способами: 1. Щелкнуть правой кнопкой мыши на кнопке «Пуск». 2. Нажать комбинацию клавиш Windows Key + X. Корпорация Майкрософт предоставила возможность редактирования этого меню, однако эта возможность достаточно ограниченна и не позволяет создавать иерархию меню, пункты с пиктограммами, и поддерживает только ярлыки, да и то не всех типов. Для реализации описываемого функционала мы выполним dll инъекцию в процесс Windows Explorer, а так же осуществим перехват api вызовов управляющих работой контекстного меню. В качестве подопытной операционной системы будем использовать Windows 8.1 x64.
Читать полностью »

Из всех файловых менеджеров ДИСКо Командир мне нравится больше всего. Вопрос «почему?» к данному посту не имеет отношения, так что останавливаться на этом я не буду. К сожалению, у этого файлового менеджера отсутствует некоторая функциональность, которая бы мне очень не помешала. Например, он не умеет подсвечивать файлы разных типов разными цветами. Попробуем это исправить!

Раскрашиваем файлы в ДИСКо Командире

Читать полностью »

Intro

Внедрение своего кода( динамически ) в чужие процессы — штука достаточно интересная. Это может служить как во благо, так и во зло. Хотя, понятие «зло», местами, весьма абстрактно в информационном мире, я не могу провести точную границу между тем, что «плохо», а что «хорошо», тем более, если это касается внедрения кода…

В данной статье мы займемся созданием своего DLL инжектора. Что это такое, думаю, знают все. Такой способ внедрения стороннего кода достаточно популярен и удобен.

Писать DLL Injector мы будем на C++ в среде Microsoft Visual Studio 2010. Для создания динамически подключаемой библиотеки можно использовать любой инструмент, который вам по душе. Я же для создания библиотеки выбрал CodeGear RAD Studio 2009, язык Delphi( Object Pascal ).

Как же работает DLL Injection ?

Схема работы данного метода проста:

1) поиск и получение дескриптора нужного процесса
2) выделение памяти в процессе и последующая запись пути в DLL`ке по адресу, где произошло выделение памяти
3) создание нового потока в виртуальном пространстве процесса, дескриптор которого был получен.

Читать полностью »

Приветствую!

Сегодня на хабре появилась статья, повествующая о том, как можно перехватывать вызовы DLL из программы и обрабатывать их нужным образом — в законных, а может быть, и не совсем, целях. Так или иначе, данная техника может пригодиться в разных случаях.

Для того, чтобы постоянно не совершать одни и те же действия, я решил автоматизировать процесс создания проекта Visual Studio на основе выбранной dll.

Сперва мной были скачаны исходники проекта из статьи. Для автоматизации взят скриптовый язык AutoIt, на нём набросанЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js