
30.09.2009, 12:01
|
|
Познающий
Регистрация: 24.01.2009
Сообщений: 70
С нами:
9103288
Репутация:
5
|
|
защита net программы
хочу защитить свою программу на 2.0 от копирования на другие машины, т.е. чтобы запускалась только на 1 компе
ну или хотя бы максимально затруднить взлом. можно ли это осуществить своими силами без финансовых затрат и сильных дерганий?
счас вижу решение- получить ид железки, затем на основании этого ид сгенерить ключ и в программе этот ключ проверить. можно еще с обфуксацией.
жизнеспособное ли это решение?
|
|
|

30.09.2009, 12:42
|
|
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
С нами:
9846041
Репутация:
1177
|
|
Ключ на комп + через свой сервер какой-нибудь
|
|
|

30.09.2009, 13:24
|
|
Познающий
Регистрация: 24.01.2009
Сообщений: 70
С нами:
9103288
Репутация:
5
|
|
Сообщение от Tigger
Ключ на комп + через свой сервер какой-нибудь
ключ это понятно, а как компьютер идентифицировать? на том же самом сервере, ведь надо чтото передавать
|
|
|

30.09.2009, 14:03
|
|
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
С нами:
9227388
Репутация:
180
|
|
Сообщение от kusanagi
ключ это понятно, а как компьютер идентифицировать? на том же самом сервере, ведь надо чтото передавать
Идентифицировать по номерам комплектующих.
|
|
|

30.09.2009, 14:48
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
для net прог удобно очень получать данные через WMI и к ним привязываться.
Получай серийник винта (именно винта, а не метки тома) и привязывайся к нему.
|
|
|

30.09.2009, 15:25
|
|
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
С нами:
11444066
Репутация:
2290
|
|
+ не забыть обфускацию/протектор.
|
|
|

30.09.2009, 16:02
|
|
Познающий
Регистрация: 24.01.2009
Сообщений: 70
С нами:
9103288
Репутация:
5
|
|
Код:
string result = String.Empty;
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject d in searcher.Get())
{
result = d["SerialNumber"].ToString().Trim();
//break;
}
}
catch (Exception ex)
{
result = ex.Message;
}
подскажите почему не работает код, валится исключение с сообщением 'не найден'. у меня хр русская, подозреваю изза этого. как правильно?
|
|
|

01.10.2009, 12:01
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
С нами:
10653446
Репутация:
836
|
|
Сообщение от kusanagi
Код:
string result = String.Empty;
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject d in searcher.Get())
{
result = d["SerialNumber"].ToString().Trim();
//break;
}
}
catch (Exception ex)
{
result = ex.Message;
}
подскажите почему не работает код, валится исключение с сообщением 'не найден'. у меня хр русская, подозреваю изза этого. как правильно?
http://codemaverick.blogspot.com/2007/02/how-to-retrieve-management-information.html
RumShun а ты темой ошибся
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

01.10.2009, 12:22
|
|
Познающий
Регистрация: 24.01.2009
Сообщений: 70
С нами:
9103288
Репутация:
5
|
|
Сообщение от W!z@rD
http://codemaverick.blogspot.com/2007/02/how-to-retrieve-management-information.html
ну я таких статей много перечитал, да чтото возращают, но как дело доходит до получения серийного номера то все валится
|
|
|

30.09.2009, 22:37
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
А ты подключение даже не сделал.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|