ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

защита net программы
  #1  
Старый 30.09.2009, 12:01
kusanagi
Познающий
Регистрация: 24.01.2009
Сообщений: 70
Провел на форуме:
87114

Репутация: 5
По умолчанию защита net программы

хочу защитить свою программу на 2.0 от копирования на другие машины, т.е. чтобы запускалась только на 1 компе
ну или хотя бы максимально затруднить взлом. можно ли это осуществить своими силами без финансовых затрат и сильных дерганий?
счас вижу решение- получить ид железки, затем на основании этого ид сгенерить ключ и в программе этот ключ проверить. можно еще с обфуксацией.
жизнеспособное ли это решение?
 
Ответить с цитированием

  #2  
Старый 30.09.2009, 12:42
Tigger
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
Провел на форуме:
5386281

Репутация: 1177


Отправить сообщение для Tigger с помощью ICQ
По умолчанию

Ключ на комп + через свой сервер какой-нибудь
 
Ответить с цитированием

  #3  
Старый 30.09.2009, 13:24
kusanagi
Познающий
Регистрация: 24.01.2009
Сообщений: 70
Провел на форуме:
87114

Репутация: 5
По умолчанию

Цитата:
Сообщение от Tigger  
Ключ на комп + через свой сервер какой-нибудь
ключ это понятно, а как компьютер идентифицировать? на том же самом сервере, ведь надо чтото передавать
 
Ответить с цитированием

  #4  
Старый 30.09.2009, 14:03
M_script_
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
Провел на форуме:
1819761

Репутация: 180
Отправить сообщение для M_script_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от kusanagi  
ключ это понятно, а как компьютер идентифицировать? на том же самом сервере, ведь надо чтото передавать
Идентифицировать по номерам комплектующих.
 
Ответить с цитированием

  #5  
Старый 30.09.2009, 14:48
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

для net прог удобно очень получать данные через WMI и к ним привязываться.
Получай серийник винта (именно винта, а не метки тома) и привязывайся к нему.
 
Ответить с цитированием

  #6  
Старый 30.09.2009, 15:25
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

+ не забыть обфускацию/протектор.
 
Ответить с цитированием

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

  #8  
Старый 30.09.2009, 22:37
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

А ты подключение даже не сделал.
 
Ответить с цитированием

  #9  
Старый 30.09.2009, 22:59
kusanagi
Познающий
Регистрация: 24.01.2009
Сообщений: 70
Провел на форуме:
87114

Репутация: 5
По умолчанию

делаю как в примере http://www.geekpedia.com/tutorial233_Getting-Disk-Drive-Information-using-WMI-and-Csharp.html
не пашет. вобще ни 1 пример не заработал. стоит русская хр сп3
 
Ответить с цитированием

  #10  
Старый 01.10.2009, 11:02
RumShun
Постоянный
Регистрация: 27.10.2008
Сообщений: 380
Провел на форуме:
1249808

Репутация: 149
Отправить сообщение для RumShun с помощью ICQ
По умолчанию

вобщем нашел такой код
Код:
  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;
помогите плиз
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хакер и закон! SladerNon Болталка 17 12.11.2009 09:42
Программы для работы с железом. Часть I – настройка видеокарт _GaLs_ Аппаратное обеспечение 2 20.12.2006 01:18
Программы для работы с железом. Часть 2 – материнские платы _GaLs_ Аппаратное обеспечение 0 19.11.2006 12:57
нужны свежие Proxy !! Ws.noobik Болталка 1 13.01.2006 11:34



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