Codeer DLL + Programma

Status
Niet open voor verdere reacties.

MartinJM

Terugkerende gebruiker
Lid geworden
9 nov 2008
Berichten
1.144
Hallo iedereen,

Ik heb afgelopen tijd een codeer/decodeer programma gemaakt. Daarna heb ik er een DLL van gemaakt, en daarmee dan weer een programma om te kunnen coderen en decoderen.

Nu wil ik vragen of het bij jullie ook goed werkt en of er misschien mensen zijn die nog tips hebben voor het beter beveiligen van mijn code. Die heb ik nu beveiligd met Eazfuscator.



Dan over de DLL: Iedereen mag hem wat mij betreft gebruiken. Let er wel op dat je niet te lange tekenreeksen moet coderen, want dan crasht het. Als je lange tekenreeksen wil coderen, dan moet je ze in delen coderen en dat kan je dan daarna aan elkaar plakken. Decoderen gaat sneller en beter, dus dat kan in zijn geheel.
Het decoderen gaat soms namelijk fout nadat de gecodeerde tekenreeks in een textbox is geplaatst. Daarom moet er gecontroleerd worden of het gecodeerde wel klopt. Weet iemand misschien een oorzaak hiervan?

Als je problemen hebt met het gebruiken van de DLL, dan kan je die hier posten.
Het is gemaakt in Visual Basic 2008 Express Editie.


Download: *Zie hier voor update: http://www.helpmij.nl/forum/showthread.php/693385-Codeer-DLL-Programma#post_4470099*


Ik hoop dat jullie hier iets aan hebben.

MartinJM



PS: Ik heb de codeer-methode met iemand anders bedacht, maar ik weet niet of andere mensen ook al op hetzelfde idee zijn gekomen. Ik en die andere zijn op de hoogte van hoe deze codeer-methode werkt. Verder hebben we er niemand iets over verteld.
 
Laatst bewerkt:
Niets aan toe te voegen ;)

Als ik 'm decompileer met .NET Reflector 6 krijg ik de volgende code:

[CPP]Public Class Class1
'' Methods
Public Sub New()
Me. = Me..Size
End Sub

Public Function Decrypt(ByVal input As String) As String
Me. = New
Me.. = input
Me.. = Me.
Return Conversions.ToString(Me..)
End Function

Public Function Encrypt(ByVal input As String) As String
Me. = New
Me.. = input
Me.. = Me.
Return Conversions.ToString(Me..)
End Function


'' Fields
Private As Boolean = True
Private As = New
Private As Size
End Class[/CPP]

Lijkt me dus goed beveiligd.
 
Ik weet niet of je mijn vorige vraag nog kan herrineren, maar die had te maken met dit programma. In de form staat de code om te coderen/decoderen. Ik begreep dus dat je dat form ook niet kon zien in .net reflector?
Ik had het zelf ook al bekeken met ILSpy, en daarin kon dat ook niet...

Werkte de DLL ook goed? Heb je misschien ook nog tips voor eigenschappen?

Bedankt, MartinJM
 
Eigenlijk geen tips voor nieuwe eigenschappen. ;)
Gewoon lekker simpel houden ;)
 
Laatst bewerkt:
Wat ik graag wil zien is een optie om de geencrypteerde string in hex in te voeren en in hex uit te lezen. Want sommige zijn gewoon niet zo handig om te lezen.
 
Hoi!

Hartelijk bedankt voor de tip! Ik dacht, dat doe ik wel even, maar dat lukt toch niet zo makkelijk....

Het zal dus nog wel even duren voordat het erin is ingebouwd, want ik liep tegen een paar problemen aan...


Dankjewel!
MartinJM
 
Hallo,

Versie 1.3 is uit!

Er is bijna niks veranderd, maar wel een beetje:
* In de DLL is er support gekomen voor hex, maar nog niet zoals het uiteindelijk moet gaan worden. De DLL heeft nu namelijk een mogelijkheid om een string naar hex over te zetten en andersom.
* In het programmaatje is er nu ook support voor hex.

