AntiLeak System

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von Anubis1982.

    AntiLeak System

    Hallo liebe Freunde des Codens, ich bin recht neu hier und sage allen erstmal hallo!

    Ich arbeite gerade an einem AntiLeak System für Software, es ist soweit vom Grundaufbau fertig und funktioniert soweit auch ganz gut doch mein Problem ist das es zurzeit quasi das es NUR für einen Nutzer ist aber wirklich nur für EINEN!!!

    Ich habe mir ein kleines Programm gebastelt was einem seine Prozessor ID in einer Textdatei abspeichert diese Datei wird dann per email an mich gesendet und ich trage diese ID dann in einer Textdatei wir nennen sie jetzt mal logfile.txt auf meinem FTP Server ein.

    So das eigentliche Programm was den Antileak Schutz dann enthalten soll fragt auch die Prozessor ID ab und speichert das ganze auch in einer textdatei auf c:\logtest.txt ab, dannach wird die logfile.txt von meinem FTP Server gedownloaded und liegt auch auf c:\logfile.txt

    Dannach werden beide Dateien (logtest.txt, logfile.txt) miteinander verglichen ob der Inhalt übereins stimmt, ist das der Fall wird das Programm geöffnet, ist es nicht der Fall dann nicht. Die beiden dateien werden vor dem öffnen des Programms wieder von c:\ gelöscht...sollten sie nicht übereins stimmen dann natürlich auch.

    Der Inhalt der beiden Dateien sieht z.B. so aus:

    logfile.txt

    Quellcode

    1. 0383FBFF00000634


    logtest.txt

    Quellcode

    1. 0383FBFF00000634


    Die beiden Dateien stimmen überein -> Das Programm wird gestartet

    So jetzt möchte ich aber in der logfile.txt User hinzufügen quasi das die datei dann z.B. so aussieht:

    logfile.txt

    Quellcode

    1. 0383FBFF00000456
    2. 0383FBFF00000634
    3. 0383FBFF00000424


    So mein Programm würde mir jetzt wieder beim öffnen die logtest.txt Datei erstellen mit dem Inhalt:

    logtest.txt

    Quellcode

    1. 0383FBFF00000634


    So mein Problem ist das ich nicht weiß wie ich jetzt überprüfe ob der Inhalt von der logtest.txt Datei in irgendeiner Zeile von logfile.txt vorhanden ist.

    Ich benutze Visual Basic Express 2008.

    Ich hoffe mir kann einer helfen?

    Liebe Grüße...André


    PS: Wenn Das System fertig ist stelle ich euch den Source Code gern zur verfügung
    Dann hättest du aber einen unformatierten Text...
    also dann lieber so:

    VB.NET-Quellcode

    1. Dim lines() As String = IO.File.ReadAllLines("logfile.txt")
    2. 'jetz hast du die datei in nem String-Array

    aber er will ja es speichern und per e-mail an sich selbst schicken...
    also zum schreiben:

    VB.NET-Quellcode

    1. Dim sw As New IO.StreamWriter("log.txt", True)
    2. sw.WriteLine(processorid)
    3. 'wenn fertig mit schreiben beenden
    4. sw.Close()


    mfg Tim;)
    Erstmal Danke für die schnellen Antworten.....

    Hmmm...also entweder ich steige hier gerade selber nicht durch, oder ihr habt mich falsch verstanden.

    Das mit der Email schicken ist schon gelöst damit hab ich keine Probleme


    Ich möchte den Inhalt einer Textdatei wo nur eine Prozessor ID drin steht mit einer anderen Textdatei vergleichen ob der Inhalt der ersten Textdatei auch in der 2 Textdatei in irgendeiner Zeile vorkommt.

    Erste Textdatei sieht so aus:

    Quellcode

    1. 0383FBFF00000634


    Der Inhalt der 2 Textdatei sehe so aus:

    Quellcode

    1. 0383FBFF00000456
    2. 0383FBFF00000634
    3. 0383FBFF00000424


    Nur weiß ich halt nicht wie das geht, mehr brauch ich nicht mehr um das System fertig zu stellen.

    VB.NET-Quellcode

    1. dim k as string = my.computer.filesystem.readalltext("pfad zur textdatei 1")
    2. dim y as string = my.computer.filesystem.readalltext("pfad zur textdatei 2")
    3. if y.contains(k) then
    4. show
    5. else end


    so hätte ich es verstanden
    Das ist meine Signatur und sie wird wunderbar sein!
    probier das mal so :

    VB.NET-Quellcode

    1. Dim v As Array = My.Computer.FileSystem.ReadAllText("C:\test1.txt").Split(vbNewLine)
    2. Dim k As String = My.Computer.FileSystem.ReadAllText("C:\test2.txt")
    3. Dim gefunden As Boolean
    4. For i = 0 To UBound(v)
    5. If v(i) = k Then gefunden = True
    6. Next
    7. Select Case gefunden
    8. Case True
    9. Show()
    10. Case False
    11. End
    12. End Select


    ist zwar länger aber funktz :thumbup:

    Littleboy2009 schrieb:

    probier mal so:

    VB.NET-Quellcode

    1. dim k as string = my.computer.filesystem.readalltext("pfad zur textdatei 1")
    2. dim y as string = my.computer.filesystem.readalltext("pfad zur textdatei 2")
    3. if k = y then show else end


    :thumbup:


    Hmmm nein so funktioniert es leider auch nicht, da die beiden Dateien ja komplett übereins stimmen müssten und das tuen Sie ja nicht.

    In textdatei 1 steht eine Zeile und in textdatei 2 stehen ja mehrere Zeilen drin.

    Er soll lediglich gucken ob der Inhalt aus textdatei 1 auch in irgendeiner Zeile in textdatei 2 vorkommt.


    Bei deinem Beispiel müssen die textdateien komplett überein stimmen, aber damit ist mir nicht geholfen

    Littleboy2009 schrieb:

    VB.NET-Quellcode

    1. Dim v As Array = My.Computer.FileSystem.ReadAllText("C:\test1.txt").Split(vbNewLine)
    2. Dim k As String = My.Computer.FileSystem.ReadAllText("C:\test2.txt")
    3. Dim gefunden As boolean
    4. For i = 0 To UBound(v)
    5. If v(i) = k Then gefunden = True
    6. Next
    7. Select Case gefunden
    8. Case True Show()
    9. Case False End
    10. End Select



    ich hab dir doch ein funktz code geschrieben :thumbsup:

    Mono schrieb:

    VB.NET-Quellcode

    1. dim k as string = my.computer.filesystem.readalltext("pfad zur textdatei 1")
    2. dim y as string = my.computer.filesystem.readalltext("pfad zur textdatei 2")
    3. if y.contains(k) then
    4. show
    5. else end


    so hätte ich es verstanden



    VielenDank Mono Du hast mich hier als einziger richtig verstanden, hammergeil es funktioniert so wie ich mir das vorstelle.
    An alle anderen auch vielen Dank für eure bemühungen.

    So jetzt kann ich sagen der soll und der soll meine Software nicht benutzen.

    Und wenn ich nicht möchte das ein bestimmter nutzer meine Software weiterhin benutzt lösche ich seine Prozessor ID aus meiner Liste und die Software funktioniert bei ihm nicht mehr und bei den anderen schon noch.

    Soll keiner Sie mehr benutzen lösche ich alle ID´s und sie geht gar nicht mehr.

    So noch ein bissal verfeinern das Grundgerüsst und die sache geht richtig ab^^

    Vielen lieben Dank nochmal an Dich Littleboy für dein funktz script
    das problem an seinem code ist allerdings, das du in den variablen nun den inhalt der txt ohne formatierung hast. wenn ein paar ungünstige zufälle aufeinander treffen können plötzlich user dein programm nutzen, von denen du die id noch nicht einmal hast.

    lös das ganze lieber so:

    VB.NET-Quellcode

    1. Dim LocalFile As String = IO.File.ReadAllText("C:\test1.txt")
    2. Dim OnlineFile() As String = IO.File.ReadAllLines("C:\test2.txt")
    3. Dim AllowStart As Boolean = False
    4. For Each value In OnlineFile
    5. If value = LocalFile Then
    6. AllowStart = True
    7. 'starte mich
    8. End If
    9. Next
    10. If AllowStart = False Then
    11. Me.Close()
    12. End If


    und wie mein vorposter sagt, solltest du dein online file auch dort lassen, entweder du schreibst das ganze so um das du mit datenbanken arbeitest und php zusammen, und rufst einfach immer wieder den inhalt der datenbanken ab(die id's) oder du lässt es glaube ich am besten ganz sein =))

    Littleboy2009 schrieb:

    deine variante ist aber zu 3 % sicher (also sehr unsicher) denn wenn du die textdatei auf deinen computer lädst kann man doch einfach alle prozessor id´s kopieren und in die eigene einfügen! lso eigentl zu 0% sicher oda ? ?(



    ähm ne is schon sicher, weil Du ja die Datei von Server ja gar nicht zu gesicht bekommst erstens weißt Du nicht wie sie heißt und wo sie liegt und 2tens wird sie ja vor dem überprüfen immer wieder neu herunter geladen und 3tens nach dem überprüfen sofort wieder gelöscht.

    doci schrieb:

    das problem an seinem code ist allerdings, das du in den variablen nun den inhalt der txt ohne formatierung hast. wenn ein paar ungünstige zufälle aufeinander treffen können plötzlich user dein programm nutzen, von denen du die id noch nicht einmal hast.

    lös das ganze lieber so:

    VB.NET-Quellcode

    1. Dim LocalFile As String = IO.File.ReadAllText("C:\test1.txt")
    2. Dim OnlineFile() As String = IO.File.ReadAllLines("C:\test2.txt")
    3. Dim AllowStart As Boolean = False
    4. For Each value In OnlineFile
    5. If value = LocalFile Then
    6. AllowStart = True
    7. 'starte mich
    8. End If
    9. Next
    10. If AllowStart = False Then
    11. Me.Close()
    12. End If


    und wie mein vorposter sagt, solltest du dein online file auch dort lassen, entweder du schreibst das ganze so um das du mit datenbanken arbeitest und php zusammen, und rufst einfach immer wieder den inhalt der datenbanken ab(die id's) oder du lässt es glaube ich am besten ganz sein =))



    Ja also mit php da kenn ich mich sehr gut aus, du hast recht ich könnte auch über ne sql datenbank alles laufen lassen und dann über meine website per Paypal arbeiten so das der User meine Software kauft und nach erfolgreichen bezahlen seine ID gleich in die Datenbank eingtragen wird und er sie auch gleich benutzen kann, das sollte alles kein thema sein

    Anubis1982 schrieb:

    Zitat von »Littleboy2009«
    ich glaube er kanns ni ...
    wenn er uns scho nach sowas leichtem fragt is sql naja ... ziemlich schwierig!
    ^^
    ich will bestimmt ni cool tun ich hab sogar mit diesem beitrag zugegeben das sql für mich relativ schwierig ist (kann zwar schon vieles aber eben vieles auch ni)

    ausserdem sollte das ni abwertent gedeudet werden denn ich hatte geschrieben "ich glaub" und "sql naja ... ziemlich schwierig" das war also nur eine vermutung! :thumbup:

    tut mir leid falls das etwas grob geklungen hat .. ;(
    Ja da hast Du recht das sowas sehr schwierig ist, aber ich mache mir immer beispiele an den ich mir dann was wenn ich was brauche und nicht mehr so ganz aufm schirm bekomme nachgucken kann und da ich sowas ähnliches schonmal gemacht habe ist es mit einem Beispiel leichter.

    Mit den txt dateien das war ja nur erstmal so vorab ob ich sowas in VB überhaupt hinbekomme