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

Вниз

Программно отличить виртуальный CD от реального   Найти похожие ветки 

 
peppo ©   (2005-03-03 23:46) [0]

Придумал 99%-й способ - выдвинуть лоток CD (известные мне vcd на  mciSendString("Set cdaudio door... не реагируют) и пытаться прочитать...
Но так - не красиво и не удобно.
Как ещё это можно сделать?


 
Fenik   (2005-03-03 23:47) [1]

А ты пробовал?


 
Reindeer Moss Eater ©   (2005-03-03 23:49) [2]

Ну найдешь ты способ надежно и быстро определить, что привод виртуальный.
Что дальше?

if IsVirual(CdDriveLetter) then
DoWrongCode
else
DoRightCode;

Так что ли?


 
SPeller ©   (2005-03-04 06:25) [3]

Reindeer Moss Eater ©   (03.03.05 23:49) [2]
if IsVirual(CdDriveLetter) then
DoWrongCode
else
DoRightCode;

В дизассемблере меняем одну инструкцию и всё :)


 
peppo ©   (2005-03-04 11:04) [4]

Fenik   (03.03.05 23:47) [1]
Пробовал.
Что вызывает сомнение?

Reindeer Moss Eater ©   (03.03.05 23:49) [2]
Именно так


 
Reindeer Moss Eater ©   (2005-03-04 11:18) [5]

Именно так

Тогда смотри [3]


 
peppo ©   (2005-03-04 11:24) [6]

.


 
peppo ©   (2005-03-04 11:26) [7]

Итак, вопрос состоит в том, что требуется определить является ли CD привод виртуальным или нет.


 
Layner ©   (2005-03-04 12:56) [8]

Если в программе увидишь скази сидюк, 99% это виртуальный.


 
Рамиль ©   (2005-03-04 14:26) [9]

Layner ©   (04.03.05 12:56) [8]
Ага, а оставшимся 1% что делать?

Да и вообще, Alcohol, например, даже StarForce обманывает (кстати и на mciSendString скорее всего реагирует, из контекстного меню выгружает, программно лень проверять)


 
Anatoly Podgoretsky ©   (2005-03-04 14:44) [10]

Хороший эмулятор не отличишь от реального устройства.


 
syte_ser78 ©   (2005-03-04 14:59) [11]

Anatoly Podgoretsky ©   (04.03.05 14:44) [10]
Визуально отличу! :)


 
peppo ©   (2005-03-04 19:01) [12]

Интерес представляют следы, которые оставляют vcd-программы (какие???)

Может быть кто-то знает (и укажет здесь) где можно найти внятную документацию (описание работы конкретных программ, исходники)...


 
Uncle Archi ©   (2005-03-04 21:07) [13]

А может просто-напросто посмотреть список устройств, ведь все виртуальники имеют странные имена, сильно отличающиеся от Nec, Teac и пр..., а потом проверить буковку и посмотреть, куда вставлен диск?


 
Ihor Osov'yak ©   (2005-03-04 23:12) [14]

2 [10] Anatoly Podgoretsky ©   (04.03.05 14:44)

Думаю, что можно.

2 peppo.

Но вот я бы не советовал бы делать привязку софты к виртуальности/реальности устройства. У многих пользователей есть обыкновение делать образы CD и далее работать с образами. Даже для случая честно купленых.  Хотя бы потому, что часто так удобнее и меньше износ оборудования.


 
SPeller ©   (2005-03-05 08:27) [15]

StarForce ооччень не любит виртуальные диски, но он не весил бы в упакованном виде 3 метра, если бы там просто проверялся сидюк на предмет виртуальности, я так думаю.


 
MeF Dei Corvi ©   (2005-03-05 09:10) [16]


> StarForce ооччень не любит виртуальные диски

Даже StarForce послединий обойти можно.
> все виртуальники имеют странные имена, сильно отличающиеся
> от Nec, Teac и пр...

Не факт.


 
Рамиль ©   (2005-03-05 09:28) [17]

Ihor Osov"yak ©   (04.03.05 23:12) [14]
Думаю, что можно.

Ну, не факт. У меня даже сам XP в полной уверенности, что виртуальник от Alcohol самый настоящий привод. Даже дрова свои поставил.


 
peppo ©   (2005-03-05 12:02) [18]

Ihor Osov"yak ©   (04.03.05 23:12) [14]

Полностью согласен, но надо...

Рамиль ©   (05.03.05 9:28) [17]

Да - уровень абстракции от оборудования и всё такое, по работе самого "привода" невозможно ЭТО установить, поэтому я уточнил про "следы".


 
Ihor Osov'yak ©   (2005-03-05 12:38) [19]

2 [17] Рамиль ©   (05.03.05 09:28)

Проследить стек драйверов соответсвующий FDO, определить, с какой шиной соотв. FDO ассоциирован.. Интересные выводы после этого можно сделать..

2 [12] peppo ©   (04.03.05 19:01)

Следы - некий проинсталированный драйвер, понятно, что он создает символическое имя устройства для управления драйвером со стороны win32 "менеджера виртуальных дисков" соотв. произвородителя, назовем єто имя "задней дверью виртуального сд".. Производителей не так уже и много, символических имен тоже :-). Хотя факт наличия задней двери еще не свидетельствует о том, что диск стоит именно на виртуальном устройстве. Универсально способа спросить заднюю дверь, что имеено она монтирует - нет, ибо соотв. апи - сугубо личное дело разработчика соотв. виртуального диска.. Не расгадывать же в самом деле апи наиболее популярного обеспечения.. Так что мысль о прогулке по стеку драйверов с обращением взгляда в сторону шины  мне кажется более перспективной. Да, само собою - это все придется делать в режиме ядра. Возножно, что часть инфо можно получить через WMI, не уверен...

документация - DDK, возможно IFS DDK, более подробно не могу указать, так как с соотвю вопросом непосредственно не работал..


 
Ihor Osov'yak ©   (2005-03-05 14:03) [20]

2 [17] Рамиль ©   (05.03.05 09:28)
> Даже дрова свои поставил.

Это само собою. Иначе это был бы уже не сд с точки зрения системы..

Но вот посмотрите, к какой шине подключен этот сд, и кто производитель драйверов для этой шины (см. успройства по

подключениям).


 
Рамиль ©   (2005-03-05 14:26) [21]

Ihor Osov"yak ©   (05.03.05 14:03) [20]
Хм.. с такой точки зрения - да. Шина Plug And Play BIOS Extention, поставщик драйверов - Generic.


> Так что мысль о прогулке по стеку драйверов с
> обращением взгляда в сторону шины  мне кажется более
> перспективной.

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


 
Ihor Osov'yak ©   (2005-03-05 14:35) [22]

2 [21] Рамиль ©   (05.03.05 14:26)

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

Не знаю. То, что никто раньше не сообразил - маловероятно. Здесь очевидно другой фактор. Защитой по CD, да и вообще защитой без комплекса сопутствующих мереоприятий (см. далее) страдают либо начинающие, либо защиту ставят чисто декоративную - это срабатывает в большинстве случаев.. От серьезного взломщика чисто техническими средствами защититься вряд ли возможно. Любой спец по защите информации знает, что гарантию дает только комплекс мер, как технических, так и административно-режимных. Попросту говоря - для гарантии должен быть дядька с дубиной. Или с автоматом. Это уже от специфики обьекта.

Зы. Да и разработка соотв. защиты (прогулка по шинам, стекам драйверов) дело не одного дня и не для уровня начинающего программиста и будет стоить соответственно.


 
GuAV ©   (2005-03-05 15:16) [23]

А смысл ?
Если он отличит любой виртуальный но скопируется любой дискозаписывающей программой на любую болванку.


 
SPeller ©   (2005-03-05 17:40) [24]

MeF Dei Corvi ©   (05.03.05 9:10) [16]
Даже StarForce послединий обойти можно.

Ссылочку, пожалуйста, на средство обхода.

Хотя, есть документированное средство - отсутствие в системе реальных сидюков, тогда из-под виртуалки - ради бога.

Ihor Osov"yak ©   (05.03.05 14:35) [22]
по CD, да и вообще защитой без комплекса сопутствующих мереоприятий (см. далее) страдают либо начинающие, либо защиту ставят чисто декоративную

1С ставит на преспективные игры StarForce, который-таки свою работу делает хорошо.

Ihor Osov"yak ©   (05.03.05 14:35) [22]
От серьезного взломщика чисто техническими средствами защититься вряд ли возможно. Любой спец по защите информации знает, что гарантию дает только комплекс мер, как технических, так и административно-режимных

Старфорс сделан очень сложно. По сути, на выходе получается проверялка, внутри которой основная программа, а не наоборот. И никто его ещё не взломал. Да, можно извернуться с виртуальником, чтобы он на 99,9% был идентичен реальному, но в следующей же версии старфорса эту дырку закроют. А защищено всё с помощью сжатия и шифрования. Причем выполняется основной код не будучи распакованным полностью в память, а распаковывается по частям, по мере надобности.


 
peppo ©   (2005-03-05 19:49) [25]

Ihor Osov"yak ©   (05.03.05 12:38) [19]

Этого уже достаточно, чтобы задуматься.
Честно говоря, рассчитывал на халяву, вроде описанной в вопросе :)
В данном случае защита должна быть "почти бесплатным подарком" пользователю. Видимо придётся по именам... защитит слегка... возможно...

GuAV ©   (05.03.05 15:16) [23]

Однако же - серийный номер диска - правда, надо проверить можно ли его задать при записи (возможно его генерирует сам привод, без оглядки на софт) (заметил, что у RW он меняется при каждой перезаписи, т.е., по крайней мере, у RW он задаётся при записи).
Где-то в недрах должен быть ещё один ID - номер партии, или что-то в этом роде...


 
Vaitek ©   (2005-03-05 20:38) [26]

На счет этого:

//Старфорс сделан очень сложно. По сути, на выходе получается проверялка, внутри которой основная программа, а не наоборот. И никто его ещё не взломал. Да, можно извернуться с виртуальником, чтобы он на 99,9% был идентичен реальному, но в следующей же версии старфорса эту дырку закроют. А защищено всё с помощью сжатия и шифрования. Причем выполняется основной код не будучи распакованным полностью в память, а распаковывается по частям, по мере надобности.

Видел несколько взломанных игр со страфорсом. Да их не много. Но они есть. Правда на сколько я понимаю это все старые версии старфорса.

Кстати, если уж ветка плавно переходит в тему "как взломать старфорс" скажите, можно ли програмно отключить реальный сидюк(и)/IDE канал, без перезагрузки, так чтобы старфорс посчитал, что реальных сидюков - нет?
Простой дизейбл драйвера естественно не прокатывает.


 
SPeller ©   (2005-03-05 23:03) [27]

Vaitek ©   (05.03.05 20:38) [26]
Видел несколько взломанных игр со страфорсом. Да их не много. Но они есть. Правда на сколько я понимаю это все старые версии старфорса.

Скорее всего старые. Потому что последнее время старфорс обновляется часто, и версию годичной давности, по-моему, ещё не обманули. Хотя я могу ошибаться - я не специалист и плотно этим вопросом не занимался :) Я только интересовался, читал что в инете про него говорят, что говорят разработчики, да и сам "щупал" защищенную им программу.


 
Anatoly Podgoretsky ©   (2005-03-06 10:51) [28]

Какая разница, старые или нет, и про старые так говорили и с новыми это вопрос времени.


 
QuasiLamo ©   (2005-03-06 11:04) [29]

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


 
Anatoly Podgoretsky ©   (2005-03-06 12:03) [30]

QuasiLamo ©   (06.03.05 11:04) [29]
Ты думаешь писатели эмуляторов дураки?


 
QuasiLamo ©   (2005-03-06 13:05) [31]

Anatoly Podgoretsky ©   (06.03.05 12:03) [30]
ну да, с записью эт я переборщил... :)


 
Anatoly Podgoretsky ©   (2005-03-06 13:38) [32]

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


 
Genjik   (2005-03-06 18:55) [33]

Подгорецкий - а вы основной теоретик на форуме? что то пракчитеских знаний я не замечал.


 
Anatoly Podgoretsky ©   (2005-03-06 20:27) [34]

Genjik   (06.03.05 18:55) [33]
Для тебя нет.



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

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

Наверх





Память: 0.54 MB
Время: 0.035 c
1-1110556503
redlord
2005-03-11 18:55
2005.03.27
Socket : TCustomWinSocket в качестве владельца


4-1108155129
BBoost
2005-02-11 23:52
2005.03.27
Ярлыки


1-1110644167
Слава
2005-03-12 19:16
2005.03.27
ListView - как установить фокус на элемент ?


1-1110631091
New_user
2005-03-12 15:38
2005.03.27
Как отобразить веб страницу из TWEBbrouser в TMEMO(исходный код)


1-1110372935
Green_Templar
2005-03-09 15:55
2005.03.27
Самооптимизация





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