Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: TrashAmbishion en 3 Febrero 2013, 02:19 am



Título: Necesito anclar mi APP ?
Publicado por: TrashAmbishion en 3 Febrero 2013, 02:19 am
Hola pues eso ando buscando algun dato en el Pc que nunca varie aunque formateen el Pc y reinstalen tambien que no se pueda simular en otra Pc, para que mi app lo verifique siempre antes de iniciar y nada mas corra en al Pc que yo quiera...

Tambien si es posible diganme algun metodo seguro para cifrar mi App, conozco el programa Armadillo pero no se si es necesario llegar hasta alla...

Salu2


Título: Re: Necesito anclar mi APP ?
Publicado por: Eleкtro en 3 Febrero 2013, 03:04 am
Imagino que con el número de serie de la BIOS será más que suficiente...

Código
  1. wmic.exe BASEBOARD get serialnumber

http://www.vb-helper.com/howto_net_get_cpu_serial_number_id.html
http://social.msdn.microsoft.com/forums/en-US/Vsexpressvb/thread/f393708f-d7e3-4aa3-a624-7e8c6662f343/

O tambien puedes crear tu propia GUID como indican aquí (El code está en C#): http://stackoverflow.com/questions/3823394/how-to-get-unique-identifier-of-system

No creo que haya nada más efectivo... pero no soy un experto en el tema.

PD: Ahora, que algo incrackeable no creo que lo consigas, porque ni los de Sony ni los de Adobe pueden... xD.

Saludos.



Edito: quizás esto te sirva... son los códigos de arriba pero los he simplificado.

El número de serie de la placa base se puede modificar, pero yo creo que como protección standard está muy bien... ya si quieres puedes obtener todos los serials del hardware pc para mayor seguridad X'D



Obtener la ID de la placa base:

Código
  1. #Region " Get Motherboard ID Function "
  2.  
  3.    ' [ Get Motherboard ID Function ]
  4.    '
  5.    ' Examples :
  6.    '
  7.    ' Dim Motherboard_ID As String = Get_Motherboard_ID()
  8.    ' MsgBox(Get_Motherboard_ID())
  9.  
  10.    Private Function Get_Motherboard_ID() As String
  11.        For Each Motherboard As Object In GetObject("WinMgmts:").InstancesOf("Win32_BaseBoard") : Return Motherboard.SerialNumber : Next Motherboard
  12.        Return Nothing
  13.    End Function
  14.  
  15. #End Region




Obtener la ID del procesador:

Código
  1. #Region " Get CPU ID Function "
  2.  
  3.    ' [ Get CPU ID Function ]
  4.    '
  5.    ' Examples :
  6.    '
  7.    ' Dim Processor_ID As String = Get_Motherboard_ID()
  8.    ' MsgBox(Get_CPU_ID())
  9.  
  10.    Private Function Get_CPU_ID() As String
  11.        For Each CPU_ID As Object In GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQuery("Select * from Win32_Processor") : Return CPU_ID.ProcessorId : Next CPU_ID
  12.        Return Nothing
  13.    End Function
  14.  
  15. #End Region