IO.SYS patch - постановка задачи

Софт только для использования в DOS

IO.SYS patch - постановка задачи

Сообщение 0ffer » 25 фев 2016, 16:11

IO.SYS patch - постановка задачи
Когда ДОС не ДОС так назвал свою публикацию на нескольких англоязычных форумах Mike Gonta - { when DOS is not DOS}.

Автор предложил разработчикам запускать свои ДОС приложения просто переименовав их в command.com, воспользовавшись тем свойством IO.SYS из MS-DOS 7.10 (Win98) - the first byte of the code must be 0x7A which is is checked by io.sys - первый байт проверяемый io.sys должен быть 0x7A.

Воспользовашись этой идеей я попробовал command.com от MS-DOS 7.10 совместить с IO.SYS из MS-DOS 8.00 заменив в нем 00007A==>>000080 и отключив проверку версии ДОС 3D070A74==>>3D070AEB

На ассемблерном форуме задал вопрос как вообще отключить в IO.SYS из MS-DOS 7.10 проверку соответствующего байта

"How to change io.sys from MS-DOS 7.10 to remove this check?"

Получен ответ: "Run it through a disassembler and look for something that looks like"

cmp byte [???], 0x7A


Основная задача как изменить IO.SYS из MS-DOS 8.00 для прямого запуска 4DOS.COM и NDOS.COM из Norton Utilities 8.0 не используя команду shell=V:\ndos.com V:\ в config.sys

V-буква виртуального диска

В HEX-редакторе заменил строки COMMAND.COM==>>NDOS.COM в IO.SYS из MS-DOS 8.00 и в файле SYS.COM исправленном для работы в MS-DOS 8.00.

SYS.COM корректно переносит на флешку IO.SYS и NDOS.COM, перезаписывает загрузочный сектор и при загрузке получаем сообщение

Type the name of the Command Interpreter

В архиве файлы IO.SYS NDOS.COM NSYS.COM - переименованный NSYS.COM с заменой строки COMMAND.COM==>>NDOS.COM

Для совместимости с 4DOS.COM замена строк NDOS.COM==>>4DOS.COM в IO.SYS и 4SYS.COM

Сам не программист, может быть знатоки ассемблера и дизассемблера попробуют решить эту задачу
Вложения
NDOS.zip
(149.96 Кб) Скачиваний: 772
Последний раз редактировалось 0ffer 30 сен 2023, 23:41, всего редактировалось 1 раз.
0ffer
Мастер Даунгрейда
 
Сообщения: 139
Зарегистрирован: 23 янв 2011, 11:16
Железо: HP 6820s

Re: IO.SYS patch - постановка задачи

Сообщение SokilOff » 25 фев 2016, 19:36

0ffer писал(а):Основная задача как изменить IO.SYS из MS-DOS 8.00 для прямого запуска 4DOS.COM и NDOS.COM из Norton Utilities 8.0 не используя команду shell=V:\ndos.com V:\ в config.sys

Во-первых, команда shell в config.sys предназначена именно для этого. Зачем изобретать велосипед, да ещё с квадратными колёсами ?
Во-вторых, нет никаких гарантий совместимости и корректной работы 4DOS.COM или NDOS.COM с огрызками DOS (которые многие называют MS-DOS 8.0) из Windows ME
Последний раз редактировалось SokilOff 30 сен 2023, 23:41, всего редактировалось 1 раз.
Лень - это привычка отдыхать ещё до того, как устал.
Аватара пользователя
SokilOff
Мастер Даунгрейда
 
Сообщения: 698
Зарегистрирован: 09 янв 2013, 00:24

Re: IO.SYS patch - постановка задачи

Сообщение 0ffer » 25 фев 2016, 21:28

SokilOff писал(а):

... с огрызками DOS (которые многие называют MS-DOS 8.0) из Windows ME

Подтвеждение от Microsoft "This Version of Windows Runs Only on MS-DOS 8.00 "
Полная информация об MS-DOS 8.00 на моей странице, на которую есть ссылки и в википедии, если же у вас нет идей по существу, то не стоит огрызаться
Последний раз редактировалось 0ffer 30 сен 2023, 23:41, всего редактировалось 1 раз.
0ffer
Мастер Даунгрейда
 
Сообщения: 139
Зарегистрирован: 23 янв 2011, 11:16
Железо: HP 6820s

Re: IO.SYS patch - постановка задачи

Сообщение SokilOff » 25 фев 2016, 23:17

0ffer писал(а):
SokilOff писал(а):

... с огрызками DOS (которые многие называют MS-DOS 8.0) из Windows ME

Подтвеждение от Microsoft "This Version of Windows Runs Only on MS-DOS 8.00 "
Полная информация об MS-DOS 8.00 на моей странице

Самое смешное, обе ссылки подтверждают, что т.н. MS-DOS 8 - действительно огрызок, из которого часть функционала вырезана и ещё часть принудительно заблокирована.
Но главное - непонятна финальная цель. Например что мешает переименовать NDOS в command.com ?

0ffer писал(а):В HEX-редакторе заменил строки COMMAND.COM==>>NDOS.COM в IO.SYS из MS-DOS 8.00 и в файле SYS.COM исправленном для работы в MS-DOS 8.00.

Для начала каждая строка, заменённая на ndos.com, должна заканчиваться байтом 00, а не тремя пробелами.
Последний раз редактировалось SokilOff 30 сен 2023, 23:41, всего редактировалось 1 раз.
Лень - это привычка отдыхать ещё до того, как устал.
Аватара пользователя
SokilOff
Мастер Даунгрейда
 
Сообщения: 698
Зарегистрирован: 09 янв 2013, 00:24

Re: IO.SYS patch - постановка задачи

Сообщение 0ffer » 26 фев 2016, 00:18

что мешает переименовать NDOS в command.com ?


Как указано в первом посте IO.SYS прежде чем запустить command.com проверяет не только имя, но и определенные байты в нем как указал в своем посте Mike Gonta
"To get around this and have io.sys load and run your own code directly it must be a DOS "MZ" exe file even though
it is named command.com and the first byte of the code must be 0x7A which is is checked by io.sys
."
Кроме того если использовать command.com от другой версии ДОС, то command.com прежде чем загрузится проверяет версию ДОС которую в какую-то область памяти записывает io.sys

каждая строка, заменённая на ndos.com, должна заканчиваться байтом 00, а не тремя пробелами

проверял экспериментально, заполняя 20 - пробелами или 00, заполняя пробелами не виснит и не дает сообщений об ошибках
Последний раз редактировалось 0ffer 30 сен 2023, 23:41, всего редактировалось 1 раз.
0ffer
Мастер Даунгрейда
 
Сообщения: 139
Зарегистрирован: 23 янв 2011, 11:16
Железо: HP 6820s

Re: IO.SYS patch - постановка задачи

Сообщение 0ffer » 26 фев 2016, 01:08

IO.SYS c переименованным интерпретатором команд и в имени заполненный нулями

Может быть этот более правильный...
Вложения
io.zip
(73 Кб) Скачиваний: 612
iosysmsg.png
iosysmsg.png (1.26 Кб) Просмотров: 22026
Последний раз редактировалось 0ffer 30 сен 2023, 23:41, всего редактировалось 2 раз(а).
0ffer
Мастер Даунгрейда
 
Сообщения: 139
Зарегистрирован: 23 янв 2011, 11:16
Железо: HP 6820s

Re: IO.SYS patch - постановка задачи

Сообщение 0ffer » 26 фев 2016, 01:44

ndosmsg.png
ndosmsg.png (1.29 Кб) Просмотров: 21990

после ввода с клавиатуры
Последний раз редактировалось 0ffer 30 сен 2023, 23:41, всего редактировалось 1 раз.
0ffer
Мастер Даунгрейда
 
Сообщения: 139
Зарегистрирован: 23 янв 2011, 11:16
Железо: HP 6820s

Re: IO.SYS patch - постановка задачи

Сообщение SokilOff » 26 фев 2016, 02:10

0ffer писал(а):Может быть этот более правильный...

Ну при беглом осмотре в hiew на предмет проверки на 'ZM' или 'MZ' нашлось 3 места

E50E: 74 08 (для отключения изменить на 74 00)
E513: 74 03 (аналогично - на 74 00)

1718A: 75 55 (соответственно на 75 00)

Я не проверял, что и как. Если есть желание, можно поотключать по одной или в разных комбинациях :) За результат ответственность не несу, ибо детально в коде не пытался разобраться. Может все 3 места вообще не о том.
Последний раз редактировалось SokilOff 30 сен 2023, 23:41, всего редактировалось 1 раз.
Лень - это привычка отдыхать ещё до того, как устал.
Аватара пользователя
SokilOff
Мастер Даунгрейда
 
Сообщения: 698
Зарегистрирован: 09 янв 2013, 00:24

Re: IO.SYS patch - постановка задачи

Сообщение 0ffer » 26 фев 2016, 22:09

на предмет проверки ... 'MZ'
... E50E: 74 08

3D 4D 5A 74 08
Microsoft всегда действует по принципу семь раз отмерь - один раз отрежь
в данном случае проверяется сигнатура 'MZ' на предмет различия запуска .com или .exe файлов
3D 4D 5A 74 08==>>3D 4D 5A EB 08 и io.sys не запускает .com файл
install=clear.com - отдельный файл встроенной в command.com команды cls

Может все 3 места вообще не о том.

command.com от MS-DOS 7.10 совместить с IO.SYS из MS-DOS 8.00 заменив в нем 00007A==>>000080 и отключив проверку версии ДОС 3D070A74==>>3D070AEB


главное отменить в io.sys "узнавание" "родного" command.com

"How to change io.sys from MS-DOS 7.10 to remove this check?"

Получен ответ: "Run it through a disassembler and look for something that looks like"

cmp byte [???], 0x7A

В случае io.sys из MS-DOS 8.00 0x7A=0x80
Последний раз редактировалось 0ffer 30 сен 2023, 23:41, всего редактировалось 1 раз.
0ffer
Мастер Даунгрейда
 
Сообщения: 139
Зарегистрирован: 23 янв 2011, 11:16
Железо: HP 6820s

Re: IO.SYS patch - постановка задачи

Сообщение Nika » 11 мар 2016, 07:03

Вот в аттаче то, что ищет Offer.
И всё-таки я упорно не знаю, зачем сие нужно..
Вложения
ndos_80.rar
(149.84 Кб) Скачиваний: 562
Последний раз редактировалось Nika 30 сен 2023, 23:41, всего редактировалось 4 раз(а).
Nika
Мастер Даунгрейда
 
Сообщения: 852
Зарегистрирован: 16 окт 2013, 23:21

Re: IO.SYS patch - постановка задачи

Сообщение 0ffer » 11 мар 2016, 15:56

Nika писал(а): зачем сие нужно..


Для моей страницы DOS для NTFS
Специальная версия восьмого ДОСа для Нортон Командера 5.51 c полной поддержкой русских длинных имен, без переменных окружения windir и temp, не создает BOOTLOG-ов - Результат обсуждения с пользователем shiva в теме НТФС в дос
Огромнейшее спасибо :!:
Последний раз редактировалось 0ffer 30 сен 2023, 23:41, всего редактировалось 1 раз.
0ffer
Мастер Даунгрейда
 
Сообщения: 139
Зарегистрирован: 23 янв 2011, 11:16
Железо: HP 6820s

Re: IO.SYS patch - постановка задачи

Сообщение SokilOff » 11 мар 2016, 16:36

0ffer писал(а):Специальная версия восьмого ДОСа для Нортон Командера 5.51 c полной поддержкой русских длинных имен, без переменных окружения windir и temp, не создает BOOTLOG-ов

Вот теперь более-менее ясно. Но...

Во-первых, я не уверен, что ndos из NU8 способен работать с длинными именами файлов.
Во-вторых, NC 5.51 оставил грустные воспоминания своими багами, которые Симантек уже не собирался исправлять. Навскидку: порча истории команд (Alt+F8) при запуске из NC любой резидентной программы. Да и DN был куда более продвинутым.

Но в любом случае - удачи с проектом.
Последний раз редактировалось SokilOff 30 сен 2023, 23:41, всего редактировалось 1 раз.
Лень - это привычка отдыхать ещё до того, как устал.
Аватара пользователя
SokilOff
Мастер Даунгрейда
 
Сообщения: 698
Зарегистрирован: 09 янв 2013, 00:24

Re: IO.SYS patch - постановка задачи

Сообщение 0ffer » 11 мар 2016, 17:11

SokilOff писал(а):Во-первых, я не уверен, что ndos из NU8 способен работать с длинными именами файлов.

Полная поддержка русских длинных имен на всех разделах FAT32 и NTFS обеспечивается драйверами doslfn.com и ndos.exe от Paragon.


Патч от Nika:

Loads "left" interpreter named "command.com"
io.sys
000171CC: 14 00

также работает с 4dos.com.

4DOS.png
4DOS.png (1.45 Кб) Просмотров: 21822

4DOS.zip
io.sys 4dos.com 4sys.com
(226.76 Кб) Скачиваний: 616
Последний раз редактировалось 0ffer 30 сен 2023, 23:41, всего редактировалось 6 раз(а).
0ffer
Мастер Даунгрейда
 
Сообщения: 139
Зарегистрирован: 23 янв 2011, 11:16
Железо: HP 6820s

IO.SYS 110 080 patch

Сообщение 0ffer » 22 июн 2018, 16:06

Известно, что в составе Windows ME файл IO.SYS размером 110 080, обновленный Microsoft-ом в 2001 году, предназначенный только для запуска Windows ME с жесткого диска и не обрабатывающий config.sys и autoexec.bat непосредственно загружает C:\ WINDOWS\SYSTEM\VMM32.VXD. Распакованный IO.SYS с заменой VMM32.VXD на COMMAND.COM позволяет загрузится в MS-DOS 8.00.

Стартовое меню IO.SYS размером 110 080

menu.png
menu.png (4.13 Кб) Просмотров: 15686


Значения переменных окружения при загрузке с жесткого диска

env_HDD.png
env_HDD.png (1.55 Кб) Просмотров: 15731


Значения переменных окружения при загрузке с дискеты
env_FDD.png
env_FDD.png (1.42 Кб) Просмотров: 15738
Вложения
patch_IO_sys_ME.zip
(96.36 Кб) Скачиваний: 530
Последний раз редактировалось 0ffer 30 сен 2023, 23:41, всего редактировалось 1 раз.
0ffer
Мастер Даунгрейда
 
Сообщения: 139
Зарегистрирован: 23 янв 2011, 11:16
Железо: HP 6820s

Re: IO.SYS patch - постановка задачи

Сообщение 0ffer » 23 сен 2018, 12:22

Второй файл из обновления 311561 winboot.ebd - io.sys размером 116 736 предназначен для загрузки с дискеты,
menu.png
menu.png (5.22 Кб) Просмотров: 15019

проверяет устройство с которого загружается в отличии от winboot.sys- io.sys 110 080 загружаемого с жесткого диска.
Распаковываем с помощью декомпрессора Rudolph R. Loew оба файла и берем 2048 байт из winboot.sys для замены в winboot.ebd.
Применяем известные исправления к io.sys.
Как оказалось io.sys также проверяет сигнатуру MZ в command.com.
В архиве интерпретатор команд

с минимальным набором :
CD COPY DEL DIR ECHO EXIT GOTO IF PAUSE REM SET TYPE VER
io_sys_patch.zip
(112.23 Кб) Скачиваний: 505


Теперь winboot.ebd - io.sys загружается независимо от носителя.

Распакуйте архив в папку и запустите io_sys_patch.bat, автоматически скачается исправление 311561usam.exe и на выходе готовые файлы io.sys и winboot.ebd загружаемые с HDD.
command.com совместим FreeDOS и c io.sys ver. 8.00
miniCOMMAND v7.10 от Datalight также работает с io.sys ver. 7.10 при применении исправления от Nika:
7A F9 75 0A ==>> 7A F9 75 00
Вложения
mini.png
mini.png (1.89 Кб) Просмотров: 14969
Последний раз редактировалось 0ffer 30 сен 2023, 23:41, всего редактировалось 6 раз(а).
0ffer
Мастер Даунгрейда
 
Сообщения: 139
Зарегистрирован: 23 янв 2011, 11:16
Железо: HP 6820s

След.

Вернуться в Программы для DOS

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2