Сбой функции ntcreatefile api windows xp
Ключевой особенностью набора является наличие тех же обновлений, какие содержит UpdatePack-XPSP3-Rus. Дополнительно включены обновления тех продуктов, которые являются частью операционной системы: Windows Media Player 9-11 и Internet Explorer 6-8, а также исправления ошибок локализации. Возможна установка полных версий IE8 и WMP11, дополнительных программ и обновлений; все подробности в FAQ.
Mini-FAQ:
2. Q: Где можно найти журнал установки?
A: Протокол установки обновлений записывается в файл %WinDir%\UpdatePack.log. Также его можно просмотреть в диалоговом окне после установки.
4. Q: Можно ли автоматически установить Service Pack 3?
A: Если в той же папке есть файл WindowsXP-KB936929-SP3-x86-RUS.exe и в системе установлен SP1/SP2, то SP3 будет предложен к установке.
5. Q: А что если часть обновлений уже установлена в системе?
A: Все корректно установленные обновления будут пропущены, установятся только необходимые.
6. Q: Возможно ли установить IE8 и WMP11 средствами самого набора обновлений?
A: Для этого присутствуют следующие возможности:
• Чтобы установить IE8, запустите набор с ключом /ie8, или добавьте слово ie8 в любую часть имени файла набора (например UpdatePackLiveie8.exe).
• Чтобы установить WMP11, поместите в папку с набором файл wmp11-windowsxp-x86-ru-ru.exe.
• Если вы хотите применить свои твики после установки IE8 или WMP11, расположите в папке с набором файлы ie8.reg и wmp11.reg соответственно.
Набор обновлений UpdatePack-XPSP3-Rus Live 19.11.15 : 192 комментария
Спасибо, проверю.
Проблему подтверждаю.
помогите мне! Я загрузил себе файл UpdatePack7R2 для Windows 7 SP1 и Server 2008 R2 SP1.
Открываю его и мне пишет, что нужно скачать сервис пак 1. В итогу как мне обновить систему? Что за пак?
А вы не могли бы выложить ваш уже правленый ntdll.dll на любой удобный для вас обменник?
Can I install in XP SP3 ENU (English US)
Можно ли сделать так, чтобы файл shell32.dll при установке данного пакета обновлений НЕ обновлялся (затирая мой)?
Обновления подразумевают замену файлов более новыми версиями.
Подходит ли этот пак обновлений для win2003 server r2 ?
Если вы найдёте в описании упоминание этой системы, то подойдёт.
simplix , будут ли ещё наборы обновлений для windows xp если её поддержка завершена полностью даже для версии для терминалов ?
Доброго времени суток. Интересный вопрос, так же интересно, как вы это себе представляете? По вашему Simplex должен взять поддержку ХР на себя?
Is there an English version?
А можно ли сей пакет как-то интегрировать в дистрибутив Windows XP?
ссылка на WMP 11 не работает.
Очень хотелось бы видеть вариант подобного пакета для английской Windows XP.
Для нее существует неофициальный SP4, но его сложно ставить и он очень громоздкий.
подключаю и инициализирую апи так:
- Вопрос задан более трёх лет назад
- 2041 просмотр
Вопрос немного не в тему: может приложение одноклассников должно представлять собой одну страницу,которая дёргает данные по ajax.
UpdatePack Live для обновления установленной системы Windows XP SP3 Rus
Ключевой особенностью набора является наличие тех же обновлений, какие содержит UpdatePack-XPSP3-Rus. Дополнительно включены обновления тех продуктов, которые являются частью операционной системы: Windows Media Player 9-11 и Internet Explorer 6-8, а также исправления ошибок локализации. Возможна установка полных версий IE8 и WMP11, дополнительных программ и обновлений; все подробности в FAQ.
Mini-FAQ:
2. Q: Где можно найти журнал установки?
A: Протокол установки обновлений записывается в файл %WinDir%UpdatePack.log. Также его можно просмотреть в диалоговом окне после установки.
3. Q: Каким образом можно выполнить свои программы или твики?
A: Для этого предназначены два пакетных файла, которыми можно выполнить любые внешние команды:
• Если рядом с набором есть UpdatePackStart.cmd — он будет выполнен перед установкой обновлений, UpdatePackFinish.cmd — после.
• По умолчанию консольные окна будут показаны. Чтобы их скрыть, первая строка в cmd-файле должна начинаться с «:hide» (без кавычек).
• Набор обновлений отслеживает код выхода из cmd-файлов, на случай необходимости перезагрузки. Этот код равен 3010 (команда exit 3010).
4. Q: Можно ли автоматически установить Service Pack 3?
A: Если в той же папке есть файл WindowsXP-KB936929-SP3-x86-RUS.exe и в системе установлен SP1/SP2, то SP3 будет предложен к установке.
5. Q: А что если часть обновлений уже установлена в системе?
A: Все корректно установленные обновления будут пропущены, установятся только необходимые.
6. Q: Возможно ли установить IE8 и WMP11 средствами самого набора обновлений?
A: Для этого присутствуют следующие возможности:
• Чтобы установить IE8, запустите набор с ключом /ie8, или добавьте слово ie8 в любую часть имени файла набора (например UpdatePackLiveie8.exe).
• Чтобы установить WMP11, поместите в папку с набором файл wmp11-windowsxp-x86-ru-ru.exe.
• Если вы хотите применить свои твики после установки IE8 или WMP11, расположите в папке с набором файлы ie8.reg и wmp11.reg соответственно.
Набор обновлений UpdatePack-XPSP3-Rus Live 19.11.15 : 148 комментариев
Открыть файл ntdll.dll в Resource hacker.
— Перейти в папку «Message Table».
— Скопировать весь текст в редактор, который имеет функцию блочного копирования (например, AkelPad, EmEditor).
— Скопировать текст правой колонки, начиная со строки 0x8020000B, до строки 0xC0150012.
— Вставить этот текст начиная со строки 0xC0000001 до строки 0xC0150013 (сдвинуть на одну строку вниз).
— Скопировать текст из строки 0xC020000C в строку 0x8020000B.
— Перенести весь полученый текст в Resource hacker, сохранить ntdll.dll.
Для начала напишите, как воспроизвести проблему — какую программу запускать, чтобы было видно неправильную ошибку, и какая должна быть.
Спасибо, проверю.
Проблему подтверждаю.
помогите мне! Я загрузил себе файл UpdatePack7R2 для Windows 7 SP1 и Server 2008 R2 SP1.
Открываю его и мне пишет, что нужно скачать сервис пак 1. В итогу как мне обновить систему? Что за пак?
windows6.1-KB976932-X86.exe — для 32-битной системы
или
windows6.1-KB976932-X64.exe — для 64-битной
А вы не могли бы выложить ваш уже правленый ntdll.dll на любой удобный для вас обменник?
Can I install in XP SP3 ENU (English US)
Можно ли сделать так, чтобы файл shell32.dll при установке данного пакета обновлений НЕ обновлялся (затирая мой)?
Обновления подразумевают замену файлов более новыми версиями.
Подходит ли этот пак обновлений для win2003 server r2 ?
Если вы найдёте в описании упоминание этой системы, то подойдёт.
simplix , будут ли ещё наборы обновлений для windows xp если её поддержка завершена полностью даже для версии для терминалов ?
Доброго времени суток. Интересный вопрос, так же интересно, как вы это себе представляете? По вашему Simplex должен взять поддержку ХР на себя?
Is there an English version?
@Dylan Taylor,
Actually these MS updates goes in Russian out there. Simplix doesn’t care for English version. It was discussed back.
Содержание статьи
Отладчик и дизассемблер — это, безусловно, лучшие инструменты, чтобы посмотреть, как устроена какая-то программа изнутри. Но есть еще один инструмент, который быстро может дать картину того, что происходит внутри приложения и как оно взаимодействует с операционной системой. Это монитор API-вызовов.
Работа многих приложений и самой Windows во многом построена на системе DLL, т.е. динамически загружаемых библиотек. Приложениями предоставляются сервисные API-функции, с помощью которых они могут взаимодействовать с системой. Условно говоря, есть функции для чтения и записи в реестр, работы с файловой системой, сетевого взаимодействия и т.д. Фиксируя вызовы API-функций, мы можем узнать многое о работе приложения. А перехват таких вызов (и спуфинг результата их выполнения) позволяет обойти многие ограничения системы и делать с ней практически что угодно.
Существует немало программ, которые мониторят обращения к API-функциям. Взять хотя бы небезызвестные утилиты RegMon и FileMon Марка Руссиновича. Отслеживая вызовы API-функций, касающихся взаимодействия с реестром и файловой системой, они выводят информацию в удобном для анализа виде. Фактически, идея написать материал о давно существовавших API-шпионах появилась под впечатлением от нового релиза программы API Monitor. Она делает то же самое, что и масса других подобных программ — фиксирует обращения к API-функциям и COM-методам. Но то, как она реализована, заслуживает всяческих похвал.
Чем удивил API Monitor?
Сам проект довольно старый: его предыдущая 1.5 версия выходила еще в далеком 2001 году. Прошлым летом разработчики реанимировали проект и полностью переписали код. Теперь это офигенный инструмент! Кратко пройдемся по его возможностям.
Устанавливаем простой hook
Впрочем, лучше всего ощутить все прелести API Monitor на практике. В общем случае необходимо указать монитору две вещи: функции для отслеживания и программы/сервисы, которые предположительно будут их вызывать. Для примера возьмем простую ситуацию, когда необходимо отследить факт создания файла в системе. За это в общем случае отвечают API-функции CreateFileA, CreateFileW и NtCreateFile, вот их вызовы мы и будем мониторить.
Помимо этого, в выводе отражаются возвращаемое значение и коды ошибок. Функция NtCreateFile не нашла файл и поэтому вернула "STATUS_OBJECT_NOT_FOUND", а потому kernel32.dll вернула в Nodepad INVAL — файл создан. Вот где ощущается прелесть от декодированных ошибок.
Снифаем SSL-трафик браузера
Теперь, когда мы разобрались с общим механизмом работы API Monitor, хочу показать тебе всю мощь того, что предоставляет возможность отслеживать и перехватывать API-вызовы. Для того чтобы пример был более практичным, возьмем ситуацию из реальной жизни, когда мне необходимо было отснифать SSL-трафик, передаваемый браузерами. API Monitor в этом случае позволяет нам просмотреть данные, которые будут отправлены на защищенный сайт до того, как их закриптует браузер. Этот способ, кстати, вполне можно использовать, чтобы восстановить пароли, которые когда-то были сохранены в браузере и забыты. Для начала схема для Internet Explorer:
Только монитор
Помимо непосредственно API-шпионов, есть утилиты, которые позволяют не только отслеживать вызов API-функций, но, к примеру, влиять на их выполнение. Но если необходим удобный качественный шпион, которым действительно удобно пользоваться, то новый API Monitor — это то, что доктор прописал. К тому же программа поддерживает подключаемые описания вообще для любой DLL-библиотеки, оформленные в специальном XML-формате, что делает ее еще и более универсальной.
Программы для мониторинга API-вызовов
WinApiOverride
Мощнейший API-монитор от французских разработчиков, который может не только отслеживать вызовы API, но и переопределять функции. Например, исключить нужный процесс из списка процессов, которые отображаются в таскменеджере.
kerberos
Шпион для отлова вызовов WinAPI функций. Утилита перехватывает не только API, но и пользовательские функции, поддерживает плагины. Лог работы шпиона в виде текстового файла *.rep сохраняется в папке с исследуемым приложением.
APISpy32
APISpy32 — шпион за вызовами WinAPI. Программа может следить за всеми процессами одновременно в системе, имея для этого специальный навороченный движок.
Набор обновлений UpdatePack-XPSP3-Rus Live 19.11.15
UpdatePack Live для обновления установленной системы Windows XP SP3 Rus
Ключевой особенностью набора является наличие тех же обновлений, какие содержит UpdatePack-XPSP3-Rus. Дополнительно включены обновления тех продуктов, которые являются частью операционной системы: Windows Media Player 9-11 и Internet Explorer 6-8, а также исправления ошибок локализации. Возможна установка полных версий IE8 и WMP11, дополнительных программ и обновлений; все подробности в FAQ.
Mini-FAQ:
2. Q: Где можно найти журнал установки?
A: Протокол установки обновлений записывается в файл %WinDir%UpdatePack.log. Также его можно просмотреть в диалоговом окне после установки.
3. Q: Каким образом можно выполнить свои программы или твики?
A: Для этого предназначены два пакетных файла, которыми можно выполнить любые внешние команды:
• Если рядом с набором есть UpdatePackStart.cmd — он будет выполнен перед установкой обновлений, UpdatePackFinish.cmd — после.
• По умолчанию консольные окна будут показаны. Чтобы их скрыть, первая строка в cmd-файле должна начинаться с «:hide» (без кавычек).
• Набор обновлений отслеживает код выхода из cmd-файлов, на случай необходимости перезагрузки. Этот код равен 3010 (команда exit 3010).
4. Q: Можно ли автоматически установить Service Pack 3?
A: Если в той же папке есть файл WindowsXP-KB936929-SP3-x86-RUS.exe и в системе установлен SP1/SP2, то SP3 будет предложен к установке.
5. Q: А что если часть обновлений уже установлена в системе?
A: Все корректно установленные обновления будут пропущены, установятся только необходимые.
6. Q: Возможно ли установить IE8 и WMP11 средствами самого набора обновлений?
A: Для этого присутствуют следующие возможности:
• Чтобы установить IE8, запустите набор с ключом /ie8, или добавьте слово ie8 в любую часть имени файла набора (например UpdatePackLiveie8.exe).
• Чтобы установить WMP11, поместите в папку с набором файл wmp11-windowsxp-x86-ru-ru.exe.
• Если вы хотите применить свои твики после установки IE8 или WMP11, расположите в папке с набором файлы ie8.reg и wmp11.reg соответственно.
Набор обновлений UpdatePack-XPSP3-Rus Live 19.11.15 : 155 комментариев
Открыть файл ntdll.dll в Resource hacker.
— Перейти в папку «Message Table».
— Скопировать весь текст в редактор, который имеет функцию блочного копирования (например, AkelPad, EmEditor).
— Скопировать текст правой колонки, начиная со строки 0x8020000B, до строки 0xC0150012.
— Вставить этот текст начиная со строки 0xC0000001 до строки 0xC0150013 (сдвинуть на одну строку вниз).
— Скопировать текст из строки 0xC020000C в строку 0x8020000B.
— Перенести весь полученый текст в Resource hacker, сохранить ntdll.dll.
Для начала напишите, как воспроизвести проблему — какую программу запускать, чтобы было видно неправильную ошибку, и какая должна быть.
Спасибо, проверю.
Проблему подтверждаю.
помогите мне! Я загрузил себе файл UpdatePack7R2 для Windows 7 SP1 и Server 2008 R2 SP1.
Открываю его и мне пишет, что нужно скачать сервис пак 1. В итогу как мне обновить систему? Что за пак?
windows6.1-KB976932-X86.exe — для 32-битной системы
или
windows6.1-KB976932-X64.exe — для 64-битной
А вы не могли бы выложить ваш уже правленый ntdll.dll на любой удобный для вас обменник?
Can I install in XP SP3 ENU (English US)
Можно ли сделать так, чтобы файл shell32.dll при установке данного пакета обновлений НЕ обновлялся (затирая мой)?
Обновления подразумевают замену файлов более новыми версиями.
Подходит ли этот пак обновлений для win2003 server r2 ?
Если вы найдёте в описании упоминание этой системы, то подойдёт.
simplix , будут ли ещё наборы обновлений для windows xp если её поддержка завершена полностью даже для версии для терминалов ?
Доброго времени суток. Интересный вопрос, так же интересно, как вы это себе представляете? По вашему Simplex должен взять поддержку ХР на себя?
Is there an English version?
@Dylan Taylor,
Actually these MS updates goes in Russian out there. Simplix doesn’t care for English version. It was discussed back.
А можно ли сей пакет как-то интегрировать в дистрибутив Windows XP?
ссылка на WMP 11 не работает.
Очень хотелось бы видеть вариант подобного пакета для английской Windows XP.
Для нее существует неофициальный SP4, но его сложно ставить и он очень громоздкий.
simplix forum
UpdatePack-XPSP3-Rus Live версия 16.8.12
UpdatePack-XPSP3-Rus Live версия 16.9.17
Приветствую уважаемых знатоков и всех читателей форума!
Есть проблема
Как я понял из описания и логов, UpdatePack-XPSP3-Rus Live устанавливает
Windows Update Agent 7.6.7600.257
Вручную установил Windows Update Agent 7.6.7600.256 с ключом wusetup.exe /wuforce
обновление антивируса снова заработало! Но при заходе на сайт обновления Майкрософт всё равно обновления проверять не хочет, предлагает сразу закачать и установить файл, после чего пресловутая ошибка 0x80244019 появляется снова ;(
Лог ошибок сохранил отдельно, могу скинуть. Заранее спасибо.
Отредактировано serg7 (21.09.2016 03:45:01)
Windows Native Applications и сервис Acronis Active Restore
Сегодня продолжаем рассказ о том, как мы вместе с ребятами из Университета Иннополис разрабатываем технологию Active Restore, чтобы позволить пользователю как можно раньше начать работу на своей машине после сбоя. Речь пойдет о нативных приложениях Windows, включая особенности их создания и запуска. Под катом – немного о нашем проекте, а также практическое руководство как писать нативные приложения.
В прошлых постах мы уже рассказывали о том, что такое Active Restore, и как студенты из Иннополиса разрабатывают сервис. Сегодня я хочу остановиться на нативных приложениях, до уровня которых мы хотим “закопать” наш сервис активного восстановления. Если все получится, то мы сможем:
- Намного раньше запустить сам сервис
- Намного раньше связаться с облаком, в котором лежит бэкап
- Намного раньше понять, в каком режиме находится система – нормальной загрузки или восстановления
- Намного меньше файлов восстанавливать заранее
- Позволить пользователю приступить к работе еще быстрее.
Что вообще такое нативное приложение?
Чтобы ответить на этот вопрос, давайте взглянем на последовательность вызовов, которые совершает система, например, если программист в своем приложении пытается создать файл.
Pavel Yosifovich — Windows Kernel Programming (2019)
Программист использует функцию CreateFile, которая объявлена в заголовочном файле fileapi.h и реализована в Kernel32.dll. Однако сама эта функция не занимается созданием файла, она лишь проверяет аргументы на входе и вызывает функцию NtCreateFile (приставка Nt как раз свидетельствует о том, что функция нативная). Данная функция объявлена в заголовочном файле winternl.h и реализована в ntdll.dll. Она производит подготовку к прыжку в ядерное пространство, после чего совершает системный вызов для создания файла. В данном случае получается, что Kernel32 – всего лишь обертка для Ntdll. Одна из причин для чего это сделано, Microsoft таким образом имеет возможность изменять функции нативного мира, но при этом не трогать стандартные интерфейсы. Microsoft не рекомендует напрямую вызывать нативные функции и не документирует большую часть из них. Кстати, недокументированные функции можно найти тут.
Основное преимущество нативных приложений заключается в том, что ntdll загружается в систему значительно раньше kernel32. Это логично, ведь kernel32 требует наличия ntdll для работы. Как следствие, приложения, использующие нативные функции, могут начать работу значительно раньше.
Таким образом, Windows Native Applications – это программы, способные запускаться на раннем этапе загрузки Windows. Они используют ТОЛЬКО функции из ntdll. Пример такого приложения: autochk который исполняет chkdisk utility для проверки диска на ошибки еще до запуска основных сервисов. Именно на таком уровне мы и хотим видеть наш Active Restore.
Что нам понадобится?
Что же в коде?
Давайте немного потренируемся и для примера напишем небольшое приложение которое:
В нативных приложениях точкой входа является не main или winmain, а функция NtProcessStartup, так как мы фактически напрямую запускаем новые процесс в системе.
Так как нам доступны только функции из ntdll, и других библиотек в памяти просто еще нет, у нас обязательно возникнут проблемы с тем как аллоцировать память. Оператора new ещё не существует (потому что он родом из слишком высокоуровнего мира C++), также нет функции malloc (для нее нужны библиотеки runtime C). Можно конечно пользоваться лишь стэком. Но если нам нужно динамически аллоцировать память, делать это придется в куче (т.е. heap). Поэтому давайте создадим для себя кучу и будем брать из нее память когда нам потребуется.
Для этой задачи подойдет функция RtlCreateHeap. Далее, используя RtlAllocateHeap и RtlFreeHeap, мы будем занимать и освобождать память когда нам это будет нужно.
Перейдем к ожиданию ввода с клавиатуры.
Все что нам нужно – это использовать NtReadFile на открытом устройстве, и ждать, пока клавиатура не вернет нам какое либо нажатие. В случае, если нажата клавиша ESC, мы продолжим работу. Чтобы открыть устройство, нам потребуется вызвать функцию NtCreateFile (открыть нужно будет DeviceKeyboardClass0). Также мы вызовем NtCreateEvent, чтобы инициализировать объект для ожидания. Мы самостоятельно объявим структуру KEYBOARD_INPUT_DATA, которая представляет данные клавиатуры. Это облегчит нам работу.
Работа нативного приложения завершается вызовом функции NtTerminateProcess, потому что мы просто убиваем свой собственный процесс.
Весь код нашего небольшого приложения:
PS: Мы можем запросто использовать в коде функцию DbgBreakPoint() для остановки в дебаггере. Правда нужно будет подключить WinDbg к виртуальной машине для кернельной отладки. Инструкцию как это сделать можно найти тут или просто использовать VirtualKD.
Компиляция и сборка
Самый простой способ собрать нативное приложение – это использовать DDK (Driver Development Kit). Нам нужна именно древняя седьмая версия, так как более поздние версии имеют несколько иной подход и тесно работают с Visual Studio. Если же использовать DDK, то нашему проекту нужны всего лишь Makefile и sources.
Ваш Makefile будет точно таким же, на sources же давайте остановимся чуть подробнее. В данном файле указываются исходники вашей программы (файлы .c), опции сборки и другие параметры.
- TARGETNAME – имя исполняемого файла, который должен получиться в итоге.
- TARGETTYPE – тип исполняемого файла, это может быть драйвер (.sys), тогда значение поля должно быть DRIVER, если библиотека (.lib), то значение LIBRARY. В нашем случае нужен исполняемый файл (.exe), поэтому мы устанавливаем значение PROGRAM.
- UMTYPE – возможные значения этого поля: console для консольного приложения, windows для работы в оконном режиме. Но нам необходимо указать nt, чтобы получить нативное приложение.
- BUFFER_OVERFLOW_CHECKS – проверка стэка на переполнение буфера, к сожалению не наш случай, выключаем.
- MINWIN_SDK_LIB_PATH – данное значение ссылается на переменную SDK_LIB_PATH, не стоит переживать что у вас не объявлена подобная системная переменная, в момент когда мы запустим checked build из DDK, данная переменная будет объявлена и будет указывать на необходимые библиотеки.
- SOURCES – список исходников вашей программы.
- INCLUDES – заголовочные файлы, которые необходимы для сборки. Тут обычно указывают путь к файлам, которые идут в комплекте с DDK, но вы можете указать дополнительно любые другие.
- TARGETLIBS – список библиотек, которые необходимо линковать.
- USE_NTDLL – обязательное поле, которое необходимо установить в положение 1. По вполне очевидным причинам.
- USER_C_FLAGS – любые флаги, которые вы сможете использовать в препроцессорных директивах при подготовке кода приложения.
Итак для сборки нам необходимо запустить x86 (или x64) Checked Build, сменить рабочий каталог на папку с проектом и выполнить команду Build. Результат на скриншоте показывает что у нас собрался один исполняемый файл.
Данный файл не получится так просто запустить, система ругается и отправляет нас думать о своем поведении со следующей ошибкой:
Как запустить нативное приложение?
В момент старта autochk последовательность запуска программ определяется значением ключа реестра:
Менеджер сессии поочередно исполняет программы из этого списка. Сами же исполняемые файлы менеджер сессии ищет в директории system32. Формат значения ключа реестра следующий:
Значение должно быть в шестнадцатеричном формате, а не в привычном ASCII, следовательно ключ, представленный выше, будет иметь формат:
Чтобы конвертировать название, можно использовать онлайн-сервис, например, этот.
Получается, чтобы запустить нативное приложение, нам необходимо:
- Скопировать исполняемый файл в папку system32
- Добавить в реестр ключ
- Перезагрузить машину
Для удобства вот вам готовый скрипт для установки нативного приложения:
После установки и перезагрузки еще до появления экрана выбора пользователей мы получим следующую картину:
На примере вот такого маленького приложения мы убедились, что запустить приложение на уровне Windows Native вполне возможно. Дальше мы с ребятами из Университета Иннополис продолжим строить сервис, который будет инициировать процесс взаимодействия с драйвером намного раньше, чем в предыдущей версии нашего проекта. А с появлением оболочки win32 логично будет передать управление полноценному сервису, который уже был разработан (об этом подробнее здесь).
В очередной статье мы коснемся еще одного компонента сервиса Active Restore, а именно UEFI драйвера. Подписывайтесь на наш блог, чтобы не пропустить следующий пост.
XnView Classic
Актуальная версия - 2. 50.2 (22.09.2021)
XnView - программа для просмотра графики. Программа базируется на Gfl SDK который и определяет его возможности. XnView может производить такие операции над графикой, как обрезка, изменение размера, гаммы-контраста-яркости-баланса, печать, допускает применение к изображению разнообразных фильтров и проделывать над файлами многое другое, причем все эти операции и фильтры (в любом сочетании) можно применять сразу к большому количеству файлов, а преднастройки - сохранять в качестве сценариев и использовать позже.
Для просмотра файлов PS/EPS/PDF/AI дополнительно требуется установка Ghostscript.
Программа обладает мощными средствами для работы с файлами - предпросмотр, thumbnails (уменьшенные копии), поддержка файлов с описаниями, автоматическое создание списка файлов, копирование/вставка файлов через буфер обмена, просмотр не-графических файлов, поддержка Drag&Drop и интеграция с операционной системой.
Кроме своей основной функции - качественного показа графики и ее конвертирования из одного формата в другой, программа обладает и множеством дополнительных: работа со сканером, создание html-страниц с графикой, подсчет использованных в картинке цветов и, даже такой вроде бы мелкой, но полезной опцией, как установка картинки в качестве обоев на рабочий стол. Наконец, XnView позволяет захватывать изображения (весь экран, активное окно или пользовательскую область), а также имеет отдельную утилиту для использования практически всех возможностей XnView при работе из командной строки.
XnViewMP
Актуальная версия - 0. 99.1 (23.09.2021)
XnViewMP - новая версия XnView, мощный кроссплатформенный медиа-браузер, просмотрщик и конвертер. Поддерживает более 500 форматов. В отличие от оригинального XnView улучшена производительность и кэширование, увеличена скорость загрузки, поддержка Unicode, поддержка многоядерных процессоров, 32 и 64-битные версии для Windows, Linux, macOS. Включает в себя XnConvert.
Для просмотра PDF/EPS/PS/AI файлов требуется AGPL GhostScript v9.x. Новейшие версии движка могут не поддерживаться.
Тут сторонние сервера не показатель, хотя ЦП и валидная. Бывает автор убирает с серверов "неудачный" вариант, а он уже с чьей-то лёгкой руки гулять пошёл и иди разберись.
Читайте также: