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

Вниз

Как авторан с дискеты сделать, кто знает?   Найти похожие ветки 

 
lipskiy   (2002-10-22 23:25) [0]

Делаю по образу и подобию сидюка - autorun.inf, в нем:
[autorun]
OPEN=Project1.exe
ICON=Project1.exe,0
И че-т не пашет.
Можно ли вообще сделать так, чтоб дискету воткнул и прога без лишних действий запустилась?
(Это не вирус, это ключ к программе, нужно прийти к юзеру (а их много) и лично воткнуть дискету, и чтоб ничего не было видно, а только выполнился ехешник).


 
Asteroid   (2002-10-22 23:33) [1]

Ставишь юзеру прогу, которая сидит и отслеживает любые обращения к дискете, затем, как только в "Мой компьютер" щелкаешь на значок флопа, прога ищет файл autorun - "ну, а дальше вопрос техники" :))


 
drpass   (2002-10-22 23:35) [2]

:)))
Фишка в том, что дисковод - это не особо интеллектуальное устройство. Твой магнитофон умеет автоматически распознавать, что ты в него вставил кассету? Думаю, что нет. Дисковод тоже не умеет. Ему вообще пофигу, стоит там что-то или не стоит. Все, что он может - при запросе на чтение сектора попробовать его считать и при успехе вернуть данные, при ошибке вернуть сообщение об ошибке.
Да и вообще, разобрал бы дисковод, посмотрел, как работает его железо... Неужели не интересно?


 
lipskiy   (2002-10-22 23:56) [3]

Как дисковод работает я знаю. Но я склонен не иметь четких установок типа "только так может быть, и все тут", я всегда и все подвергаю сомнениям, так как нет истины и быть не может.
Существует только степень достоверности и обуславливающие факторы.
Вообще-то я имел ввиду, что можно ли запустить автораном при чтении фата диска - когда проводник отображает содержимое.
На самом деле - сидюк в виде железа от дисковода мало чем отличается, кроме принципа съема информации с носителя, по крайней мере ничего принципиального, что позволяло бы ему делать авторан, а дисководу нет, в сидюке нет. Ну связали привод трея сидюкового с интерфейсом, а что мешает сунуть датчик в дисковод?


 
lipskiy   (2002-10-23 00:04) [4]

Ладно, понял, что нельзя. Проехали тему.


 
AL2002   (2002-10-23 00:23) [5]

>lipskiy © (22.10.02 23:56)
Я знаю, что дистрибутив шестого ДОСа сам с дискеты запускается.


 
Dr_Mike   (2002-10-23 00:58) [6]

Ага, только надо не забыть компьютер включить после того, как дискету в дисковод вставил :)))))


 
AL2002   (2002-10-23 01:00) [7]

>Dr_Mike © (23.10.02 00:58)
Нет. Именно после первого обращения к дисководу.
А-ля a: Enter Dir Enter


 
lipskiy   (2002-10-23 02:03) [8]


> AL2002 © (23.10.02 01:00)

Шутить изволите?
А если действительно это так, то как?


 
MJH   (2002-10-23 02:53) [9]

елы палы....да элементарно....заходим в биос, ставим загрузку с диска A, вот вам и авторан с дискеты.....


 
Кот Бегемот   (2002-10-23 09:16) [10]

Да че там - пишеться махонький бутовый загрузчик, который ищет твой autorun.inf анализирует его и запускает чего надо


 
MVova   (2002-10-23 09:31) [11]

Если в Win2k установить кеширование дискет, то когда пишеш на дискету и потом сразу пробуеш читать он не читает с дискеты а из кеша и так пока не вытянеш и не вставиш назат дискету. Как он определяет что вытянул и вставил дискету?


 
Vitaly   (2002-10-23 09:48) [12]

>MVova © (23.10.02 09:31)

Даже в DOS"е драйвер съёмного диска поддерживал флаг смены носителя (вынимания дискеты).


 
cyborg   (2002-10-23 09:54) [13]

lipskiy ©
Шутить изволите?
А если действительно это так, то как?


Насколько помню, это не шутки, в загрузочной области где-то есть указатель, что нужно загрузить и выполнить, по этому принципу раньше писались вирусы, вставил дискету и ... :). Но это конечно же делалось не для вирусов, а для некоторых целей. Когда-то давно об этом я узнал, лет 5 назад, так что точно что к чему уже не помню.

А чтобы работала автозагрузка, думаю в виндоуз нужно в реестре установить флаг, что на этом дисководе делать авторан, как на компактах. А вот какой флаг, это я уже незнаю.


 
MVova   (2002-10-23 10:07) [14]


> Vitaly ©

Только вынимания?


 
lipskiy   (2002-10-23 15:43) [15]

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


 
MJH   (2002-10-23 15:55) [16]

2cyborg
>вставил дискету и ... :).
раньше люди с дискет загружались....


 
AL2002   (2002-10-23 16:09) [17]

>lipskiy © (23.10.02 15:43)
Найди этот шестой ДОС и поменяй файл Setup.exe на свой сетап.
Запустится, если загрузчик не считает контрольную сумму.


 
drpass   (2002-10-23 18:18) [18]

:)
Setup DOS запускается в том случае, если загружаться с дистрибутивного флопа. В BootSector действительно есть немного исполняемого кода (бутовые вирусы помните?). Но он исполняется только когда идет загрузка с дискеты. Но никак не при ее прочтении. Если кто сомневается - у меня в коллекции есть образы дистрибутивных дискет всех ДОСов, от 1 до 6.22
А Windows 2000 (как и все прочие операционки) определяет замену диска при чтении его серийного номера


 
AL2002   (2002-10-23 18:21) [19]

>drpass © (23.10.02 18:18)
Но я точно помню, что дискетка повжикала и пошёл сетап.


 
Malder   (2002-10-23 18:34) [20]

ЭЙ ! Люди, вы чего обсуждаете ? Нет никакого авторана да дисководе !
Нету в дисководе устройств, позволяющих понять когда была вставлена дискета...

Можно эмулировать авторан постоянно обращаясь к дискете, но так и дисковод сломать можно, да и камп подтормаживать будет...


 
drpass   (2002-10-23 21:17) [21]

>Malder
Да нет, на самом деле задача стоит попроще - автоматический запуск проги при обращении к дискете, скажем, через Проводник. Только и так стандартными средствами Винды не обойтись...


 
mahaon   (2002-10-25 23:55) [22]

Ещё помня старый родимый СПЕКТРУМ, помнится, там можно было сотворить такое. Т.е. следить за вставлением/доставанием дискет. Просто кучу раз в секунду он(дисковод) опрашивался (делался активным, но мотор даже закрутиться не успевал) на предмет наличия дискеты, так что лампа выборки тускло горела (а точнее, мигала). Дак вот, думаю, и в Вашем случае можно действовать подобно - путём прямого обращения к контролеру дисководов. Но это всё гемор...


 
AL2002   (2002-10-26 00:01) [23]

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


 
lipskiy   (2002-10-26 00:10) [24]


> AL2002 © (26.10.02 00:01)

Программа не моя, чужая. Я получил официальный персональный ключ, но на N юзеров. Ключ обычный текстовый. Держу его в секрете, чтобы не распространился. Придя на машину юзера я должен ввести ключ к установленной проге. Сейчас делаю так - написал программку, которая из внутренней константы копирует ключ в буфер, и его как бы на дискете не видно. Но программку мою надо руками запускать, а я желаю автоматически.
Понятно, что датчика вставки дискеты нету.
Но хотя бы при обращении к дискете проводником - неужели совсем никак?


 
Феу   (2002-10-26 10:33) [25]

в реестре в HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun надо что-то прописать. Подробностей не знаю, видел в Xteg X-setup включатель авторана с разных дисков(съемных, сетевых, даж с жестких) там это делается так:


"FILE"="Xteq Systems X-Setup Plugin 5.0"
"TYPE"="6"
"COUNT"="4"
"UIPATH"="System\File System\CD Autostart"
"NAME"="Autostart Data CD"
"VERSION"="1.54"
"LANGUAGE"="VBScript"
"TEXT 1"="Allow autostart for CD-ROMs (normal)"
"TEXT 2"="Allow autostart for removable drives (diskettes, ZIP)"
"TEXT 3"="Allow autostart for fixed drives (HD)"
"TEXT 4"="Allow autostart for network drives"
"DESCRIPTION 1"="If you normally insert a CD in your CD-ROM-drive, Windows starts a program using the file AUTORUN.INF."
"DESCRIPTION 2"="If you do not like this behavior, or want to enable this behavior for other drives also, you can do it here."
"DESCRIPTION 3"="IMPORTANT: If you activate AutoRun for removable devices or network drives, Windows will check these drives every time you open the Explorer or a file requester in an application. Because this check takes some time, this behavior can be really annoying. Please keep this in mind."
"AUTHOR"="Xteq Systems"
"COPYRIGHT"="Copyright © Xteq Systems - All Rights Reserved"
"COMMENT 1"="For more information, go to http://www.xteq.com"
"COMMENT 2"=" "
"COMMENT 3"="This was a hell lot of work!"
"COMMENT 4"="Special thanks to Tony Caine (72614.1451@compuserve.com) who has helped us a lot with this plug-in. Also thanks to Guy (dr_teeth@bigfoot.com)."
"COMMENT 5"="Thanks to Sander Goudswaard [sander@goudswaard.cx] for the "...START vs ...RUN" notice!"


"What about this key?
"HKLM\System\CurrentControlSet\Services\Cdrom\Autorun

"Declaration of some constants
DRIVE_UNKNOWN=1 "Bit 0
DRIVE_NO_ROOT=2 "Bit 1
DRIVE_REMOVABLE=4 "Bit 2
DRIVE_FIXED=8 "Bit 3
DRIVE_REMOTE=16 "Bit 4
DRIVE_CDROM=32 "Bit 5
DRIVE_RAMDISK=64 "Bit 6
DRIVE_FUTURE=128 "Bit 7

sPathValue="HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun"

"Called when the Plugin is started
SUB Plugin_Initialize
s=RegReadValue(sPathValue)

dim i
if len(s)>1 then
s=left(s,2)
i=s
else
i=CInt(0)
end if

"//Convert the value to INT
s="&H" & i
i=CInt(s)


"TH: Looks stupid, I know! but there is no way to get OR working with variants!
"AK: JScript ||. Should work

dim b1,b2,b3,b4,b5,b6,b7
i=OrHelper(i,DRIVE_FUTURE,b1)
i=OrHelper(i,DRIVE_RAMDISK,b2)
i=OrHelper(i,DRIVE_CDROM,b3)
i=OrHelper(i,DRIVE_REMOTE,b4)
i=OrHelper(i,DRIVE_FIXED,b5)
i=OrHelper(i,DRIVE_REMOVABLE,b6)
i=OrHelper(i,DRIVE_NO_ROOT,b7)


"//If the bit is set, AutoRun is DISABLED
Call SetBox(b3,1)
Call SetBox(b6,2)
Call SetBox(b5,3)
Call SetBox(b4,4)
END SUB

Function OrHelper(CurValue,CheckVal,CheckValSet)
i=CurValue

if i>=CheckVal then
CheckValSet=true
i=i-CheckVal
else
CheckValSet=false
end if

OrHelper=i
End Function

Sub SetBox(CurVal,Elm)
if CurVal=true then
SetUIElement elm,false
else
SetUIElement elm,true
end if
End Sub


"Called when the Plugin should validate the Data the user has entered
SUB Plugin_CheckData(ElementIndex)
END SUB

"Called when the Plugin should apply the changes
SUB Plugin_Apply(ElementIndex,ElementSubIndex)
i=0

"Always disable autorun for the following drives
"according to Q136214 from MS KB
i=i+DRIVE_UNKNOWN
i=i+DRIVE_FUTURE
"//Needed??? i=i+DRIVE_NO_ROOT


"No let"s see what the user wants
if GetUIElement(1)=false then i=i+DRIVE_CDROM
if GetUIElement(2)=false then i=i+DRIVE_REMOVABLE
if GetUIElement(3)=false then i=i+DRIVE_FIXED
if GetUIElement(4)=false then i=i+DRIVE_REMOTE

"Convert to HEX so XSET can write the value
Dim v
v=Hex(i)
v=v & "000000"


Call RegWriteValue(sPathValue,v,3)
Call Restart
END SUB

"Called when the Plugin is about to be removed from memory
SUB Plugin_Terminate
END SUB



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

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

Наверх





Память: 0.53 MB
Время: 0.008 c
1-45826
mihrutka
2002-11-05 11:31
2002.11.14
Как узнать индекс узла в TTreeView относительно всего дерева?


1-45814
nika_ufc
2002-11-05 02:50
2002.11.14
help please


1-45953
xnum
2002-11-04 13:51
2002.11.14
Отключение PC


1-45935
Tea_Pot
2002-11-04 01:48
2002.11.14
Как засунуть в *.res - файл 16-и или24-х битную картинку...


14-46120
^Sanya
2002-10-27 00:03
2002.11.14
Существует ли обратная совместимость Delphi7->Delphi6 ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский