Описание формата DMP

10 окт 2007

Статья рассказывает о формате крэш-дампов Windows и как написать их простой анализатор.
Читать далее
Лайков 0 Комментариев0 Просмотров1.802

Простой способ противодействия сплайсингу API

24 ноя 2006

Для перехвата вызова какой-нибудь API функции обычно используется метод, называемый сплайсингом. Суть метода состоит в замене первых 5 байт функции инструкцией JMP передающей управление коду-перехватчику. Данная техника широко используется в персональных фаерволах для того, чтобы предотвратить внедрение троянскими программами своего кода в адресное пространство других процессов, которым разрешен доступ в сеть. Тем не менее, существуют различные техники, позволяющие троянописателям прорываться сквозь огненные стены.
Читать далее
Лайков 0 Комментариев0 Просмотров1.342

Запуск файла из памяти

22 окт 2006

Существует довольно много способов запуска файлов на исполнение. Чаще всего используют CreateProcess, WinExec и прочие апи. Но что делать, если ЕХЕ-файл находится не в виде файла, а в памяти нашего процесса?.. Можно конечно сохранить файл на диск, после чего запустить. Но это недостаточно извращенный метод. В этой статье я попытаюсь в общих чертах рассказать, как стартовать прямо из памяти.
Читать далее
Лайков 0 Комментариев0 Просмотров1.999

TLS изнутри

19 окт 2006

Сегодня я расскажу вам об одном крутом механизме, который называется TLS – Thread Local Storage – что по-русски – локальная память потока. Сия вещь широко применяется обычными гуишными программерами в многопоточных приложениях. Вы скажите: А зачем мне оно?? Отвечу – обычно сия вещь нужна для того, чтобы связать определенные данные с конкретным потоком. Например, дядя Рихтер приводит пример – с каждым потоком в TLS связывается дата и время, когда он был создан. В момент уничтожения потока можно посчитать время в течении, которого поток существовал.
Читать далее
Лайков 0 Комментариев0 Просмотров3.422

Новая векторная обработка исключений в Windows XP

3 окт 2006

Статья рассказывает о VEH, её отличиях от SEH, возможностях и способах применения.
Читать далее
Лайков 0 Комментариев0 Просмотров1.747

Инжект как метод обхода фаерволлов, жив или мертв?

28 апр 2006

Наверника многие из вас помнят те времена, когда персональные фаерволлы только появились, и настал черный день для троянописателей. Этот день стал концом для большинства, но не для всех. Вскоре было найдено простое и изьящное решение, суть которого состоит в том, чтобы работать из разрешенного фаерволлом процесса. Решение было простым и не требовало много кода, и заключалось оно в записи и исполнении своего кода в чужой процесс (обычно в процесс InternetExplorer). Считается что этот метод сейчас умер. Но так ли это?
Читать далее
Лайков 0 Комментариев0 Просмотров1.266

Kernel-Mode & User-Mode Сommunication, или KeUserModeCallback Must Die!

16 фев 2006

Как мне уже удалось убедиться, проблема, когда нужно достаточно быстро вызвать User Mode функцию из драйвера, который, как известно работает в более привилегированном Kernel Mode, возникает довольно часто. Например, может возникнуть необходимость давать указания драйверу по управлению внешним устройством на основании текущего состояния устройства. При этом драйверу может требоваться директива из приложения пользователя всякий раз когда он обрабатывает прерывание своего устройства. Разумеется, большинство таких задач можно решить «традиционными» методами, например, в самом грубом случае, передавая в драйвер матрицу 2 на N(где N – количество значений, пробегаемое аргументом), которая будет полностью задавать функцию, которую нужно вызвать из кода пользователя. Однако встречаютя ситуации, когда таким «прямым» способом ограничиться не получается…
Читать далее
Лайков 0 Комментариев0 Просмотров1.067

3 метода работы с занятыми файлами

22 дек 2005

У многих из вас, несомненно, когда-либо возникала необходимость читать/писать файлы занятые другим процессом.
Читать далее
Лайков +1 Комментариев1 Просмотров2.197