Есть ли способ узнать, что сделал исполняемый файл (какие файлы скопированы, в какую папку скопированы эти файлы, какой реестр ключей отредактирован и т. д.)?
инструменты Sysinternals, ProcMon в частности. — Michael Petrotta
Существуют различные инструменты от Sysinternals (теперь часть MS Technet), которые могут отслеживать практически все, что происходит в системе. Если вам нужно что-то более детальное, вы можете прикрепить отладчик к приложению, а затем вы сможете отслеживать его на уровне отдельных машинных инструкций. — Marc B
4 ответы
я проголосовал за procmon отвечать. Тем не менее, я хотел бы добавить, что procmon в значительной степени просто инструмент для отображения и построения ключа реестра Windows в реальном времени ( HKEY_PERFORMANCE_DATA ) ценности. Если вы хотите отслеживать некоторые из этих вещей программно, вам просто нужно написать код для просмотра и обработки тех же значений реестра из HKEY_PERFORMANCE_DATA сам.
Как отследить что делает программа на компьютере.
Прокмон является хорошим местом для начала.
Конечно, для разных операционных систем существуют разные инструменты. Для MS Windows пакет SysInternals от Марка Руссиновича и Брайса Когсвелла содержит множество инструментов для этого.
Он имеет FileMonitor, DiskMonitor, ProcessMonitor, Network Monitor и Registry Monitor в режиме реального времени, отображающие информацию в очень подробной и понятной форме.
Вы должны загрузить весь пакет, так как это разные программы внутри него.
Вы можете использовать утилиты от sysinternals, такие как ProcessMonitor. С его помощью вы можете контролировать реестр, файловую систему, доступ к сети и многое другое (извините, я не могу вспомнить все функции.)
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками windows or задайте свой вопрос.
ADV
Связанные вопросы
Последние вопросы
Связанные теги
stackovergo.com 2020–2023, под лицензией куб.см по-са 3.0 с указанием авторства. | Персональные данные | Cookies политики
Источник: stackovergo.com
Как узнать, что будет делать программа для Linux, не выполняя её по-настоящему?
Хотелось ли вам когда-нибудь узнать, какие именно действия будет выполнять команда Linux, ещё до вызова этой команды? Предположим, вы опытный пользователь, и вы знаете, как ведут себя многие команды. Но даже вам не под силу знать, как работает абсолютно всё. Конечно, определённую помощь в выяснении подробностей о командах может оказать веб-сервис Explainshell.
Для этого нужно будет скопировать и вставить туда интересующую вас команду, после чего вы найдёте подробное описание того, как работает каждая её часть. Однако, это не наш метод. Благодаря тому инструменту, о котором мы сейчас расскажем, узнать, как именно работает некая программа, можно прямо из командной строки.
Самый простой скрытый доступ к смарту жены
Встречайте утилиту maybe — простой инструмент, который позволяет исследовать команды и узнавать, во всех подробностях, как именно они будут взаимодействовать с файловой системой компьютера при их реальном использовании. При этом исследуемая программа или команда, в режиме испытаний, никакого влияния на систему не оказывает. Вы сами, ознакомившись с отчётом по ней, решите — запускать её по-настоящему или нет.
Как работает maybe?
Разработчик программы рассказывает о ней следующее: «Maybe выполняет процессы под управлением ptrace, с помощью библиотеки python-ptrace. Когда программа перехватывает системный вызов, который приводит к изменениям в файловой системе, она записывает этот вызов в журнал, затем модифицирует регистры процессора для того, чтобы перенаправить вызов на недействительный ID системного вызова (то есть, по сути, превращая этот вызов в пустую операцию). Далее, она устанавливает значение, которое возвращает эта пустая операция, таким образом, что оно указывает на успешное завершение исходного вызова. В результате процесс уверен в том, что всё то, что он пытается сделать, действительно происходит, в то время как в реальности не происходит ничего.»
Тут стоит отметить, что следует проявлять большую осторожность при использовании maybe в любых системах, отказ которых может привести к тяжёлым последствиям. Дело в том, что эта утилита пока ещё блокирует не особенно много системных вызовов, как результат, её использование может привести к сбоям в работе компьютера.
Установка maybe
Прежде чем устанавливать maybe , проверьте, установлен ли в вашей системе менеджер пакетов pip . Если это не так — ниже приведены команды для установки pip в различных дистрибутивах Linux.
В Arch Linux и в других системах, построенных на базе этого дистрибутива, таких, как Antergos и Manjaro Linux, pip можно установить так:
sudo pacman -S python-pip
В RHEL и CentOS вам поможет следующая последовательность команд:
sudo yum install epel-release sudo yum install python-pip
В Fedora это можно сделать так:
sudo dnf install epel-release sudo dnf install python-p
Вот соответствующая команда для Debian, Ubuntu и Linux Mint:
sudo apt-get install python-pip
В SUSE и OpenSUSE используйте следующую команду:
sudo zypper install python-pip
После установки pip установите maybe :
sudo pip install maybe
Работа с maybe
Пользоваться maybe очень просто. Просто добавьте maybe перед командой, которую вы хотите исследовать. Вот как это выглядит:
$ maybe rm -r ostechnix/
Как видите, я собираюсь удалить папку ostechnix и хочу узнать, что произойдёт в моей системе, если будет выполнена вышеприведённая команда. Вот что сообщает об этом maybe :
Оказалось, что команда rm -r ostechnix/ выполнила бы 5 операций с файловой системой, о чём и сообщила maybe . Теперь я могу решить, надо ли мне выполнять эти операции или нет. По мне — так это просто замечательная возможность.
Вот ещё пример. Я хочу установить Inboxer — настольный клиент для Gmail. Вот что удалось выяснить о соответствующей операции с помощью maybe :
$ maybe ./inboxer-0.4.0-x86_64.AppImage fuse: bad mount point `/tmp/.mount_inboxemDzuGV’: No such file or directory squashfuse 0.1.100 (c) 2012 Dave Vasilevsky Usage: /home/sk/Downloads/inboxer-0.4.0-x86_64.AppImage [options] ARCHIVE MOUNTPOINT FUSE options: -d -o debug enable debug output (implies -f) -f foreground operation -s disable multi-threaded operation open dir error: No such file or directory maybe has prevented ./inboxer-0.4.0-x86_64.AppImage from performing 1 file system operations: create directory /tmp/.mount_inboxemDzuGV Do you want to rerun ./inboxer-0.4.0-x86_64.AppImage and permit these operations? [y/N]
Если в ходе исследования некоей команды не удаётся обнаружить операций с файловой системой, maybe выведет нечто похожее на это:
$ maybe sudo pacman -Syu sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the ‘nosuid’ option set or an NFS file system without root privileges?
Тут я попытался исследовать команду обновления моей Arch Linux, а maybe не обнаружила операций с файловой системой и не вывела никаких сообщений о таких операциях.
Итоги
Как видите, всё тут просто и понятно. Мне команда maybe очень понравилась, это как раз то, что я какое-то время искал. Теперь я могу без особых сложностей узнать, что будет делать команда или программа до её реального запуска. Надеюсь, maybe пригодится и вам.
Уважаемые читатели! Какие сценарии использования maybe вы видите? В материале упомянуто о том, что maybe — утилита, которая пока не вполне готова к использованию на ответственных системах. Знаете ли вы что-то подобное, но подходящее для запуска на таких системах?
- Блог компании RUVDS.com
- Настройка Linux
- Системное администрирование
Источник: habr.com
Как узнать, что будет делать программа для Linux, не выполняя её по-настоящему?
2017-12-08 в 9:41, admin , рубрики: linux, maybe, администрирование, Блог компании RUVDS.com, Настройка Linux, системное администрирование
Хотелось ли вам когда-нибудь узнать, какие именно действия будет выполнять команда Linux, ещё до вызова этой команды? Предположим, вы опытный пользователь, и вы знаете, как ведут себя многие команды. Но даже вам не под силу знать, как работает абсолютно всё. Конечно, определённую помощь в выяснении подробностей о командах может оказать веб-сервис Explainshell.
Для этого нужно будет скопировать и вставить туда интересующую вас команду, после чего вы найдёте подробное описание того, как работает каждая её часть. Однако, это не наш метод. Благодаря тому инструменту, о котором мы сейчас расскажем, узнать, как именно работает некая программа, можно прямо из командной строки.
Встречайте утилиту maybe — простой инструмент, который позволяет исследовать команды и узнавать, во всех подробностях, как именно они будут взаимодействовать с файловой системой компьютера при их реальном использовании. При этом исследуемая программа или команда, в режиме испытаний, никакого влияния на систему не оказывает. Вы сами, ознакомившись с отчётом по ней, решите — запускать её по-настоящему или нет.
Как работает maybe?
Разработчик программы рассказывает о ней следующее: «Maybe выполняет процессы под управлением ptrace, с помощью библиотеки python-ptrace. Когда программа перехватывает системный вызов, который приводит к изменениям в файловой системе, она записывает этот вызов в журнал, затем модифицирует регистры процессора для того, чтобы перенаправить вызов на недействительный ID системного вызова (то есть, по сути, превращая этот вызов в пустую операцию). Далее, она устанавливает значение, которое возвращает эта пустая операция, таким образом, что оно указывает на успешное завершение исходного вызова. В результате процесс уверен в том, что всё то, что он пытается сделать, действительно происходит, в то время как в реальности не происходит ничего.»
Тут стоит отметить, что следует проявлять большую осторожность при использовании maybe в любых системах, отказ которых может привести к тяжёлым последствиям. Дело в том, что эта утилита пока ещё блокирует не особенно много системных вызовов, как результат, её использование может привести к сбоям в работе компьютера.
Установка maybe
Прежде чем устанавливать maybe , проверьте, установлен ли в вашей системе менеджер пакетов pip . Если это не так — ниже приведены команды для установки pip в различных дистрибутивах Linux.
В Arch Linux и в других системах, построенных на базе этого дистрибутива, таких, как Antergos и Manjaro Linux, pip можно установить так:
sudo pacman -S python-pip
В RHEL и CentOS вам поможет следующая последовательность команд:
sudo yum install epel-release sudo yum install python-pip
В Fedora это можно сделать так:
sudo dnf install epel-release sudo dnf install python-p
Вот соответствующая команда для Debian, Ubuntu и Linux Mint:
sudo apt-get install python-pip
В SUSE и OpenSUSE используйте следующую команду:
sudo zypper install python-pip
После установки pip установите maybe :
sudo pip install maybe
Работа с maybe
Пользоваться maybe очень просто. Просто добавьте maybe перед командой, которую вы хотите исследовать. Вот как это выглядит:
$ maybe rm -r ostechnix/
Как видите, я собираюсь удалить папку ostechnix и хочу узнать, что произойдёт в моей системе, если будет выполнена вышеприведённая команда. Вот что сообщает об этом maybe :
Оказалось, что команда rm -r ostechnix/ выполнила бы 5 операций с файловой системой, о чём и сообщила maybe . Теперь я могу решить, надо ли мне выполнять эти операции или нет. По мне — так это просто замечательная возможность.
Вот ещё пример. Я хочу установить Inboxer — настольный клиент для Gmail. Вот что удалось выяснить о соответствующей операции с помощью maybe :
$ maybe ./inboxer-0.4.0-x86_64.AppImage fuse: bad mount point `/tmp/.mount_inboxemDzuGV’: No such file or directory squashfuse 0.1.100 (c) 2012 Dave Vasilevsky Usage: /home/sk/Downloads/inboxer-0.4.0-x86_64.AppImage [options] ARCHIVE MOUNTPOINT FUSE options: -d -o debug enable debug output (implies -f) -f foreground operation -s disable multi-threaded operation open dir error: No such file or directory maybe has prevented ./inboxer-0.4.0-x86_64.AppImage from performing 1 file system operations: create directory /tmp/.mount_inboxemDzuGV Do you want to rerun ./inboxer-0.4.0-x86_64.AppImage and permit these operations? [y/N]
Если в ходе исследования некоей команды не удаётся обнаружить операций с файловой системой, maybe выведет нечто похожее на это:
$ maybe sudo pacman -Syu sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the ‘nosuid’ option set or an NFS file system without root privileges?
Тут я попытался исследовать команду обновления моей Arch Linux, а maybe не обнаружила операций с файловой системой и не вывела никаких сообщений о таких операциях.
Итоги
Как видите, всё тут просто и понятно. Мне команда maybe очень понравилась, это как раз то, что я какое-то время искал. Теперь я могу без особых сложностей узнать, что будет делать команда или программа до её реального запуска. Надеюсь, maybe пригодится и вам.
Уважаемые читатели! Какие сценарии использования maybe вы видите? В материале упомянуто о том, что maybe — утилита, которая пока не вполне готова к использованию на ответственных системах. Знаете ли вы что-то подобное, но подходящее для запуска на таких системах?
Источник: www.pvsm.ru