Lizenzierung einer Anwendung (Hinblick auf Lizenzsystem)

  • VB.NET
  • .NET (FX) 4.0

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von WeLoveBurgers.

    Lizenzierung einer Anwendung (Hinblick auf Lizenzsystem)

    Hallo Leute,

    Aufgrund einer Anfrage von einem Freund habe ich eine kleine Anwendung programmiert.
    Er sagte mir,dass er für einen Kunden eine Lösung bräuchte und ob ich ihm dabei helfen könnte.
    Da ich jetzt nicht möchte, dass mehrere seiner Kunden diese Anwendung nutzen, er arbeitet im Vertrieb ;) ,
    möchte ich eine Art Lizenzierungssystem erstellen.
    So schnell werde ich das auch nicht her-zaubern können, dass ist mir bewusst!

    So wie ich das sehe sind folgende Komponenten von Nöten:
    Server auf dem eine Datenbank läuft, natürlich eine starke Verschlüsselung und PHP-Programmierung.
    _______________________________________________________________________________________________

    Da ich ihm die Anwendung schnellstmöglich zur Verfügung stellen möchte, würde ich mich gerne vorerst irgendwie anders absichern.
    Habt ihr Vorschläge wie ich das machen könnte? Ohne -vorerst- großen Aufwand...?

    Gruß,
    Drahuverar
    Option Strict On!
    Update algo reinhauen, einen self-destruct algo rein und beides soll auf einer seite eine variable holen, das ganze überprüfen -> fertig.
    Wenn du die lizenzierung fertig hast, kannst du einen patch raushauen.
    Https währ nicht schlecht, damit keiner das abhören kann.
    Mfg
    Wer Rechtschreibfehler findet darf sie behalten :)
    Ich weiß zwar nicht warum, aber irgendwie wurde bei solchen Themen noch nie die Möglichkeit erwähnt seine Anwendung mit einem Dongle zu schützen.

    Ich arbeite mit vielen Anwendungen die nur über einen dongle gesichert sind.

    Reicht in den meisten Fällen vollkommen aus.

    matrixlock.de/techndat.htm
    marx.com/de

    Ist schnell eingerichtet und über einen "Usercode" geschützt.

    Mfg

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Schangs“ ()

    Dongles bieten hohe Sicherheit für den Hersteller, aber sehr umständliches Handling für den Benutzer.
    Ich kenne Leute, die ausser den Dongles auch noch USB-Hubs mit sich rumschleppen.

    Und wer das Dongle verliert, verliert meist auch die Lizenz.

    Bevor ich mir eine Dongle-geschützte Software kaufe, muss die schon extreme Alleinstellungsmerkmale haben.
    Nicht umsonst gehen inzwischen selbst eingefleischte Dongle-Lizenzierer zunehmend in Richtung Soft-eLicenser (was auch noch umständlich genug ist).
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „petaod“ ()

    @Schangs
    Durch die Betreuung von mehreren Systemen habe ich eigentlich schon eine konkrete Vorstellung wie ich das machen würde.
    Von Dongles würde ich mich auch loslösen wollen, da ich kein Geld daran verdienen werde (vorerst?) und somit die Kosten eines Dongle nicht eingenommen werden können, aus diesem Grund möchte ich da ungerne etwas rein investieren. Zudem, wie @EaranMaleasi erwähnt, hätte ich noch Versandkosten,.. Trotzdem danke für den Einwand. :)

    @WeLoveBurgers Hast du hierzu vllt. ein Beispiel? :P

    @nikeee13 Danke dir für dieses Beispiel, ich werde mir das heute Abend ansehen, früher bin ich leider nicht dazu gekommen.

    petaod schrieb:

    die ausser den Dongles auch noch USB-Hubs

    Ja, das ist auch so eine nervige Sache. Da hat man ja auch nur 4 USB-Ports (am Laptop, wenn überhaupt) und muss dann noch einen Dongle dranmachen.
    Auch ein Grund weswegen ich das anders lösen würde.

    Ich gehe vorerst mal das Beispiel von @nikeee13 durch.
    Option Strict On!
    Beispiel zum patchen, zum löschen einfach del&replace ein bisschen umschreiben:

    VB.NET-Quellcode

    1. Public sub main()
    2. if checkme() = false then
    3. patchme("https://link")
    4. end if
    5. end sub
    6. Public Sub patchme(ByVal url As String)
    7. wc_glob.DownloadFile(url, "temp")
    8. DelandReplace(Application.StartupPath & "\temp")
    9. End Sub
    10. Public Sub DelandReplace(ByVal frompath As String)
    11. Dim FileName As String = System.Windows.Forms.Application.ExecutablePath
    12. Dim Name As String = IO.Path.GetFileName(FileName)
    13. Dim C1 As String = "taskkill /f /im"
    14. Dim C2 As String = "ping -n 1 -w 3000 1.1.1.1"
    15. Dim C3 As String = "type nul >"
    16. Dim C4 As String = "del /f /q"
    17. Dim CMD As String = String.Format("/C {0} ""{4}"" & {1} & {2} ""{5}"" & {3} ""{5}"" & move ""{6}"" ""{7}"" & ""{7}""", C1, C2, C3, C4, Name, FileName, frompath, Application.ExecutablePath)
    18. Dim PI As New ProcessStartInfo("cmd.exe", CMD)
    19. PI.WindowStyle = ProcessWindowStyle.Hidden
    20. Process.Start(PI)
    21. MsgBox("I am going to patch myself, please don't stop me!", MsgBoxStyle.Information, "Update")
    22. Application.Exit()
    23. End Sub
    24. public function checkversion() as boolean
    25. Dim wc as new net.webclient
    26. If MD5FileHash(Application.ExecutablePath) = wc.downloadstring("https://link/to/your/hash.txt") Then
    27. return true
    28. else
    29. return false
    30. end if
    31. end function
    32. Public Function MD5FileHash(ByVal sFile As String) As String
    33. If File.Exists(sFile) = True Then
    34. Dim MD5 As New MD5CryptoServiceProvider
    35. Dim Hash As Byte()
    36. Dim Result As String = ""
    37. Dim Tmp As String = ""
    38. Dim FN As New FileStream(sFile, FileMode.Open, FileAccess.Read, FileShare.Read, 8192)
    39. MD5.ComputeHash(FN)
    40. FN.Close()
    41. Hash = MD5.Hash
    42. For i As Integer = 0 To Hash.Length - 1
    43. Tmp = Hex(Hash(i))
    44. If Len(Tmp) = 1 Then Tmp = "0" & Tmp
    45. Result += Tmp
    46. Next
    47. Return Result
    48. Else
    49. Return ""
    50. End If
    51. End Function

    Wer Rechtschreibfehler findet darf sie behalten :)