Frage

Ich habe eine kleine Anwendung entwickelt, und jetzt will ich sich schützen.

Ich will es läuft nur auf meinem eigenen Computer, und ich habe es für mich selbst entwickelt.

Wie kann ich das tun?

War es hilfreich?

Lösung

A. Sie veröffentlichen es nicht.
B. Hart-Code Name Ihres Computers in dem Code, und stellen Sie das erste, was das Programm macht zu überprüfen, dass System.Environment.MachineName Streichhölzer es.

Andere Tipps

Sie können immer überprüfen Sie die Prozessor-ID oder Motherboard-Seriennummer.

Private Function SystemSerialNumber() As String
    ' Get the Windows Management Instrumentation object.
    Dim wmi As Object = GetObject("WinMgmts:")

    ' Get the "base boards" (mother boards).
    Dim serial_numbers As String = ""
    Dim mother_boards As Object = _
        wmi.InstancesOf("Win32_BaseBoard")
    For Each board As Object In mother_boards
        serial_numbers &= ", " & board.SerialNumber
    Next board
    If serial_numbers.Length > 0 Then serial_numbers = _
        serial_numbers.Substring(2)

    Return serial_numbers
End Function


Private Function CpuId() As String
    Dim computer As String = "."
    Dim wmi As Object = GetObject("winmgmts:" & _
        "{impersonationLevel=impersonate}!\\" & _
        computer & "\root\cimv2")
    Dim processors As Object = wmi.ExecQuery("Select * from " & _
        "Win32_Processor")

    Dim cpu_ids As String = ""
    For Each cpu As Object In processors
        cpu_ids = cpu_ids & ", " & cpu.ProcessorId
    Next cpu
    If cpu_ids.Length > 0 Then cpu_ids = _
        cpu_ids.Substring(2)

    Return cpu_ids
End Function

Wurde genommen, von wo aus: http://www.vb-helper.com/howto_net_get_cpu_serial_number_id. html

Hier ist eine Frage von Jim diese Strenge für die Option zu konvertieren.

Es hängt wirklich davon ab, wer ist der „Feind“.

Wenn Sie schützen mögen es von Ihren gierig, nicht-Cracker, Freunde, dann haben Sie einfach die Anwendung laufen nur, wenn ein bestimmtes Kennwort in der Registrierung gefunden wird (eine kryptografisch sichere Hash-Funktion) oder den Computernamen verwenden wie Jay vorgeschlagen.

Aber wenn Sie denken an sie vor schweren „Feinde“ zu schützen, Mitteilung zu tun: Es wurde mathematisch bewiesen , dass, solange die Hardware unsicher ist, jede Software läuft auf sie ist von Natur aus unsicher . Das bedeutet, dass jedes Stück Software zu knacken, jeder Schutzmechanismus ist umgehbar (auch gesicherte Hardware-Geräte wie Alladin der Finjan USB Produktschlüssel, da der Rest der Hardware ist unsicher). Da die meisten (wenn nicht alle) die Hardware der heute unsicher sind, können Sie einfach nicht zu 100% Sicherheit in einer Software.

Dazwischen gibt es viele Sicherheitslösungen für die Lizenzierung und Kopierschutz. Es kommt alles darauf an, wer der Feind ist und was ist die Bedrohung.

Egal, wie hart Sie versuchen, wenn jemand wirklich will, es auf einem anderen Computer ausführen kann, werden sie.

Alle tun müssen, ist Reverse Engineering Ihren Schutz

  1. löschen Über
  2. mit ihm spielen

Eine weitere Option könnte sein, Ihr Programm zu haben, den Benutzer eine Frage stellen, die eine abgeleitete Antwort hat. Hier ist ein hirntot Beispiel ....

Ihr Programm: „Wie spät ist es jetzt“

Sie geben ein: (theyear + 10 - theday + 11) Mod 13

Auf diese Weise seinen eigentlich NUR DU das kann das Programm anstatt es läuft MACHINE abhängig zu sein.

Ich habe Dinge wie diese in VB DOS gemacht.

ich entweder eine nicht löschbare Datei vorgenommen, die mit einem Code nach innen zu einem bestimmten Computerschlüssel ist, und / oder die .pwl-Dateien lesen und mehrere Prüfungen habe, die nur auf dem Computer sind. Die nicht-editierbare Datei mit erweiterten Zeichensätzen wie char 233 so, wenn eine Person versucht hat, sie zu betrachten, wird es eine leere Kopie öffnen (edit) (write.ex), so dass die Daten nicht gelesen werden können, und es kann nicht verschoben bearbeitet wird oder gelöscht werden.

Es muss bestimmte Zeichen sein; Ich bin nicht sicher, ob jeder Charter zwischen 128 und 255 wird es funktionieren, einige erweiterte Zeichen funktionieren dies einige nicht zu tun, auch sie kann besiegt werden, aber es wird einige Leute draußen bleiben,

Aber kann es in einer Programmumgebung gelesen oder geprüft werden. Nichts völlig sicher ist, ist dies einige der Dinge, die ich mess with.

. Hinweis: die Datei wird sehr schwer zu löschen, vielleicht ein Testverzeichnis macht dies zu testen

Ich hoffe, das ist in Ordnung, ich bin nicht sehr gut an info, um Menschen zu befördern; Ich habe seit 1982 programmiert.

Eine andere Idee ... Ich schrieb ein Programm, das nicht direkt ausgeführt werden können, ist es nur durch eine externe Datei lief, so dass Sie in einem Kennwort-Eingabeabschnitt, um es und verschlüsseln Passwort hinzufügen könnte, damit es nicht sehr leicht gelesen werden kann, ich eine ausführbare Version eines vb Programm-Test gemacht. es schreibt in ein Zeichen zu schlaff Raum so, wenn das Programm diesen Wert sieht es nicht ausgeführt wird, aber die Läufer Programm hat einen anderen Charakter, und es ändert sich zu diesem Charakter, und das Programm wurde entwickelt, um nur einlassen, wenn das Zeichen die richtige ist, erst durch den Läufer, dann, wenn es tritt sie es wieder ändert, so ist es nicht offen gelassen, ich diese sorta Sache gemacht haben, und es funktioniert, gibt es immer eine Möglichkeit, einen Schutz zu besiegen, ist das Ziel to.I können Beispiele zu einem späteren Zeitpunkt zu sie verlangsamen oder sie davon abhalten laufen oder mit Ihrem Programm, wenn Sie sie nicht wollen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top