Реально ли создать эмуляцию действий

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SerJay
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 06.05.2005 (Пт) 17:12
Откуда: Казахстан

Реально ли создать эмуляцию действий

Сообщение SerJay » 22.07.2005 (Пт) 8:57

Ребята вообще реально на VB создать такую эмуляцию действий:
Диск стоит в CD-приводе.Нужно с эмулировать OPEN и снова CLOSE
т.е ОБНОВИТЬ данные.(Как будто CD-ROM открыли и снова закрыли)
Заранее всем спасибо!

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 22.07.2005 (Пт) 9:51

Для открытия CD-ROM:
mciSendString("Set cdaudio door open wait", "", 0, handle)

Для закрытия CD-ROM:
mciSendString("Set cdaudio door closed wait", "", 0, handle)

Второй параметр принимает результат операции.
Последний раз редактировалось Twister 22.07.2005 (Пт) 10:58, всего редактировалось 1 раз.
А я все практикую лечение травами...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 22.07.2005 (Пт) 9:53

Забыл дать объяву функции:

Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
А я все практикую лечение травами...

SerJay
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 06.05.2005 (Пт) 17:12
Откуда: Казахстан

Сообщение SerJay » 22.07.2005 (Пт) 10:51

Неправильно выразился:обновить данные не открывая CD

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 22.07.2005 (Пт) 10:55

Для чего тебе это? Я имею ввиду ты просматриваешь папки на диске или что?
А я все практикую лечение травами...

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Сообщение MeMBus » 22.07.2005 (Пт) 11:12

SerJay писал(а):Неправильно выразился:обновить данные не открывая CD

Типа как-будто нажали F5?
Бороться и искать, найти и перепрятать!

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 22.07.2005 (Пт) 11:18

Ну если это касаемо проводника, то действительно, легче эмулировать F5.

Ты напиши для чего тебе это...
А я все практикую лечение травами...

SerJay
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 06.05.2005 (Пт) 17:12
Откуда: Казахстан

Сообщение SerJay » 22.07.2005 (Пт) 11:34

Хочу сделать жалкое подобие защиты CD (Используя CD-LOCK)
Кто видел как эта прога работает,тот поймёт.Моя прога запускает файл UNLOCK,потом посылает пароль(Send Keys) в окно и становится доступные данные,далее запускает файл 1(к примеру) на диске.Но если в этот момент юзер зайдет на диск для него станет доступен этот файл 1,вот мне и надо обновить данные поле запуска файла 1,чтоб снова закрыть к нему доступ.Посоветуйте,полылание Send keys наверно любым KEYLOGом
вычислятся?Просто хотелось сделать защиту от обычного Юзера

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 22.07.2005 (Пт) 11:51

Попробуй скопировать файл 1 в TEMP и сразу закрыть доступ, а файл запускать из темпа.

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

SerJay
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 06.05.2005 (Пт) 17:12
Откуда: Казахстан

Сообщение SerJay » 22.07.2005 (Пт) 11:59

Максим Не поскажешь как это сделать(я про зашифрованные файлы)
Ведь окно(CD-LOCK) ждёт определённого пароля.А насчёт копирования-файлы бывают по 30 Мегабайт

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Сообщение MeMBus » 22.07.2005 (Пт) 12:17

Может быть я не прав, но это не та защита над которой стоит задумываться... ведь нужный файл я смогу и скопировать из под доса к примеру... В любом случае скрывать/блокировать файлы на сд это простая защита, наверное лучше шифровать/кодировать файлы, записывать их на сд и программно декодировать... правда это тоже обходится (ломается все), но все же...
Бороться и искать, найти и перепрятать!

SerJay
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 06.05.2005 (Пт) 17:12
Откуда: Казахстан

Сообщение SerJay » 22.07.2005 (Пт) 13:25

MeMBus я понимаю что ломается всё просто это первое что я
нашёл по защите CD.А на VB нельзя зашифровать файл а потом его
расшифровать?

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Сообщение MeMBus » 23.07.2005 (Сб) 9:45

SerJay писал(а):А на VB нельзя зашифровать файл а потом его
расшифровать?

Можно все что угодно... тока как :)
Самый примитивный способ - берешь компонент для архивирования с поддержкой паролей (zip, rar) и архивишь со своим паролем...
Чуточку сложнее - пишешь сам кодировщик...
Бороться и искать, найти и перепрятать!

Опришник
Обычный пользователь
Обычный пользователь
 
Сообщения: 78
Зарегистрирован: 09.01.2005 (Вс) 0:48
Откуда: localhost

Сообщение Опришник » 24.07.2005 (Вс) 12:44

MeMBus писал(а):
SerJay писал(а):А на VB нельзя зашифровать файл а потом его
расшифровать?

Можно все что угодно... тока как :)
Самый примитивный способ - берешь компонент для архивирования с поддержкой паролей (zip, rar) и архивишь со своим паролем...
Чуточку сложнее - пишешь сам кодировщик...

Неверно
Самый примитивный способ - берёшь и забиваешь на шифрование :)
Чуточку сложнее - используешь стандартные средства Microsoft Windows для шифрования :(

Но можешь и написать свой, если ты уверен что не забудешь ключ(или пароль), и тебе не нужна возможность проверки правильности ключа, а также все шифруемые данные не известны юзеру, то расширенная шифровка Xor'ом тебе подойдёт(и юзеру дешифровать будет более невозможно, чем дешифровать зашифрованное стандартными средствами Windows)
А здесь могла бы быть ваша реклама...)

Nikolka
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 174
Зарегистрирован: 01.01.2004 (Чт) 2:06

Сообщение Nikolka » 24.07.2005 (Вс) 15:45

Тока, как расшифруешь файл и возьмёшь нужную инфу, СРАЗУ стирай его из памяти, а иначе ломание твоей проги привратиться в очередные 5мин для хакера.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 24.07.2005 (Вс) 17:42

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

Тогда будет не 5 минут, а 5 с половиной...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 25.07.2005 (Пн) 9:07

Максим Не поскажешь как это сделать(я про зашифрованные файлы)

Всмысле файл зашифровать? Ну можно так:
Код: Выделить всё
Private Declare Function EncryptFile Lib "ADVAPI32" Alias "EncryptFileA" (ByVal lpFileName As String) As Boolean
Private Declare Function DecryptFile Lib "ADVAPI32" Alias "DecryptFileA" (ByVal lpFileName As String, ByVal dwReserved As Long) As Boolean
Const mFile = "c:\test.txt"
Private Sub Form_Load()
    Encrypt mFile
End Sub
Sub Encrypt(sFile As String)
    If EncryptFile(mFile) Then
        MsgBox "Файл успешно зашифрован"
    End If
End Sub
Sub Decrypt(sFile As String)
    If DecryptFile(mFile, 0) = True Then
        MsgBox "Файл успешно дешифрован"
    End If
End Sub
А я все практикую лечение травами...

SerJay
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 06.05.2005 (Пт) 17:12
Откуда: Казахстан

Сообщение SerJay » 25.07.2005 (Пн) 9:20

Максим не поскажешь: допустим я зашифрую файлы и запишу их на диск.Чтобы расшифровать и запустить файл я должен обязательно
скопировать его на винт,или можно сделать как-то в буфере или создать временный файл.Т.е расшифровать,запустить и потом удалить расшифрованный файл.Посоветуйте в каком напровлении идти чтоб
сделать защиту от обычного юзера.Заранее всем благодарен!

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 25.07.2005 (Пн) 9:24

ТЕМП файл - не засоряй оперативу!
А я все практикую лечение травами...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 25.07.2005 (Пн) 9:29

Код: Выделить всё
Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long

dim sPath As String
sPath = String$(&H100, 0&)                      ' Буффер для АПИ
Call GetTempPath(&H100, sPath)                  ' Временный каталог
Call GetTempFileName(sPath, "tmp", 0&, sPath)   ' Имя временного файла, отрезаем нули в пути
sPath = Left$(sPath, InStr(vbNull, sPath, vbNullChar) - vbNull)
А я все практикую лечение травами...