De .zip is nog altijd te vinden op: *Zie hier voor update: http://www.helpmij.nl/forum/showthread.php/693385-Codeer-DLL-Programma#post_4470099*


Het is nog de bedoeling om hex support beter in te bouwen, maar op de een of andere manier lukt dat maar steeds niet... Ook waar de fout precies zit is nog (steeds) niet bekend.

MartinJM


*EDIT*
Er zit in deze update een klein beetje code in die overbodig is bij deze update, maar dat is als voorbereiding op een betere support voor hex.
Er zit nog 1 klein foutje in: De label is (soms) gedeeltelijk onzichtbaar door verkeerde uitlijning van de checkboxen en het ontstane gebrek aan ruimte. In de volgende update zal dit verbeterd worden.

Er is nog 1 dingetje om rekening mee te houden: De namen die in de oude DLL gebruikt werden zijn gedeeltelijk veranderd.
 
Laatst bewerkt:
Encryptie algoritmen zijn alleen maar nuttig als de bescherming van de gecodeerde tekst fundeert op de key en niet om het onderliggende algoritme.
 
Hallo,

Ik ben eraan begonnen om ook nog een versie te maken waarin een password functie zit. Hierin blijft het dan ook nog mogelijk om geen password in te vullen. De basis blijft hetzelfde.

Ook denk ik dat ik erachter ben waar de fout zat in de vorige versies: Ik denk dat textboxen bepaalde tekens niet ondersteunen. Daarom zal de nieuwe update gebaseerd zijn op richtextboxen. Let daarbij wel op dat je de nieuwe update dan niet gebruikt met textboxen. Deze zullen niet meer ondersteund zijn en er zal dan ook de mogelijkheid ontstaan op fouten bij gebruik van textboxen. Hierdoor gaat dan wel weer de snelheid omhoog.

Ook zal ik weer opnieuw proberen hex in te brengen in de nieuwe update.


Dank voor de reacties en de tips.:thumb:

MartinJM
 
Je kan beter de form die opent tijdens het encoderen/decoderen helemaal weghalen. Verhoogt de snelheid van je algoritme met ongeveer 1000x.
 
Dat was helaas niet mogelijk... Die form zat er met een reden. Als ik die form niet had gebruikt, dan zou de kans op een verkeerde output vele malen groter worden. Maar nu heb ik dus het vermoeden dat dat kwam doordat textboxen niet alle tekens ondersteunen...

Omdat textboxen in de nieuwe update niet meer gesupport worden, zal de form waarschijnlijk niet in deze hoedanigheid terugkeren. Het zou kunnen dat het erin blijft als ik ontdek dat het ook fout kan gaan met richtextboxen.


MartinJM
 
Hallo iedereen,

Sorry dat ik zo lang niet van me heb laten horen. Ik ben nu nog hard bezig met het maken van een nieuwe versie. Hierin zal het ook mogelijk zijn om een wachtwoord in te voeren. Helaas loop ik hierbij tegen een paar problemen aan. Ook zal het waarschijnlijk zo zijn dat de 'popup' weer terugkeert, maar ik ben nu ook bezig om de codeer-tijd korter te maken.

