Форум: "Потрепаться";
Текущий архив: 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