Llevo desarrolladas varias aplicaciones y las protejo con un simple archivo de texto, al cargar la aplicacion corrobora el archivo
Por ejemplo
Private Sub Form_Load()
'Libre = FreeFile
'Open "C\Windows\System32\Key.dll" For Input As #1
'Input #1, Valor
'Close
'Lbl_Registro.Caption = "Restan " & Valor & " Ejecuciones para vencer su registro gratis"
'If Trim(Valor) <> "Libre" Then
' If Val(Valor) > 1 Then
' If Val(Valor) < 20 Then
' Principal.Caption = "ATENCION: Su sistema esta proximo a vencer le quedan " & Valor & " ejecuciones"
' Else
' Principal.Caption = "Mekanico V1.23"
' End If
' Else
' killer = App.Path & "\Extras\Kill.exe"
' Shell killer, vbNormalFocus
' End
' End If
' Valor = Valor - 1
' Open "Key.dll" For Output As #Libre
' Print #Libre, Valor
' Close
'Else
' Lbl_Registro.Caption = "Produccion General Daniel Steckler"
'End If
End sub
Aqui verifica el valor del archivo y de ser menor a uno ejecuta el programa kill.exe que elimina al exe en cuestion y se copia a si mismo en lugar y con el mismo nombre que el otro jejejejejejeje