Zahlen zu Buchstaben und umgekehrt (eigener Crypter)

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von exc-jdbi.

    Zahlen zu Buchstaben und umgekehrt (eigener Crypter)

    Hallo liebe Coder Kollegen,

    Ich habe folgendes Problem - doch vorab, ich suche seit über 2h im Internet alles ab was mir bei diesem Thema auch nur ansatzweise helfen könnte. Soll heißen ich würde euch nicht um Hilfe bitten, wenn ich nicht absolut keinen Plan hätte wie ich meine Idee umsetzen könnte. Daher bitte ich auch inständig darum mir keine lmgtfy Links oder Verweise auf ein anderes Thema zu senden. Das habe ich mir nämlich schon mindestens 2x durchgelesen... Nun aber zu meinem Problem:

    Ich habe mir in den Kopf gesetzt eine art eigenen Crypter zu Programmieren. Der aufbau ist relativ simpel:

    In einem Textdokument habe ich in einer Zeile 92 dreistellige Zahlen (z.B. 001|002|003|...) stehen. Jede Zahl steht für ein Zeichen (001=a 002=! 003=A). Die Bedeutung der Zahlen steht aber nicht daneben. D.h. die exe wäre ohne das Textdokument unbrauchbar und umgekehrt. Der Grund für die Aktion mit dem Textdokument ist der, dass ich die Bedeutung von z.B. (001=a) nicht in der exe selber stehen haben will, da ich die Information das 001 = a ist später auch noch ändern möchte. Dann ist 001 z.B. = e. Das hat in meinen Augen den Vorteil, dass man zu jedem Text den man entcrypten will auch das richtige Textdokument braucht. Wie eine art Schlüssel. Soviel zum Grundprinzip. Den Rest könnt ihr euch wahrscheinlich denken ^^ Also die Anwendung liest das txt ein und Splittet den Text auf, welcher dann in einem Label abgelegt wird. Sprich in Label1 steht dann 001 in Label2 002 und so weiter. In meiner Anwendung ist dann lediglich festgehalten, dass wenn die Zahlenfolge die in Label1 steht kommt, ein a ausgegeben wird. Das geht so weiter bis Label92, was dann z.B. mit einem Z hinterlegt ist. (Habe ich also den Code 001|002| UND im Textdokument steht 001|002|003... Würde 001|002 ab bedeuten. Wenn im Textdokument 002|001|003 steht würde ba ausgegeben werden.) Soweit so gut. Nur an der Umsetzung in Code hapert es momentan sehr... Das was ich hier bis jetzt in der ganzen Zeit zusammen gecodet habe ist der größte scheiß. Der Split funktioniert nicht richtig und generell die systematische Umsetzung der Funktionen ist totaler mist... Ich schreibe den Code gleich hier drunter, aber bitte nicht <X ^^ Ich hätte gerne etwas mit Case oder etwas passenderem gemacht, aber ich habe mich mit so etwas oder ähnlichem noch nie beschäftigt. Es gibt bestimmt 1000 Sachen die man da noch verbessern könnte, aber fürs erste würde es mir reichen wenn die Umwandlung, Ein- Ausgabe und der Split des Textes/Zahlen funktionier.

    VB.NET-Quellcode

    1. Imports System
    2. Imports System.IO
    3. Public Class Form1
    4. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    5. Dim Lines() As String = System.IO.File.ReadAllLines("lib.txt")
    6. For Each Line As String In Lines
    7. Dim Splitted() As String = Line.Split("|")
    8. If Splitted.Length <> 3 Then Continue For
    9. Label1.Text = (Splitted(0))
    10. Label2.Text = (Splitted(1))
    11. Label3.Text = (Splitted(2))
    12. Label4.Text = (Splitted(3))
    13. Label5.Text = (Splitted(4))
    14. '... hier würde es jetzt bis 92 weiter gehen
    15. Next
    16. End Sub
    17. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    18. End Sub
    19. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    20. Try
    21. Dim aText As String
    22. Dim anf As String = """"
    23. aText = TextBox3.Text
    24. aText = Replace(aText, Label1.Text, ".")
    25. aText = Replace(aText, Label2.Text, " ")
    26. aText = Replace(aText, Label3.Text, ":")
    27. aText = Replace(aText, Label4.Text, ",")
    28. aText = Replace(aText, Label5.Text, ";")
    29. aText = Replace(aText, Label6.Text, "-")
    30. aText = Replace(aText, Label7.Text, "_")
    31. aText = Replace(aText, Label8.Text, "/")
    32. aText = Replace(aText, Label9.Text, "\")
    33. aText = Replace(aText, Label10.Text, "!")
    34. aText = Replace(aText, Label11.Text, anf)
    35. aText = Replace(aText, Label12.Text, "§")
    36. aText = Replace(aText, Label3.Text, "%")
    37. aText = Replace(aText, Label3.Text, "&")
    38. aText = Replace(aText, Label3.Text, "(")
    39. aText = Replace(aText, Label3.Text, ")")
    40. aText = Replace(aText, Label3.Text, "=")
    41. aText = Replace(aText, Label3.Text, "+")
    42. aText = Replace(aText, Label3.Text, "*")
    43. aText = Replace(aText, Label3.Text, "ß")
    44. aText = Replace(aText, Label3.Text, "?")
    45. aText = Replace(aText, Label3.Text, "^")
    46. aText = Replace(aText, Label3.Text, ">")
    47. aText = Replace(aText, Label3.Text, "<")
    48. aText = Replace(aText, Label3.Text, "1")
    49. aText = Replace(aText, Label3.Text, "2")
    50. aText = Replace(aText, Label3.Text, "3")
    51. aText = Replace(aText, Label3.Text, "4")
    52. aText = Replace(aText, Label3.Text, "5")
    53. aText = Replace(aText, Label3.Text, "6")
    54. aText = Replace(aText, Label3.Text, "7")
    55. aText = Replace(aText, Label3.Text, "8")
    56. aText = Replace(aText, Label3.Text, "9")
    57. aText = Replace(aText, Label3.Text, "0")
    58. '... hier würde es jetzt bis 92 weiter gehen
    59. TextBox2.Text = aText
    60. Catch ex As Exception
    61. MsgBox(Err.Description)
    62. End Try
    63. End Sub
    64. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    65. Try
    66. For ZahlenZuBuchstaben = 1 To 92 'das hier war mein versuch das ganze via Case zu machen. Mehr als Fehler hat es leider nicht gebracht.
    67. Next
    68. Catch ex As Exception
    69. End Try
    70. End Sub
    71. End Class


    Ich bin suuuuuuuuuuuuuper gespannt was ihr mir hierzu schreibt und freue mich schon wenn ich endlich weiter komme. Falls einer Interesse hat könnte man sich auch z.B. via Skype zu diesem Thema austauschen... PS: Ich weiß das es auch andere "fertige" Crypter Methoden für Text gibt, aber ich würde sehr gerne etwas eigenes machen :)

    Beste Grüße,

    Tim

    Verschoben. ~Trade

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

    Hi,

    schalte zunächst mal Option Strict auf On. Sowas könnte man evtl. mit einem Dictionary, einem Tokenizer und entsprechenden Parser lösen. Allerdings scheint mir schon der komplette Ansatz sehr fragwürdig.

    TimRi schrieb:

    Ich weiß das es auch andere "fertige" Crypter Methoden für Text gibt, aber ich würde sehr gerne etwas eigenes machen
    Keine gute Idee.



    Ergo: Wenn Du was mit Crypto basteln willst, dann nimm existente, bewährte und sichere Algorithmen dafür. ;) Für was brauchst Du die Verschlüsselung denn überhaupt?

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Ich schätze mal, du möchtest nur zu "übungszwecken" diesen Crypter programmieren um dich in VB.Net zu verbessern. Das dein hochkomplexer und nahezu unknackbarer Algorithmus eben dies nicht ist, weißt du sicher selbst ;)

    Schau dir mal das Dictionary an. Damit kann man das eleganter lösen als du es bisher gemacht hast.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Ich kann dir zu Übungszwecken diese Seiten nahelegen. Page1 - 3.
    Sie zeigen grob zum Thema Cryptography was so mit Vb.Net möglich sind, auch wenn sie nicht optimiert programmiert sind. Cryptography

    Ich hoffe es hilft.

    Freundliche Grüsse

    exc-jdbi

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „exc-jdbi“ ()