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

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

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

Сообщение 0ffer » 25 фев 2016, 17: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 Кб) Скачиваний: 119
If you dont know DOS, you dont know Windows ...
Если вы не знаете DOS, вы не знаете Windows ...
0ffer
Матерый даунгрейдер
 
Сообщения: 80
Зарегистрирован: 23 янв 2011, 12:16
Железо: HP 6820s

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

Сообщение SokilOff » 25 фев 2016, 20: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
Мастер Даунгрейда
 
Сообщения: 454
Зарегистрирован: 09 янв 2013, 01:24

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

Сообщение 0ffer » 25 фев 2016, 22: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 на моей странице, на которую есть ссылки и в википедии, если же у вас нет идей по существу, то не стоит огрызаться
If you dont know DOS, you dont know Windows ...
Если вы не знаете DOS, вы не знаете Windows ...
0ffer
Матерый даунгрейдер
 
Сообщения: 80
Зарегистрирован: 23 янв 2011, 12:16
Железо: HP 6820s

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

Сообщение SokilOff » 26 фев 2016, 00: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
Мастер Даунгрейда
 
Сообщения: 454
Зарегистрирован: 09 янв 2013, 01:24

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

Сообщение 0ffer » 26 фев 2016, 01: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, заполняя пробелами не виснит и не дает сообщений об ошибках
If you dont know DOS, you dont know Windows ...
Если вы не знаете DOS, вы не знаете Windows ...
0ffer
Матерый даунгрейдер
 
Сообщения: 80
Зарегистрирован: 23 янв 2011, 12:16
Железо: HP 6820s

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

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

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

Может быть этот более правильный...
Вложения
io.zip
(73 Кб) Скачиваний: 109
iosysmsg.png
iosysmsg.png (1.26 Кб) Просмотров: 6214
Последний раз редактировалось 0ffer 26 фев 2016, 02:11, всего редактировалось 1 раз.
If you dont know DOS, you dont know Windows ...
Если вы не знаете DOS, вы не знаете Windows ...
0ffer
Матерый даунгрейдер
 
Сообщения: 80
Зарегистрирован: 23 янв 2011, 12:16
Железо: HP 6820s

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

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

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

после ввода с клавиатуры
If you dont know DOS, you dont know Windows ...
Если вы не знаете DOS, вы не знаете Windows ...
0ffer
Матерый даунгрейдер
 
Сообщения: 80
Зарегистрирован: 23 янв 2011, 12:16
Железо: HP 6820s

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

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

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

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

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

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

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

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

Сообщение 0ffer » 26 фев 2016, 23: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
If you dont know DOS, you dont know Windows ...
Если вы не знаете DOS, вы не знаете Windows ...
0ffer
Матерый даунгрейдер
 
Сообщения: 80
Зарегистрирован: 23 янв 2011, 12:16
Железо: HP 6820s

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

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

Вот в аттаче то, что ищет Offer.
И всё-таки я упорно не знаю, зачем сие нужно..
Вложения
ndos_80.rar
(149.84 Кб) Скачиваний: 101
Последний раз редактировалось Nika 11 мар 2016, 08:18, всего редактировалось 3 раз(а).
Nika
Мастер Даунгрейда
 
Сообщения: 645
Зарегистрирован: 17 окт 2013, 00:21

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

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

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


Для моей страницы DOS для NTFS
Специальная версия восьмого ДОСа для Нортон Командера 5.51 c полной поддержкой русских длинных имен, без переменных окружения windir и temp, не создает BOOTLOG-ов - Результат обсуждения с пользователем shiva в теме НТФС в дос
Огромнейшее спасибо :!:
If you dont know DOS, you dont know Windows ...
Если вы не знаете DOS, вы не знаете Windows ...
0ffer
Матерый даунгрейдер
 
Сообщения: 80
Зарегистрирован: 23 янв 2011, 12:16
Железо: HP 6820s

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

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

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

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

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

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

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

Сообщение 0ffer » 11 мар 2016, 18: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 Кб) Просмотров: 5997

4DOS.zip
io.sys 4dos.com 4sys.com
(226.76 Кб) Скачиваний: 116
Последний раз редактировалось 0ffer 15 апр 2016, 01:26, всего редактировалось 5 раз(а).
If you dont know DOS, you dont know Windows ...
Если вы не знаете DOS, вы не знаете Windows ...
0ffer
Матерый даунгрейдер
 
Сообщения: 80
Зарегистрирован: 23 янв 2011, 12:16
Железо: HP 6820s

IO.SYS 110 080 patch

Сообщение 0ffer » 22 июн 2018, 17: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 Кб) Просмотров: 165


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

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


Значения переменных окружения при загрузке с дискеты
env_FDD.png
env_FDD.png (1.42 Кб) Просмотров: 165
Вложения
patch_IO_sys_ME.zip
(96.36 Кб) Скачиваний: 7
If you dont know DOS, you dont know Windows ...
Если вы не знаете DOS, вы не знаете Windows ...
0ffer
Матерый даунгрейдер
 
Сообщения: 80
Зарегистрирован: 23 янв 2011, 12:16
Железо: HP 6820s


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

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

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