Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.014 c
7-46173
Whistler
2002-09-14 14:51
2002.11.14
ОПРЕДЕЛЕНИЕ ТИПА ДИСКЕТЫ


1-45892
@andrew
2002-11-05 21:24
2002.11.14
Есть ListBox Как зная координаты некой точки экрана...


1-45804
Cobalt
2002-11-04 22:40
2002.11.14
Размеры ListBox


1-45889
AndreiR
2002-11-05 19:04
2002.11.14
Ну почему он так себя ведет?!!


3-45761
arkara
2002-10-23 10:50
2002.11.14
Объясните! Загадочные lookup поля в TQuery...