Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Funktion von Assembler Code herausfinden (https://www.delphipraxis.net/98681-funktion-von-assembler-code-herausfinden.html)

taktaky 30. Aug 2007 21:42


Funktion von Assembler Code herausfinden
 
Hallo,

das Programm besteht aus 3 Feldern
Feld1 = Text1.Edit (wo man den User eingibt)
Feld2 = Text2.Edit (wo man Schlüssel eingibt)
Feld3 = Memo1 (wo das Passwort angezeigt (generiert) wird)

Die Frage: Kann man von dem Code was verstehen um die Operation heraus zu finden?
Ich meine, was macht das Programm mit den Feldern 1 und 2, damit es das Ergebnis in Memo zeigt?

code


Wenn die Idee nicht schlecht und auch Sicher ist, dann kann man verwenden

Oder kann man überhaupt nichts finden :mrgreen:


Gruß

scrat1979 30. Aug 2007 21:50

Re: Funktion von Assembler Code herausfinden
 
Naja, also ich persönlich kann daraus gar nichts lesen - ich kann aber auch kein Assembler.

Bin mir aber absolut sicher, daß jeder, der Assembler kann, den Code innerhalb kürzester Zeit in Delphi umschreiben könnte - genau so einfach, wie ein C++-Quellcode in Delphi umzuschreiben. Mit Verschlüsseln hat das IMHO überhaupt rein gar nichts zu tun (also ich meine die Assembler-Geschichte an sich) :gruebel:

SCRaT

//EDIT: Bin mal gespannt, wie lange es dauert, bis Du deinen Assembler-Code hier als Delphi-Code liest :twisted:

taktaky 30. Aug 2007 21:57

Re: Funktion von Assembler Code herausfinden
 
Zitat:

Bin mir aber absolut sicher, daß jeder, der Assembler kann, den Code innerhalb kürzester Zeit in Delphi umschreiben
Hi, Du gibst mir damit viele Hoffnung :spin2:

Gruß

scrat1979 30. Aug 2007 22:00

Re: Funktion von Assembler Code herausfinden
 
Zitat:

Zitat von taktaky
Zitat:

Bin mir aber absolut sicher, daß jeder, der Assembler kann, den Code innerhalb kürzester Zeit in Delphi umschreiben
Hi, Du gibst mir damit viele Hoffnung :spin2:

Gruß

Ist ja nicht böse gemeint :-) Obwohl ich persönlich das nicht verstehen kann, aber es gibt doch viele Profis (mit sicherheit auch hier im Forum), die lesen einen ASM-Code wie Du und Ich einen Delphi-Quelltext :pale:

SCRaT

jfheins 30. Aug 2007 22:01

Re: Funktion von Assembler Code herausfinden
 
Zitat:

Zitat von scrat1979
Naja, also ich persönlich kann daraus gar nichts lesen - ich kann aber auch kein Assembler.

Bin mir aber absolut sicher, daß jeder, der Assembler kann, den Code innerhalb kürzester Zeit in Delphi umschreiben könnte - genau so einfach, wie ein C++-Quellcode in Delphi umzuschreiben. ...

Da wäre ihc mir allerdings nicht so sicher. Denn c(++) und delphi haben sehr weite gemeinsamkeiten, deshalb kann man die meisten Codesegmente mit verhältnismäßig wenig Aufwand umschreiben. Bei Assembler sieht das jedoch total anders aus. Ein if a <> b begin (Delphi) bzw. if(a != b) { (c++) wird zu sowas wie mov a eax;
mov b, ebx
xor eax, ebx
jnz <adresse>
<anweiungen>
- oder so ähnlich ... kann auch kein richtiges assembler

Auf jeden Fall sind hier die Anweisungen viel mehr "verwurschtelt" als zwischen Delphi und c++ ;)

Schon die ganzen Compiler-Optimierungen sind viel schlechter zu übersetzen, als es der beste obfuscator hinbekommen würde ... (verwurschtelt code in ner Hochsprache, z.B. Variablen a bis z etc.)

Also denke ich nicht, dass sich jemand findet, der diesen (ja nicht gerade trivialen) Abschnitt "mal kurz" in Delphi übersetzt (ohne benutzen von asm ... end; ^^) ohne dafür Geld zu nehmen ;)

taktaky 30. Aug 2007 22:09

Re: Funktion von Assembler Code herausfinden
 
Hallo

den Code in Delphi umschreiben meine ich nicht.
Meine Frage ist etwas leichter :mrgreen: . Ich möchte nur wissen, was das Programm macht?
z.B. was macht mit dem Text in Edit1 und Edit2? Ich möchte nur die Operation wissen

Gruß

scrat1979 30. Aug 2007 22:18

Re: Funktion von Assembler Code herausfinden
 
@jfheins:
Natürlich macht es einen großen Unterschied, ob man C -> Delphi oder ASM -> Delphi übersetzt - vor allem, wenn man die "Quellsprache" überhaupt nicht beherrscht. Trotzdem glaube ich, daß einige hier in der Lage sind (Geld hin oder her), den ASM-Code in eine Delphi-Funktion umzuschreiben, welche die gleiche Anweisungen enthält. Aber bestimmt wäre es grob fahrlässig, dem Threadersteller die Sicherheit des "ASM-Tricks" zu bestätigen, denn...

1. ... wenn man nur Otto-Normal-User vom Hacken der Funktion abhalten möchte, dann würde eine simple XOR-Verschlüsselung auch eine gewisse Sicherheit bieten. Schließlich muss man ja das Passwort nicht hardcoden.

2. ... ein Profi, der die Routine ernsthaft knacken möchte und ASM beherrscht, wird es mit Sicherheit auch ohne Probleme schaffen.

Das ist natürlich nur meine Meinung, aber es gibt hier im Forum auch Cracks, die mit Sicherheit Licht ins Dunkle bringen können!!

Grüsse,
SCRaT

:cheers:

scrat1979 30. Aug 2007 22:20

Re: Funktion von Assembler Code herausfinden
 
Zitat:

Zitat von taktaky
Hallo

den Code in Delphi umschreiben meine ich nicht.
Meine Frage ist etwas leichter :mrgreen: . Ich möchte nur wissen, was das Programm macht?
z.B. was macht mit dem Text in Edit1 und Edit2? Ich möchte nur die Operation wissen

Gruß

Klar, aber eine Hochsprache wie Delphi liest sich doch wesentlich einfacher. Es würde also für einen potentiellen Hacker durchaus Sinn machen, den ASM-Code in einen "lesbareren" Code zu übersetzen und dann die Funktionalität zu beschreiben...

Luckie 30. Aug 2007 22:27

Re: Funktion von Assembler Code herausfinden
 
Natürlich kann man sehen was der ASM Code macht. Für jemanden, der einigermassen ASM kann, dürfte das kein Problem sein.

hathor 30. Aug 2007 23:19

Re: Funktion von Assembler Code herausfinden
 
Ich kann nichts sinnvolles herauslesen - da hat einer versucht, ein EXE-File, das mit DELPHI compiliert worden ist, mit einem Dissembler wieder in Sourcecode zurückzuwandeln - aber der Dissembler scheiterte!

Luckie 30. Aug 2007 23:21

Re: Funktion von Assembler Code herausfinden
 
Nope, da wurde nichts versucht. Das ist einfach nur der disassemblierte Code - nicht mehr und nicht weniger.

Muetze1 31. Aug 2007 00:15

Re: Funktion von Assembler Code herausfinden
 
SNIP

Also die Bereichsprüfung hast du nicht an - das kann ich schonmal sagen.

Etc. Ein anderer kann weiter machen, ich geh ins Bett...

[edit=Phoenix]Code auf Wunsch von Muetze1 gelöscht. Mfg, Phoenix[/edit]

taktaky 31. Aug 2007 12:18

Re: Funktion von Assembler Code herausfinden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Muetze1,

du hast viel herausgefunden. Vielen Dank!
Ich habe das Form und Deinen Code zusammen gebaut in ein Delphi-Projekt
Ich habe auch einige Beispiele als .txt Datei als Bemerkung hinzugefügt. Die können uns weiterhelfen um die Variablen zu bestimmen.

Ich hoffe, dass du weiterhilfst bis wir die Funktionen gut verstehen.

Der Code sagt uns schon was, dass die Verschlüsselung eine XOR ist :wink:

Gruß

Muetze1 31. Aug 2007 12:46

Re: Funktion von Assembler Code herausfinden
 
Ist der Code denn überhaupt von dir? Ich hatte es schliesslich bisher so verstanden, aber da ich mich nicht strafbar machen will, möchte ich erstmal wissen ob das Einverständnis des Original Code-Schreibers vorliegt, bevor ich hier weiter Reverse Engineering betreibe.

taktaky 31. Aug 2007 17:19

Re: Funktion von Assembler Code herausfinden
 
Hallo
Google-Codes :gruebel: wenn es so wäre dann kann man was eine neue XOR-Verschlüsselung :coder:
Obwohl viele im Forum empfehlen nicht XOR zu verwenden, da es leicht zu knacken ist, aber für mich möchte ich gerne diese verstehen. Deswegen möchte ich den Code verstehen, was er mit den Feldern macht.


Gruß

Phoenix 31. Aug 2007 17:22

Re: Funktion von Assembler Code herausfinden
 
http://de.wikipedia.org/wiki/XOR

Nuclear-Ping 1. Sep 2007 13:26

Re: Funktion von Assembler Code herausfinden
 
[OT]
Naja, wie ich schon früher mal zu diesem Spezi "taktaky" anmerkte, sollte der mit Vorsicht zu genießen sein.

Den "Trick" mit dem disassemblierten Programm hat er auch schon in anderen Foren versucht, um sein Programm mit ein paar Funktionen aus anderen Programmen auszustatten. Und ich bezweifel hier ernsthaft, dass es sich um "Public Domain Ware" handelt oder er eine Genehmigung des Entwicklers dafür hat.

Ich mach drei Kreuze in den Kalender, wenn er endlich aufhört, programmieren lernen zu wollen. :pale:
[/OT]

Muetze1 1. Sep 2007 17:29

Re: Funktion von Assembler Code herausfinden
 
Auch wenn er den Code gepostet habe und ich ihn nur in eine andere Sprache transformiere, mache ich nicht weiter. Bisher hat er keine weiteren Dinge dazu beigetragen um zu zeigen, dass der Author des Codes dieser Verwendung hier (Reverse Engineering) zugestimmt hat.

Olli 1. Sep 2007 18:15

Re: Funktion von Assembler Code herausfinden
 
Also meine Übersetzung mal hier:

... ja, ich bekomme eine leere Datei zurückgeliefert.

BTW: Warum kommt die Frage nach der Legitimität so spät auf? :stupid:

Muetze1 1. Sep 2007 18:19

Re: Funktion von Assembler Code herausfinden
 
Zitat:

Zitat von Olli
BTW: Warum kommt die Frage nach der Legitimität so spät auf? :stupid:

Sorry, aber mein erster Ansatz war leider in einem recht stark ermüdetem Zustand gewesen...

taktaky 1. Sep 2007 21:54

Re: Funktion von Assembler Code herausfinden
 
Hallo

das ist aber kein Program (nach meiner Meinung). Es besteht aus 2 Felder und ein Button :mrgreen:

2. Wenn Du trotzdem nicht sicher bist, dann suchst bitte in Code ob irgendwas von Copyright steht, ich kann leider diese Sprache (Assembler) nicht verstehen.

auch wenn du das komplette Projekt findest, dann steht auch nicht unbedingt ob der free oder nicht

hier z.B. ein Project (Demo) mit Delphi wo auf der Webseite free steht aber in Programm finde ich nichts !!!
http://www.scalabium.com/download/keygen.zip

Quelle


Leider nicht mit XOR Verschlusselung



Gruß

DeddyH 1. Sep 2007 22:01

Re: Funktion von Assembler Code herausfinden
 
Wäre es nicht angebrachter, zuerst einmal die Grundlagen zu lernen und umzusetzen, anstatt hier disassemblierte Routinen "verstehen" zu wollen? Man baut ja auch keinen Sportwagen, bevor man nicht eine Seifenkiste hinbekommen hat.

Olli 1. Sep 2007 22:35

Re: Funktion von Assembler Code herausfinden
 
Zitat:

Zitat von DeddyH
Wäre es nicht angebrachter, zuerst einmal die Grundlagen zu lernen und umzusetzen, anstatt hier disassemblierte Routinen "verstehen" zu wollen? Man baut ja auch keinen Sportwagen, bevor man nicht eine Seifenkiste hinbekommen hat.

Na gut, das möchte ich bezweifeln, aber die bildhafte Sprache sollte ja dennoch verständlich sein.

Schön dich mal wieder "anzutreffen"! :-D

@taktaky: Das putzige bei binärem Code ist ja gerade, daß bspw. auch garkein Text dabeisein muß. Was, wenn der Code so geschrieben ist, daß alles andere in Textdateien ausgelagert ist! Daher würde ich dir auch mal empfehlen genau das zu machen was dir Deddy ans Herz gelegt hat. Es ist, zugegebenermaßen, ein langer Weg bis zum formidablen Reverse Engineer und die neue Gesetzgebung in Dtl. macht es nicht viel leichter, aber immerhin wartet am Ende dieses langen und teils harten Weges eine Menge an Berufschancen auf dich :zwinker:
Übrigens, ich weiß nicht wieviele Reverser wir im Forum haben, ich weiß aber, daß es mindestens drei im Forum gibt und einer sich vor kurzem aus dem Forum abgemeldet hat. In jedem Fall nehme ich mal an, daß diese Leute genug Erfahrung haben, um die Absichten zu hinterfragen.

DeddyH 1. Sep 2007 22:43

Re: Funktion von Assembler Code herausfinden
 
[Sehr OT] Hi Olli, ich war auch überrascht, Dich hier zu sehen und dann zu erfahren, dass Du unsere "schöne Heimat" verlassen hast. Was um alles in der Welt hat Dich denn nach Island verschlagen? Muss ja ein super Job sein ;) [/Sehr OT]

Luckie 1. Sep 2007 22:45

Re: Funktion von Assembler Code herausfinden
 
Zitat:

Zitat von taktaky
auch wenn du das komplette Projekt findest, dann steht auch nicht unbedingt ob der free oder nicht

Nur mal so nebenbei bemerkt, ein Copyright Hinweis wird wohl kaum in jeder zwieten Assemblerzeile hardcodiert sen, sondern als Kommentar im Quellcode stehen und / oder in einer beiliegenden Lizenzdatei.

Nuclear-Ping 1. Sep 2007 22:57

Re: Funktion von Assembler Code herausfinden
 
Zitat:

Zitat von taktaky
2. Wenn Du trotzdem nicht sicher bist, dann suchst bitte in Code ob irgendwas von Copyright steht, ich kann leider diese Sprache (Assembler) nicht verstehen.

auch wenn du das komplette Projekt findest, dann steht auch nicht unbedingt ob der free oder nicht

1.) Du willst die Sprache(n) nicht verstehen. Wenn du's wölltest, würdest du hier nicht solche Fragen stellen sondern von allein merken, dass das 'ne Nummer zu hoch für dich ist und woanders (am besten von unten) anfangen.

2.) Schon allein der gesunde Menschenverstand sollte einem so ein Gefühl von "fragwürdigkeit" vermitteln, wenn man ein fremdes Programm mit einem Disassembler einem Reverse Engineering unterzieht, selbst wenn es nur einen oder garkeinen Button hat. Würde der Author damit einverstanden sein, hätte er wahrscheinlich den Quellcode mit zum Programm gepackt und das irgendwo explizit erwähnt.

Olli 1. Sep 2007 22:57

Re: Funktion von Assembler Code herausfinden
 
[Jetzt aber richtig OT]
Zitat:

Zitat von DeddyH
[Sehr OT] Hi Olli, ich war auch überrascht, Dich hier zu sehen und dann zu erfahren, dass Du unsere "schöne Heimat" verlassen hast. Was um alles in der Welt hat Dich denn nach Island verschlagen? Muss ja ein super Job sein ;) [/Sehr OT]

Jupp, ist ein Job der mir sehr gefällt (bislang). Nach einem Jahr will das noch nicht viel heißen ... oder doch? :mrgreen:
Nee, aber es war schon immer mein Traum irgendwann bei einer AV-Firma anzufangen und jetzt bin ich drin. Und im Moment habe ich auch genügend Arbeit an den Projekten bei denen ich dran bin. Da kann ich mir also meine Sporen verdienen ;)[/Jetzt aber richtig OT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz