Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

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

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

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

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

30.09.2009, 14:48
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
для net прог удобно очень получать данные через WMI и к ним привязываться.
Получай серийник винта (именно винта, а не метки тома) и привязывайся к нему.
|
|
|

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

30.09.2009, 16:02
|
|
Познающий
Регистрация: 24.01.2009
Сообщений: 70
Провел на форуме: 87114
Репутация:
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;
}
подскажите почему не работает код, валится исключение с сообщением 'не найден'. у меня хр русская, подозреваю изза этого. как правильно?
|
|
|

30.09.2009, 22:37
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
А ты подключение даже не сделал.
|
|
|

30.09.2009, 22:59
|
|
Познающий
Регистрация: 24.01.2009
Сообщений: 70
Провел на форуме: 87114
Репутация:
5
|
|
делаю как в примере http://www.geekpedia.com/tutorial233_Getting-Disk-Drive-Information-using-WMI-and-Csharp.html
не пашет. вобще ни 1 пример не заработал. стоит русская хр сп3
|
|
|

01.10.2009, 11:02
|
|
Постоянный
Регистрация: 27.10.2008
Сообщений: 380
Провел на форуме: 1249808
Репутация:
149
|
|
вобщем нашел такой код
Код:
PSerialNumberParams = ^TSerialNumberParams;
TSerialNumberParams = record
wInfoLevel:word;
dwDiskSerialNumber:longint;
caLabel:array[0..10] of char;
baFileSystem:array[0..7] of char;
end;
function GetDriveSerialNumber(wDrive: word): LongInt;
var
snp: TSerialNumberParams;
begin
snp.dwDiskSerialNumber := 0;
if ReadDriveSNParam(wDrive, @snp)
then Result := snp.dwDiskSerialNumber
else Result := -1;
end;
function ReadDriveSNParam(wDrive: word; psnp: PSerialNumberParams): boolean; assembler;
asm
push ds
mov bx, wDrive
mov al, 00h
mov ah, 69h
lds dx, psnp //<=вот тут ошибка Operand size mismatch
int 21h
jnc @no_error {CF SET if error}
xor ax,ax {set false}
jmp @exit
@no_error:
mov ax, 1 {set true}
@exit:
pop ds
end;
помогите плиз
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|