Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];

Вниз

RunOnce в Win9X в real mode (дос-режиме)   Найти похожие ветки 

 
Ihor Osov'yak   (2003-09-21 17:03) [0]

Сабж собственно, как сделать?

Проблема то в том, что всякие autoexec.bat и winstart.bat в милениуме уже, кажется, не обрабатываются..

Подходящее место - wininit.ini, но нигде не нашел внятного ответа на вопрос - можно ли прописать там программу на запуск..

Какие способы сделать сабж, желательно унивирсальный и для милениума и 98?

Ps. Все время с NT работал, а тут пришлось с 9X с их доовскими отголосками, блин..


 
Ihor Osov'yak   (2003-09-21 17:14) [1]

имется ввиду до загрузки этой всей бодяги, которая виндовсом зовется, в то время, когда еще 16-битные..


 
Думкин   (2003-09-21 17:44) [2]

Сочувствую....


 
NightAngel   (2003-09-21 22:13) [3]

> Ihor Osov"yak

Если я не ошибаюсь, перед загрузкой Win9x/ME wininit.exe обрабатывает wininit.ini: из секции [rename] считываются соответствующие имена и происходит так называемое "обновление" файлов. Вроде-бы без запуска (сейчас проверить негде). Есть там ещё секции [CombineVxDs] и [SetupOptions], последняя вообще непонятно, для чего нужна. Универсального способа запуска, скорее всего нет. Config.sys, autoexec.bat, и т.д., WinME действительно игнорирует. Сейчас ничего подсказать не могу, но вроде я как-то решил эту проблему в своё время (нужно будет посмотреть).


 
Ihor Osov'yak   (2003-09-21 23:20) [4]

2 [3] NightAngel © (21.09.03 22:13)

Спасибо..

> Вроде-бы без запуска (сейчас проверить негде).

Да, без запуска.. Это одна из легенд в мире троянонописателей, что

NUL=blaBla.exe

запускает проследнее на выполнение..

Пока я пошел в обход, несколько туповатым способом, и за счет некоторого уменшения функциональности, но пока приходится довольствоваться.. Но в принцыпе " но вроде я как-то решил эту проблему в своё время" было бы очень интересно послушать, хотя бы на уровне идеи.. Чисто трояно-вирусные технологии не интересуют, даже не приемлемые (например, подмена какого-то стандартного бинарника).. Также был-бы признателен за ссылку на более-менее внятное описание wininit.ini

Зы. А в принцыпе, сыр-бор начался из-за того, что мне нужно воспользовоаться функциональностью regedit, доступной только в дос-режиме,
а именно нужно одновременно заюзать комбинацию ключей /L /R /C..
Программно, естественно, а не юзверю голову морочить ..

Так вот, возможно есть и иной путь, например как бы надурить regedit, так, чтобы он думал, что его запускают из-под натурального 16-битного режима? Или как-то напрямую вызвать 16-битную секцию того-же regedit в режиме win32?

2 Думкин ©

Спасибо за сочувствие :-)..


 
NightAngel   (2003-09-22 14:02) [5]

> Ihor Osov"yak [4]
> Так вот, возможно есть и иной путь, например как бы надурить regedit, так, чтобы он думал, что его запускают из-под натурального 16-битного режима? Или как-то напрямую вызвать 16-битную секцию того-же regedit в режиме win32?

Можно попробовать заставить загрузчик посчитать, что запускается обычный DOS"овский exe"шник. До запуска regedit, открываем файл, читаем dword по смещеию 3Ch от начала файла (здесь находится смещение реального PE заголовка в файле), в заголовке записана сигнатура того, что этот файл собственно говоря и является PE - должна быть "PE",0h,0h; два последних байта зарезервированы (и проверяются их равенству на 0). Так вот, меняем первые два байта ("PE") на что-нибудь другое, пишем в файл, запускаем regedit (он должен запустится как обычный DOS"овский exe), ждём пока он не отработает, возвращаем всё обратно. Совместимость - со всеми Win9x/ME. Может ещё какие-нибудь идеи будут...

> было бы очень интересно послушать, хотя бы на уровне идеи..
Чисто трояно-вирусные технологии не интересуют


Немного позже (времени совсем нет). Трояно-вирусные технологии я не использовал.


 
Jeer   (2003-09-22 14:13) [6]

Можно и для миллениума организовать realdos.
Патчится IO.SYS, COMMAND.COM, REGENV32.EXE

Файлы autoexec.bat, config.sys тоже работают


 
Ihor Osov'yak   (2003-09-22 14:46) [7]

2 [6] Jeer © (22.09.03 14:13)

Спасибо, знаю. Но программа делеется на заказ, и не исключено, что заказчик будет массово распространять.. Всех пользователей патчи МЕ делать не заставишь..

2 [5] NightAngel © (22.09.03 14:02)

Идея оригинальная, нужно будет проверить.. Но это уже на грани вирусных технологий.. Если и воспользуюсь (это уже зависит от заказчика), то буду делать на копии регэдита..

Еще раз спасибо.


 
NightAngel   (2003-09-24 23:02) [8]

> Ihor Osov"yak

Извините за задержку. Посмотрел исходники, в WinME в реестре должен быть параметр ParseAutoexec, так, что запустить exe"шник можно так-же, как и в Win9x. НО! Всё можно сделать гораздо проще. Не знаю, как в Win9x (проверить негде), но в миллениуме (только что проверил), можно создать bat файл (там прописать запуск regedit"а с нужными ключами), и в параметрах ярлыка поставить галочку "не давать программе обнаружить Windows" - будет запускаться только DOS-часть regedit"а. Достаточно будет только, таскать с собой этот bat файл и pif к нему. Наверное это будет справедливо и для Win9x.
Удачи!


 
Ihor Osov'yak   (2003-09-24 23:37) [9]

угу. Проверил... Работает при запуске через pif.. В 98 я ставил свойство "не давать обнаружить" уже для запущенного дос-сеанса, а в нем уже запускал батник. Это не срабатывало, и я наверное сделал неверные выводы.. Запустить через пиф, как то не сообразил. Спасибо. Не было ни одного варианта - теперь уже есть два (ParseAutoexec)...

Ну, а относительно таскания пифа - нужно будет посмотреть все параметры к CreateProcess - может и пифа не нужно будет таскать.. Но в случае чего таскание пифа не такая уже большая проблема.. Лучше, конечно, и без
этого..
Еще раз спасибо..



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.014 c
1-40492
denkop
2003-10-02 10:04
2003.10.13
Наследник от TMySqlQuery из zeos lib


1-40490
Tornado
2003-10-02 11:41
2003.10.13
Дилетанский вопрос по функциям


1-40455
Term
2003-10-02 17:16
2003.10.13
Как сделать программный клик по speedbutton?


1-40475
Dysan
2003-10-02 14:37
2003.10.13
CreateOleObject( Excel.Application );


3-40293
RDen
2003-09-22 13:58
2003.10.13
ADO





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский