Привязка компьютера к программе

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Привязка компьютера к программе

Сообщение VERITAS » 17.06.2006 (Сб) 7:54

Добрый день!

Помогите решить тактическую задачу, а по ходу может и практическую. Необходимо привязать компьютер к программе (не наоборот).
Конечно все сводится к привязке к какому либо device. Но поскольку многие части компьютера можно менять хоть "каждый день", то соответственно привязку делать лучше к мамке, процу, или BIOS. От этого отталкиваясь и перелопатив все доступные материалы (на этом форуме в первую очередь) - узанл (или удостоверился), что прочитать что-то о девайсе в WInNT /+ в user-mode можно только через WMI (думаю я не для кого не отерыл ничего нового :), это просто рассуждения). Но изучив все что можно достать через WMI - пришел к выводу что там нет ничего того, на основе чего можно сделать привязку компьютера.

Отсюда вытекает вопрос - Как быть ? (что можно еще почитать интересного и с чем можно еще повозиться) ?
No comments ...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.06.2006 (Сб) 10:25

Шо, опять??

http://bbs.vbstreets.ru/viewtopic.php?t=20643

Осиль все страницы сначала.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 17.06.2006 (Сб) 14:41

С уважением GSerg и всем кто писал в том посте!
Я уж обрадовался, когда ты меня туда отправил, но с последних моих посещений этого поста - там ничего нового не появилось и попросту там один "флуд" - не давший никаких конкретных идей( верней есть, но не того плана, что мне необходимо).

Меня вовсе не интересует концепция защиты, у меня немного другие цели и необходимо мне лишь поинтересоваться у Вас, как лучше осуществлять привязку - по какому из параметров. Насколько я заметил - юзая WMI - ничего конкретного и постоянного для каждого DEVICE - он не выдаст, тот же серийный номер - и то, ничто иное как "бред" (в случае халявных OEM версий: SYS-0123456789 :).

Мне просто нужна уверенность что ID чего либо, который я получу из WMI - будет индивидуален.
No comments ...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 17.06.2006 (Сб) 23:09

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

Серийный номер жесткого диска.
Необходимо привязать компьютер к программе (не наоборот).
Это чтобы компьютер не работал без твоей проги? :lol: Жжошь.
Но поскольку многие части компьютера можно менять хоть "каждый день", то соответственно привязку делать лучше к мамке, процу, или BIOS.
Попробуй каждый день менять винты :wink: Имхо, если ужь привязываться, то к винту.

А смысл того "флуда" в том, что, если понадобится, любую привязку легко отвяжут.
Лучший способ понять что-то самому — объяснить это другому.

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 18.06.2006 (Вс) 0:44

Это чтобы компьютер не работал без твоей проги? :lol: Жжошь.

Да именно такая зависимость. Правда я немного ошибся в названии топа, но Я и не намекал на то, чтобы компьютер не работал без программы - речь идет о том, что user, сможет зайти на сервер только с того имени под которым он зарегестрирован, а пасс к его аккаунту будет сгенерирован на основе ID его devica, (соответственно получим, что компьютер usera будет привязан к программе регистрации на сервере и к имени при регистрации). И поэтому ID нужен такой, чтобы при регистрации умный пользователь не смог создать себе несколько аккаунтов. Ну а если вдруг он сменит device - то соответственно под старым ником он уже не зайдет (если ID будет генерироваться на основе данных о материнской плате - то думаю пользователю будет не в кайф менять мамку на страую и обратно - чтобы похитрить с никами), а придется создавать новый, (или упрашивать меня).Но конечно я не исключаю работу с серийными номерами дисков - но все же оставлю этот способ на крайний случай.

Попробуй каждый день менять винты :wink: Имхо, если ужь привязываться, то к винту.

Как я сказал уже выше, хотел бы исключить возможность нескольких аккаунтов у одного пользователя, ну а ID по HDD - создает опять же, если "умный" пользователь - такую возможность. Хотя, конечно - если криптовать полученный ID, до неузноваемости, можно и по HDD. Но Я все же боюсь, потому как есть у нас на сервере пару "талантливых" ребят которые могут раскусить принцип (крипт врят ли), по которому создается пасс и все бы ничего, но их могут уговорить проболтаться - "другие" наши хитрые пользователи :) И это уже будет не секретом - и тогда мне придется обращаться к вам снова :)

А смысл того "флуда" в том, что, если понадобится, любую привязку легко отвяжут.

Ну не все там "флуд", FleX_2004 к примеру, хорошую информацию по принципам взлома всем предоставил ( а еще говорит что начинающий крякер :)
Ну если дело обстоит с локально работающей программой - то несомненно, и говорить не стоит - отвяжут! Но в моем случае отвязать нелегко будет, да и попытки будут не оправданы.

Кроме hdd id, есть что-нибудь, на что можно опереться? У меня нет возможности проверить - что менно может быть постоянным на разных "тачках" ?
No comments ...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 18.06.2006 (Вс) 1:27

[offtopic]
Блин, был бы у пользователя ПК свой уникальный user_id
сколько бы проблем с плеч программиста :lol:
[/offtopic]
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 18.06.2006 (Вс) 10:27

VERITAS
По-моему ты слишком мудришь. Если тебе нужно, чтобы одна "учетная запись" имела доступ к серверу только с одного компьютера, то в принципе можно обойтись без всяких логинов-паролей, одним серийником винта.
Как я сказал уже выше, хотел бы исключить возможность нескольких аккаунтов у одного пользователя, ну а ID по HDD - создает опять же, если "умный" пользователь - такую возможность.
Это каким же образом? :shock: Одному жесткому диску соответствует один аккаунт, при авторизации высылается серийник винта, откуда взяться спекуляциям?
Лучший способ понять что-то самому — объяснить это другому.

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 18.06.2006 (Вс) 12:46

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

Ну не мудрю Я :P Раз стоко сомнений зачем это надо - то опишу ситуацию. Дело в следующем:
Решил я реализовать на нашем игровом сервере по counter-strike 1.6 - регистрацию ников, так как в этом есть большая необходимость.
Так вот, на сервере будет стоять плагин (вернее уже стоит), который читает из листа - список зарегистрированных игроков (имя и пароль). Без имени никак не обойтись - потому как борьба в первую очередь идет с "новыми" никами. Ну а принцип создания пароля - уже понятен. А те пользователи что не из листа, - просто напросто не могут зайти на сервер.

Это каким же образом? Одному жесткому диску соответствует один аккаунт, при авторизации высылается серийник винта, откуда взяться спекуляциям?

Ну к примеру, как бы я сделал: переключился бы на 2 или 3 жесткий (не раздел), благо на них стоят операционные системы. А если уж совсем приспичило бы - то подключил бы жесткие, которые лежат на полочке - а это еще 2. Таким образом я бы получил 5 аккаунтов ! :lol: Вот и все! А вот с мамкой так не поступишь :) Да я и не думаю, что у кого-то имеется меньше 2 жестких дисков, потому как это не предусмотрительно, а что если вдруг ...

P.S.: сразу же хотел добавить, если кто знаком с CS - то там есть возможность регистрации по IP. Но это не вариант - потому как те кто заходят на наш сервер, верней 90% из них имеют статистичекский IP адрес.
No comments ...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 18.06.2006 (Вс) 13:42

Ну к примеру, как бы я сделал: переключился бы на 2 или 3 жесткий (не раздел), благо на них стоят операционные системы. А если уж совсем приспичило бы - то подключил бы жесткие, которые лежат на полочке - а это еще 2. Таким образом я бы получил 5 аккаунтов ! Вот и все! А вот с мамкой так не поступишь Да я и не думаю, что у кого-то имеется меньше 2 жестких дисков, потому как это не предусмотрительно, а что если вдруг ...

1. Сомневаюсь, что существует хотя бы десяток sc-маньяков, имеющих по нескольку винтов с системой и cs специально, чтобы мучить твой сервер.
2. Можно однозначно определить какой из винтов Primary, Secondary, Master, Slave, какие они имеют серийники, с какого бы ты не загрузился.
3. В конце концов, можно все винты связать с ником при его регистрации. А авторизировать по любому из них.
Лучший способ понять что-то самому — объяснить это другому.

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 18.06.2006 (Вс) 15:32

Antonariy - убедил :)

;1 ... : Ой, надеюсь на это ...
;2 ... : А что мешает sc-maniac'y оставить шлейф только на одном HDD и поставить ему перемычку на Master - ничего, хоть бы не додумался :roll:
;3 ... : Так и сделаю.

P.S.: Искал я по поисковикам как найти с.н. мамки, но постоянно натыкался на сообщения о жестких дисках: типа, "VB - не позволяет напрямую получить серийный номер жесткого диска" - че за бред ? Неужели Я неправильно нахожу? Опровергните такое утверждение пожайлуста.
No comments ...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.06.2006 (Вс) 15:50

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

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 18.06.2006 (Вс) 15:55

;2. Учитывая пункт 3, ему придется для каждого ника иметь отдельный винт с сиcтемой и cs и не подключать их вместе. А так, ничего :roll:

Насчет серийного номера мамки - такого в природе нет (по крайней мере зашитого в железо, а не написанного на самой плате), есть только номер партии.

В аттаче модуль с двумя способами получения серийного номера PM винта - GetHDDIDWMI с помощью WMI и GetHDDID с помощью апи.
Вложения
modHDD.rar
(4.85 Кб) Скачиваний: 223
Лучший способ понять что-то самому — объяснить это другому.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 18.06.2006 (Вс) 16:01

tyomitch
Речь идет о серийном номере винта, а не раздела.
Лучший способ понять что-то самому — объяснить это другому.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.06.2006 (Вс) 16:08

Antonariy писал(а):Речь идет о серийном номере винта, а не раздела.

Откуда же я знаю, что там у VERITAS?
Изображение

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 18.06.2006 (Вс) 17:22

2 тёска :wink: - речь идет об s.n. HDD, имхо partition не дадут никакой привязки компьютера, ибо как ты и сказал: "меняется за полминуты".

2 Antonariy Ну Я также через API находил s.n. просто хотел удостовериться что Я все верно получаю.

P.S.: Да ну и "фуфло" гонят на форумах :arrow: VbNet и на других тоже по поводу s.n. HDD :x
P.P.S.: Спасибо за помощь и убеждение :!:
No comments ...

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Сообщение Debugger » 18.06.2006 (Вс) 18:14

Я думаю, надо бы сделать 2 проги. Первая пропишется в автозапуске и будет проверять наличие второй. Если файл не найден - "Внимание! Особо важный системный файл не найден. Просим закачать заново программу ***". И 60 секунд на скачивание...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.06.2006 (Вс) 19:26

Debugger, что за бред? :-/
Изображение

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 18.06.2006 (Вс) 20:06

Debugger - это что, новогодний прикол ? :D
No comments ...

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

Сообщение MeMBus » 19.06.2006 (Пн) 3:32

Debugger писал(а):И 60 секунд на скачивание...

Не успел и фигакнуть винт по sn :)
Бороться и искать, найти и перепрятать!

BasiС
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 64
Зарегистрирован: 16.02.2006 (Чт) 23:34
Откуда: Koenigsberg

Сообщение BasiС » 19.06.2006 (Пн) 13:20

Хочу обратит внимание на возможность использования программ, эмулирующих windows, например, WMWare (вроде правильно написал) Там можно менять эмулировать (читай - менять) диски хоть раз в час. :D

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 19.06.2006 (Пн) 14:02

А ты пробовал запустить cs под эмулятором?
Лучший способ понять что-то самому — объяснить это другому.

Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 20.06.2006 (Вт) 16:54

###
Последний раз редактировалось Al Khamid 02.11.2007 (Пт) 19:24, всего редактировалось 1 раз.
"Время пришло..." ©

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.06.2006 (Вт) 17:02

AlKhamid, а толку? в Принцах Персии, к примеру, такая защита. С первого запроса к гуглу находится патч, её отключающий; со второго -- таблица "какие у нас слова на каких страницах". (Не будут же они полный текст мануала в свои проги вставлять?)
Последний раз редактировалось tyomitch 20.06.2006 (Вт) 17:03, всего редактировалось 1 раз.
Изображение

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 20.06.2006 (Вт) 17:03

Al Khamid писал(а):В качестве оффтопа. Интересно скоро ли майкрософт изобретет гениальный способ аутентификации пользователя путем ввода ключевого слова # со страницы ###, ##-й строки сверху из руководства пользователя?

Жжош... :D :D :D
Подпись проходит рефакторинг

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 24.06.2006 (Сб) 12:26

BasiС писал(а):Хочу обратит внимание на возможность использования программ, эмулирующих windows, например, WMWare (вроде правильно написал) Там можно менять эмулировать (читай - менять) диски хоть раз в час. :D

А ты сам хоть работал с VMware Workstation и т.п. ?? Поскольку речь в топе перешла в позицию определения серийного номера HDD ( не разделов) - то собственно - где ты видел на виртуальной машине "виртуальный" HDD c серийным номером ? Я такого не нашел - да потому как его и нет в природе. Так что виртуальная машина тебе ничего не даст и серийный номер в таком случае у тебя будет определяться как "" а следовательно - ты не прошел проверку!

Antonariy писал(а):А ты пробовал запустить cs под эмулятором?

Запустить то можно и все работает - но играть с таким FPS не реально но Возможно! Но как я сказал выше, проверка HDD исключит возможность игры на нашем сервере.

Al Khamid писал(а):А что если проверять серийники нескольких устройств и если хотя бы одно (ну тут возможны варианты, например задать необходимый процент "тех же" устройств) с нужным серийником, то пользователь свой, а если все новые, можно скорчить кислую рожу и выдать сообщение "ууу, ты все поменял... " ?"

Проверка на процент совместимости - уже сама по себе непрактична. Если необходима точная проверка - то речи и не может быть о процентах, только точные данные. Да и кстати вроде серийный номер "других" устройств найти не всегда удастся, потому как тут в дело вступает OEM версии устройств, в которых серийный номер может просто отсутствовать. И как меня убедили - проверка snHDD - достаточна и в принципе ее хватит для какого-нибудь "кольца" защиты - который защитит твою программу от "PC-ламера" (вроде меня :) ). Но стоит напомнить, что нет ничего "невзламыемого и суперзащищенного" - все когда-то дает "трещину"!!!
No comments ...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 24.06.2006 (Сб) 17:48

Запустить то можно и все работает - но играть с таким FPS не реально но Возможно! Но как я сказал выше, проверка HDD исключит возможность игры на нашем сервере.
Собственно это я и имел ввиду.
Лучший способ понять что-то самому — объяснить это другому.

kif
Постоялец
Постоялец
 
Сообщения: 736
Зарегистрирован: 10.12.2001 (Пн) 18:06
Откуда: Украина, Одесса

Сообщение kif » 27.06.2006 (Вт) 16:02

VERITAS

Для надежности можно еще MAC-адрес сетевой подкинуть вместе с серийником HDD.
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 14.05.2007 (Пн) 13:41

Не могу не поднять вопрос...
Из 400 пользователей - Только у 4 пользователей не определяется HDD SERIAL - все тормозится на функции DeviceIoControl при попытке получить информацию у VxD драйвера. Проблемы с правами? да говорят что вроде у них полные права и система WInXP PRo SP2. Давал им утилиту написанную на Сях тот же эффект - даже 3 способами 1) Физический запрос с привелегией админа 2) Через SCSI back door 3) Физический запрос с нулевыми правами - удалось вытащить только Vendor Id. А в итоге: Один эффект - никакой нужной информации об устройстве..

Однако пердоставлял им WinAudit - Аудит выдал информацию, даже модель смог вынуть (но скорей всего это тот же Vendor ID. Но все равно Серийный номер остался пустым :( Через WMI такая же ситуация - серийный номер пустой. Значит ли это что его в реале не существует у жеского или же это проблемы с правами доступа (я все же больше думаю на второе)?
No comments ...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.05.2007 (Пн) 14:15

Скорее всего диски сказевые или SATA, но для нормальной работы нужны драйвера. Поставь родные драйвера на контроллер (а не Windows-кие), должно помочь.
Lasciate ogni speranza, voi ch'entrate.

VERITAS
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 12.12.2004 (Вс) 20:31

Сообщение VERITAS » 14.05.2007 (Пн) 14:36

alibek писал(а):Скорее всего диски сказевые или SATA, но для нормальной работы нужны драйвера. Поставь родные драйвера на контроллер (а не Windows-кие), должно помочь.
Не могу же я для всех пользователей драйвера подбирать :o
Только что пришел отчет от еще одного пользователя. WinAudit верно определил серийный номер.. Однако в моем случае не получается обратиться к vxd драйверу устройства этого пользователя.
Код: Выделить всё
... DeviceIoControl(hDrive, _
     DFP_SEND_DRIVE_COMMAND, _
     SCIP, _
     Len(SCIP) - 4, _
     SCOP, _
     Len(SCOP) - 4, _
     cbBytesReturned, _
     ByVal 0&)

Код: Выделить всё
Const DFP_SEND_DRIVE_COMMAND = &H7C084

Завершается с неудачей. :(
No comments ...

След.

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 67

    TopList