как узнать к каким файлам обращается программа
Мониторинг доступа к файлам
Мониторинг текстового редактора nano
Мониторинг видеопроигрывателя mplayer
Теперь попробуем запустить mplayer и проверить те файлы, в которые он только пишет. Возможно, это нам даст возможность составить нужный безопасный профиль работы программы.
«/dev/3dfx», O_RDWR
«/dev/fb0», O_RDWR
«/dev/mga_vid», O_RDWR
«/dev/mga_vid», O_RDWR
«/dev/shm/pulse-shm-3056117003», O_RDWR|O_CREAT|O_EXCL|O_NOFOLLOW|O_CLOEXEC, 0400
«/home/nuald/.mplayer/config», O_WRONLY|O_CREAT|O_EXCL, 0666
«/home/nuald/.pulse-cookie», O_RDWR|O_CREAT|O_NOCTTY, 0600
Здесь мы командой grep ограничили вывод, и не включали файлы, которые были открыты с флагом O_RDONLY (только на чтение). Как видите, и здесь не все так гладко — mplayer-у приходится писать в другие файлы, и возможно ограничение доступа полностью его сломает, и он не сможет воспроизводить видео. Так что приведенную выше идею об ограничении доступа не так просто будет реализовать, и точно не реализовать в ее изначальном смысле.
Заключение
В этом небольшом эскурсе была приведена лишь одна область применения strace. У данной программы есть много замечательных способностей, и она может позволить избавиться от бессонных ночей в поисках причин неработоспобности приложений даже без применения отладчика. Это инструмент, который должен знать любой Linux-разработчик, и надеюсь, что это принесет вам пользу в борьбе с многочисленными багами, и повысить качество разрабатываемого программного обеспечения.
Как узнать, где программа хранит свои настройки в реестре
Описание
Часто возникает необходимость узнать, где та или иная программа (приложение) хранят свои настройки в реестре Windows. Бывает, что поиск по реестру не дает никаких результатов, или же программа хранит свои настройки не в одной какой-либо ветке реестра, а в нескольких и нужно их все найти, чтобы посмотреть/поменять настройки или сделать их резервную копию. В данной статье мы рассмотрим как это можно сделать.
Как узнать, где программа хранит свои настройки в реестре
Для того, чтобы узнать к каким разделам реестра обращается программа в процессе работы, мы воспользуемся бесплатным инструментом под названием Process Monitor, который можно скачать с официального сайта по следующей ссылке: https://download.sysinternals.com/files/ProcessMonitor.zip
После скачивания и распаковки архива можно обнаружить два exe файла: Procmon.exe и Procmon64.exe
После первого запуска, программа предложит нам принять условия лицензионного соглашения, поэтому не забываем нажать кнопочку «Agree«
После чего выбираем из раскрывающегося меню пункт «Process Name«, вписываем имя нужного нам процесса mspaint.exe и жмем на кнопку «Add«, чтобы наш фильтр добавился:
Теперь осталось применить фильтр, чтобы все посторонние записи не отображались. Для этого жмем на кнопку «Apply» и потом на «OK«, для закрытия окна настроек.
В результате перед нами будет вся информация о том, к каким конкретно разделам и ключам реестра обращается mspaint.exe в процессе своей работы:
Теперь можно закрыть редактор Paint и посмотреть куда он записывает все свои настройки, после завершения работы. Они будут также отображаться в окне Process Monitor, достаточно просто воспользоваться скроллом. Таким не хитрым способом, можно мониторить любой процесс и точно знать как и где он хранит информацию.
Взлом голыми руками
Как известно, кракинг большинства шаровар начинается с отслеживания того, куда прога помещает свой триальный счетчик (в файл и/или реестр). Повсеместно для этого предлагается использовать утилиты, типа Regmon и Filemon. Еще Крис Касперски в своей знаменитой книге «Техника и философия хакерских атак» со смаком описывал юзанье этих утилит.
Глядя на все это, так и хочется сказать: «И не стыдно господа кракеры?». 😉 Зачем вообще нужны какие либо утилиты для простейших операций, легко осуществляемых средствами голой Винды?
Например, нам нужно отследить к каким файлам обращается программа. Смотрим время на часах (допустим это 5:36) и запускаем шаровару. Затем закрываем ее (можно и не закрывать) и делаем Пуск->Найти->Файлы и папки, включаем поиск измененных за последний день файлов. Внимательно смотрим на файлы, которые были изменены со временем от 5:36 и выше. Понятно, что в этот период к файлам могла обращаться только наша подопытная прога(!). Данное утверждение справедливо, если в этот момент у тебя не работал какой-нибудь хитрый сервис, который мог бы юзать файлы. Поэтому, перед проведением всех описываемых здесь СЛОЖНЫХ 🙂 процедур, все лишнее должно быть отключено, чтобы не сбивало с толку. Должен заметить, что в список измененных файлов за отслеживаемый отрезок времени практически всегда будут входить файлы в которых хранится реестр, причем независимо от того пишет в них наша шаровара или нет. Просто к реестру практически постоянно обращается сама операционная система.
Ламеру на заметку: В Win9x реестр хранится в двух файлах System.dat и User.dat, а в NT/2000/XP ветки реестра разнесены по файлам Ntuser, Userdiff, Default, System, Software, Security, Sam (я не указал расширения, т. к. они могут либо совсем отсутствовать, либо принимать любой вид из трех: alt, log, sav).
Таким образом, мы отследили файлы, настала очередь реестра. Для этого экспортируем весь реестр в файл. Здесь одна тонкость: в 2000/XP при экспортировании нужно выбрать тип файла «Win9x/NT4», т. к. этот формат более удобный для последующих манипуляций (если мне не веришь, можешь попробовать другой ;)). Затем запускаем и закрываем шаровару, и снова экспортируем реестр. Таким образом, мы имеем два файла, например, reestr1.reg и reestr2.reg. Один сделан до запуска шаровары, второй — после. Думаю понятно, что их нужно сравнить. Сделать это можно с помощью стандартной ДОСовской команды FC:
fc /L reestr1.reg reestr2.reg>1.txt
Все различия будут перенаправлены в файл 1.txt. Опция /L означает сравнение в тестовом (ASCII) режиме. В этом режиме несовпадающие фрагменты выводятся на экран в следующем виде:
***** file1
Последняя совпадающая строка
Отличающийся фрагмент первого файла
Первая вновь совпадающая строка
***** file2
Последняя совпадающая строка
Отличающийся фрагмент первого файла
Первая вновь совпадающая строка
Выше я говорил, что операционная система постоянно обращается к реестру (особенно этим страдает Win2000/XP), поэтому файл 1.txt будет содержать множество фрагментов не принадлежащих нашей шароваре. Для того чтобы понять какие ключи принадлежат Windows, достаточно сделать несколько раз экспортирование реестра, с последующим сравнением, без запуска шаровары.
Вообще при сравнении главное не лохануться, так, например, если программа привязана к счетчику, который изменяется по дням, то ты не увидишь никаких изменений в реестре пока не переведешь дату
хотя бы на один день. Думай, на это голова и дана. 😉
Process Monitor 3.0 – утилита для мониторинга процессов ОС Windows
Разработчики из Windows Sysinternals выпустили новую версию утилиты Process Monitor 3.0, популярной утилиты для мониторинга системы. Этот полезный инструмент предоставит подробную и актуальную информацию об активности всех приложений, выполняемых на вашем ПК. В том числе пользователь сможет узнать, к каким файлам обращаются программы, с какими ключами реестра взаимодействуют, какие процессы запускаются от их лица и многое другое. Предлагаемая версия не может похвастаться большим количеством новых функций, однако некоторые предложенные изменения наверняка вызовут интерес у пользователей.
К примеру, с помощью предлагаемого инструмента пользователь сможет выявлять причины утечек системных ресурсов, происходящих в его отсутствие. Для решения указанной задачи запустите Process Monitor, выберите опцию «Capture Events» в меню «File» и изучите имена процессов в левой части экрана. На этой панели можно найти информацию о файлах, открываемых и закрываемых различными процессами, и узнать к каким ключам реестра обращается интересующая вас программа. Эта информация поможет обнаружить нежелательные программы, например приложения, работающие в фоновом режиме и удалить их с целью высвобождения ресурсов системы. Не менее полезной утилита окажется при решении проблем в работе компьютера. Допустим, вы пытаетесь запустить программу под названием app.exe, однако приложение неожиданно завершает свою работу сразу же после запуска. Благодаря Process Monitor вы сможете идентифицировать отсутствующие файлы или неправильно настроенные параметры приложения.
При запуске новой процедуры трассировки, пользователь нередко получает отчет внушительных размеров, содержащий сотни и тысячи строк. Размер отчета можно слегка сократит с помощью специальных фильтров, однако, даже после этого можно будет наблюдать некоторый переизбыток информации. Вниманию пользователей версии Process Monitor 3.0 предлагается поддержка закладок, предназначенных для выделения наиболее важных данных (опция «Toggle Bookmark» в контекстном меню). Новая функция может использоваться даже со старыми отчетами. Выбранные пользователем строки для лучшей видимости выделяются полужирным шрифтом. А переход между закладками осуществляется одним нажатием на кнопку. Благодаря этому нововведению, владелец компьютера сможет быстро и без лишних усилий обнаружить всю интересующую его информацию.
В версии Process Monitor 3.0 был усовершенствован механизм записи переменных окружения, в особенности в момент запуска процесса. Выберите приложение и выполните операцию «Process Start», после чего вы увидите папку, из которой запускается конкретная программа и полную копию его текущего окружения. Разработчики также сообщают, что выпущенная версия утилиты может похвастаться более тесной совместимостью с новой операционной системой Windows 8.
Process Monitor 3.0 – утилита для мониторинга процессов ОС Windows
Разработчики из Windows Sysinternals выпустили новую версию утилиты Process Monitor 3.0, популярной утилиты для мониторинга системы. Этот полезный инструмент предоставит подробную и актуальную информацию об активности всех приложений, выполняемых на вашем ПК. В том числе пользователь сможет узнать, к каким файлам обращаются программы, с какими ключами реестра взаимодействуют, какие процессы запускаются от их лица и многое другое. Предлагаемая версия не может похвастаться большим количеством новых функций, однако некоторые предложенные изменения наверняка вызовут интерес у пользователей.
К примеру, с помощью предлагаемого инструмента пользователь сможет выявлять причины утечек системных ресурсов, происходящих в его отсутствие. Для решения указанной задачи запустите Process Monitor, выберите опцию «Capture Events» в меню «File» и изучите имена процессов в левой части экрана. На этой панели можно найти информацию о файлах, открываемых и закрываемых различными процессами, и узнать к каким ключам реестра обращается интересующая вас программа. Эта информация поможет обнаружить нежелательные программы, например приложения, работающие в фоновом режиме и удалить их с целью высвобождения ресурсов системы. Не менее полезной утилита окажется при решении проблем в работе компьютера. Допустим, вы пытаетесь запустить программу под названием app.exe, однако приложение неожиданно завершает свою работу сразу же после запуска. Благодаря Process Monitor вы сможете идентифицировать отсутствующие файлы или неправильно настроенные параметры приложения.
При запуске новой процедуры трассировки, пользователь нередко получает отчет внушительных размеров, содержащий сотни и тысячи строк. Размер отчета можно слегка сократит с помощью специальных фильтров, однако, даже после этого можно будет наблюдать некоторый переизбыток информации. Вниманию пользователей версии Process Monitor 3.0 предлагается поддержка закладок, предназначенных для выделения наиболее важных данных (опция «Toggle Bookmark» в контекстном меню). Новая функция может использоваться даже со старыми отчетами. Выбранные пользователем строки для лучшей видимости выделяются полужирным шрифтом. А переход между закладками осуществляется одним нажатием на кнопку. Благодаря этому нововведению, владелец компьютера сможет быстро и без лишних усилий обнаружить всю интересующую его информацию.
В версии Process Monitor 3.0 был усовершенствован механизм записи переменных окружения, в особенности в момент запуска процесса. Выберите приложение и выполните операцию «Process Start», после чего вы увидите папку, из которой запускается конкретная программа и полную копию его текущего окружения. Разработчики также сообщают, что выпущенная версия утилиты может похвастаться более тесной совместимостью с новой операционной системой Windows 8.