Helaas betekent dit dat het nog even zou kunnen duren voordat de nieuwe versie af is. Ook is het waarschijnlijk weer niet zo dat de Hex-mogelijkheid goed ingebouwd zal zijn, omdat het ook daar nog verkeerd gaat. Ik ben er hard aan bezig, maar het wil gewoon niet allemaal lukken... :(

Ik wil dit programma natuurlijk ook nog niet uitbrengen als er nog fouten in zitten. Dan zou het kunnen dat de tekst die je codeert niet meer terug te halen is. Iets wat ik graag wil voorkomen. Vandaar ook de popup.


MartinJM


*EDIT*

Ik ben nu toch al weer een stuk verder gekomen: De popup komt minder lang omhoog (wel vaker) en het encrypten gaat nu ook sneller. Ook ben ik er nu achter waar het ongeveer fout gaat. Daardoor kan ik nu (eindelijk) efficiënter zoeken.
 
Laatst bewerkt:
Hallo,

Hier is het dan eindelijk! De nieuwe versie!

Wat er nieuw is:
  • Password is mogelijk. Hoeft niet.
  • Het encrypten gaat nu sneller. Hierdoor heb je vaker een 'popup' maar gaat het decrypten ook wat langzamer.


Uiteindelijk is het toch weer gemaakt met behulp van textboxen. In textboxen en Strings gaat het in ieder geval goed. Helaas is HEX nog niet helemaal gelukt, dus dat zal er weer hetzelfde in zitten als in de vorige versie. De update is nu op een andere plaats te downloaden: http://screen.t15.org/CodeerII/CodeerII.zip. De naam is ook een beetje veranderd.


MartinJM


*EDIT*
Net nog een fout gevonden: Als je in de .exe met hex codeert en daarna weer decodeert kan het fout gaan. Ik ben nu bezig met die bug er zo snel mogelijk uit te halen..
 
Laatst bewerkt:
Hallo,

Er is weer een nieuwe versie uit!

Veranderingen:
  • Hex support is eruit verdwenen. Dit lukte toch niet helemaal. Ik blijf het wel proberen totdat het lukt...
  • Maar: Er is nu wel een andere mogelijkheid als input/output. Deze mogelijkheid laat getallen zien in plaats van tekens. Hierdoor is het toch beter leesbaar.

Dan nog even uitleg over de DLL:
In de DLL zijn er nu 2 opties bij gekomen: De input_type en de output_type. Deze kunnen allebei maar 2 verschillende strings bevatten: "Numbers" of "String". Standaard zijn deze opties allebei "String".
Hier 2 voorbeelden van hoe je de DLL aan kan roepen:
VB.NET:
Code:
    Private Function Codeer(ByVal input As String, Optional ByVal pass As String = "")
        Dim crypter As New CodeerII_DLL.Crypter

        crypter.Input_Type = "String"
        crypter.Output_Type = "String"

        Return crypter.Encrypt(input, pass)
    End Function

    Private Function Decodeer(ByVal input As String, Optional ByVal pass As String = "")
        Dim crypter As New CodeerII_DLL.Crypter

        crypter.Input_Type = "String"
        crypter.Output_Type = "String"

        Return crypter.Decrypt(input, pass)
    End Function

C#:
Code:
        private string Codeer(string input, string pass)
        {
            CodeerII_DLL.Crypter Crypter = new CodeerII_DLL.Crypter();

            Crypter.Input_Type = "String";
            Crypter.Output_Type = "String";

            return Crypter.Encrypt(input, pass);
        }

        private string Decodeer(string input, string pass)
        {
            CodeerII_DLL.Crypter Crypter = new CodeerII_DLL.Crypter();

            Crypter.Input_Type = "String";
            Crypter.Output_Type = "String";

            return Crypter.Decrypt(input, pass);
        }

De download is nog op dezelfde plek te vinden: http://screen.t15.org/CodeerII/CodeerII.zip

MartinJM


PS: In de exe staat nog "hex" bij de checkboxen, maar dat moet dus eigenlijk "numbers" zijn... Als je die aanvinkt, zal er geen hex uit komen.

*EDIT*
Toch nog een (klein) foutje ontdekt bij "Numbers": Als de input te groot is (2x gebeurt bij +- 2000-ste teken) dan werkt het decoderen niet....
 
Laatst bewerkt:
Hallo iedereen,

Er is weer een update uit! Het enige verschil is dat de layout nu is aangepast en dat de 'numbers' nu gescheiden worden door een '*' waardoor de lengte groter kan zijn.

Ook ben ik er nu achter waardoor er een maximum is aan het aantal tekens: Het klembord heeft een maximum grootte. Op een gegeven moment ga je daar overheen en dan zal het niet naar behoren werken omdat je dan aan het eind een deel mist. Ik ben bezig met een oplossing, maar suggesties zijn natuurlijk altijd welkom!

De download is nog altijd op dezelfde plek te vinden: http://screen.t15.org/CodeerII/CodeerII.zip

Nog steeds wil de HEX niet lukken, maar ik ben nu aan het kijken of dat misschien dezelfde oorzaak heeft...


MartinJM
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan