hex.pp.ua

Утилиты от Andrey Shedel

Консольные утилиты от 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 Shedel 

usage: nrun  []

Программа может запускать как обычные Win32-процессы, так и Native-приложения. В обычных условиях попытка запуска native-приложения приведёт к появлению сообщения "Приложение нельзя запустить в режиме Win32".

Приложение нельзя запустить в режиме Win32
Приложение нельзя запустить в режиме 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]  [-u|]
 -f  - force overwrite/delete
 -i  - ignore case
 -s  - symlink
 -u  - unlink

Ключ -f служит для принудительного создания ссылки. Ключ -i указывает программе на то, что следует игнорировать регистр символов в именах файлов. Ключ -s служит для создания символьной ссылки, отсутствие этого ключа приводит к созданию жёсткой ссылки (hardlink). Ключ -u нужен для удаления ссылки.

О том как можно использовать символьные ссылки в Windows можно прочесть здесь. Можно также почитать о технологии точек повторной обработки (reparse points).

Другие

Три другие утилиты тоже представляют интерес, можно посмотреть их код в качестве примера использования Native API. О первых шагах в программировании native-приложений читайте тут.

система комментирования CACKLE

Автор: Andrey Shedel


Разделы сайта
Главная
Блог
Native API
NTFS и ReFS
Микроконтроллеры
Справочник NTDLL
Коды NTSTATUS
Разное

Избранное
NTFS Stream Explorer
Native Shell
Тенгвар

Остальное
nvpnhcknn (архив)
English pages
Контакты

Ленты atom
Лента Atom сайта Лента Atom блога



При копировании материалов хорошим тоном будет указание авторства и ссылка на сайт.