Консольные утилиты от Andrey Shedel, использующие Native API
Andrey Shedel написал набор консольных утилит, использующих Native API, и разрешил их распространение на условиях лицензии GNU General Public License. Все утилиты в одном архиве с исходными кодами находятся здесь (RAR). Кроме того, все утилиты можно скачать с сайта автора.
- nrun - утилита для запуска процессов с использованием Native API;
- ln - утилита для создания жёстких и символьных ссылок Windows;
- kloader - утилита для загрузки драйверов;
- sync - утилита для сброса дискового кэша в Windows;
- uptime - утилита для вывода информации о времени работы системы (uptime);
Описание утилит:
Утилита nrun
Программа для запуска процессов. Эта программа представляет наибольший интерес. Её параметры таковы:
nrun: NT Native Application launcher. (c) 1999 Andrey Shedelusage: nrun [ ]
Программа может запускать как обычные Win32-процессы, так и Native-приложения. В обычных условиях попытка запуска native-приложения приведёт к появлению сообщения "Приложение нельзя запустить в режиме Win32".
Тут и приходит на помощь утилита nrun, которая может успешно запускать такие процессы. Программа использует
недокументированную функцию RtlCreateUserProcess. Использование этой функции для запуска Native-приложений
я описал тут.
Утилита nrun позволяет не прописывать native-приложение в ключ BootExecute, а запускать прямо из обычного режима Windows. Это намного удобнее, так как для запуска приложения не приходится перезагружать компьютер. Однако, для взаимодействия с интерактивным приложением наподобие Native shell всё же придётся перезагрузиться. С помощью утилиты nrun можно повторно запустить в работающей системе smss.exe, но это приведёт к синему экрану смерти (BSoD).
Утилита ln
Программа для создания жёстких и символьных ссылок Windows. Эта программа является аналогом утилиты mklink.exe
из
состава Windows 7, которая делает то же самое. Параметры программы выглядят так:
ln: create/delete links for NT. Copyright (c) 2000 Andrey Shedel, http://www.chat.ru/~ashedel Usage: ln [-fis]
Ключ -f служит для принудительного создания ссылки. Ключ -i указывает программе на то, что следует игнорировать регистр символов в именах файлов. Ключ -s служит для создания символьной ссылки, отсутствие этого ключа приводит к созданию жёсткой ссылки (hardlink). Ключ -u нужен для удаления ссылки.
О том как можно использовать символьные ссылки в Windows можно прочесть здесь. Можно также почитать о технологии точек повторной обработки (reparse points).
Другие
Три другие утилиты тоже представляют интерес, можно посмотреть их код в качестве примера использования Native API. О первых шагах в программировании native-приложений читайте тут.
Автор: Andrey Shedel
Избранное
Остальное
Лента atom