SerJay
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 06.05.2005 (Пт) 17:12
Откуда: Казахстан

Сообщение SerJay » 25.07.2005 (Пн) 9:31

Пасиб

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 25.07.2005 (Пн) 9:35

насчет защиты: на каком-то сайте я читал что есть некие последовательности байтов, которые, положенные в определенное место в файле, не будут читаться с СД (не будет читаться сектор, в который положена эта последовательность). такую защиту обойти невозможно, за исключением копирования СД со старых СД-РОМ которые способны прочитать "плохой" файл (таких почти не осталось). а если копировать такой файл с новых СД-РОМ, то вылетит ошибка "Invalid MS-DOS function". так вот можно написать прогу, которая будет открывать плохой файл, проверять вылетает ли ошибка при чтении "нечитаемого" сектора, если да то извлекать данные после ошибочного сектора в какой-то файл на жестком диске.
защита конечно не универсальная, но я ее использую с успехом. еще никому из моих друзей не удалось скопировать мою программу :)

SerJay
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 06.05.2005 (Пт) 17:12
Откуда: Казахстан

Сообщение SerJay » 25.07.2005 (Пн) 9:42

Исходник конечно ты не выложишь?!.Я только недавно начал
изучать VB и такую прогу написать мне пока не позубам.Всё равно
спасибо за совет

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 25.07.2005 (Пн) 9:44

2 v-adix
А можно по конкретнее? Какие последовательности байтов и куда они пишутся?
Чет я не понял как ты используешь защиту? Скинь сурс...
А я все практикую лечение травами...

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Сообщение MeMBus » 25.07.2005 (Пн) 12:43

v-adix писал(а):такую защиту обойти невозможно, за исключением копирования СД со старых СД-РОМ

"Сырой" метод чтения с игнорированием ошибок, и усе :)
Бороться и искать, найти и перепрятать!

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 26.07.2005 (Вт) 10:14

MeMBus писал(а):
v-adix писал(а):такую защиту обойти невозможно, за исключением копирования СД со старых СД-РОМ

"Сырой" метод чтения с игнорированием ошибок, и усе :)

все не так то просто. ведь при чтении диска-копии ошибки уже не произойдет, а значит наша прога скажет "вы используете копию сд, access denied!" :)

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 26.07.2005 (Вт) 10:25

Павлов Максим писал(а):2 v-adix
А можно по конкретнее? Какие последовательности байтов и куда они пишутся?
Чет я не понял как ты используешь защиту? Скинь сурс...

прочитай эту статью и все станет ясно
http://www.ixbt.com/optical/magia-chisel.shtml
сурс пока конкретно для моей проги, я напишу другой попроще и выложу тут потом.
еще раз говорю что диски защищенные таким способом можно скопировать используя один из немногих СД-приводов, которые уже не выпускаются. но всетаки можно, так что защита не универсальна...

SerJay
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 06.05.2005 (Пт) 17:12
Откуда: Казахстан

Сообщение SerJay » 27.07.2005 (Ср) 8:28

v-adix прочитал я статью,скачал файл badfile.bin,записал 5 бедфайлов на диск и ещё несколько обычных файлов.Моим DVD-RW Nec бедфайлы не копируются.Ошибок не показывает.Алкоголь сделал образ,хотя и показав пять раз "ошибка чтения диска" (сколько и badfile).Клон тоже сделал образ без проблем.В местах где бедфайлы немного думал.Образы я делал тем же DVD-RW Nec.
Ради интереса достал я старенький CDROM LG.Вот он копирует бедфайлы на ура,как и описывалось в статье.Вот только как
применить вышеописанные результаты для построения защиты
я пока не знаю.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 27.07.2005 (Ср) 8:33

В этой защите, ИМХО, нет смысла, так как можно сохдать образ...
А я все практикую лечение травами...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 27.07.2005 (Ср) 8:34

А статейка интересная...
А я все практикую лечение травами...

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 118

    TopList