Programm nur für einen PC nutzbar machen

    • VB6

    Es gibt 25 Antworten in diesem Thema. Der letzte Beitrag () ist von SpaceyX.

      Ich geb jetzt auch mal meine Meinung mit einem kleinen Beispiel dazu ab.

      70% (meine Schätzung) der Menschen, die vorm PC hocken, haben keine Ahnung. Ausgenommen davon sind Script-Kiddies, Programmier und Leute, die einfach Ahnung haben. Alle anderen haben keinen Plan, was überhaupt ein Byte ist, wie ein PC funktioniert usw...

      Für diese 70% ist es nahzu unmöglich einen Decompiler zu nutzen, einen Angriff auf ein Programm zu starten usw. Für diese 70% genügt ein banaler Schutz.

      Visual Basic-Quellcode

      1. Public Class Form1
      2. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
      3. If Not CheckIdentity() = "0342F153E4772FCF5398B6D6F34181B7A78B93EECA46BDB082EC293DA35B8C33" Then
      4. Application.Exit()
      5. End If
      6. End Sub
      7. Private Function CheckIdentity() As String
      8. Dim sha256 As New Security.Cryptography.SHA256CryptoServiceProvider()
      9. Dim hash As String = BitConverter.ToString(sha256.ComputeHash(System.Text.Encoding.Unicode.GetBytes(Environment.UserName))).Replace("-", "")
      10. Return hash
      11. End Function
      12. End Class


      Hier wird einfach mein Benutzername (kann auch eine Hardware-ID oder sonst was spezifisches sein) in einen SHA256-Hash gewandelt (SpaceyX). Beim Programmstart überprüfst Du einfach, ob der Hash des Usernames stimmt. Stimmt er nicht, Programm schliessen. Stimmt er, mach weiter.

      Alles andere kannst Du Dir sparen, da die Leute, die es knacken wollen schaffen werden. Für die 70% ist diese Hürde nicht zu nehmen.
      Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
      Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
      Nehmen wir mal an es stimmt was gesagt wurde...ist aber dann nicht trotzdem noch möglich soviele "Sperren" oder "neue unbekannte Sperren" einzubauen, dass man zum knacken mehrere Monate dasitzen würde? Bis dahin ist dann schon eine neue Version mit anderen Sperren draußen u.s.w.

      Müsste theoretisch gehen...praktisch?

      TheVBTutorialsVB schrieb:

      st aber dann nicht trotzdem noch möglich soviele "Sperren" oder "neue unbekannte Sperren" einzubauen, dass man zum knacken mehrere Monate dasitzen würde? Bis dahin ist dann schon eine neue Version mit anderen Sperren draußen u.s.w.
      Das hat einen kleinen Haken: Bei .NET wird das schreiben der Sperre wahrscheinlich länger als das knacken dauern.
      Weisst Du, ich würde mir nicht soviele Gedanken um dieses Thema machen. Es ist zwar sehr interessant, aber wie Du schon gehört hast, gibt es keinen Schutz. Viele Schutzmechanismen sind schon ausgehebelt, bevor sie überhaupt im Einsatz sind. Es gibt immer einen Weg. Es hängt auch sehr davon ab, welchen Wert Dein Programm darstellt. Ich verfolge die Devise, frei für alle, Source frei, alles frei. Wenn jemand will, darf er gerne Spenden.

      Solange Du mit .NET arbeitest, ist der Quellcode im Klartext einsehbar, da braucht keiner Monate. Du programmierst ja keine Ultra-Super-Duper CAD-Programme oder Spiele. Wie gesagt, verschwende keine Zeit für einen sinnfreien Mechanismus. Es langt die 70% auszusperren und dazu genügt etwas Banales.
      Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
      Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o