AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Disassembler gibt's die noch

Ein Thema von p80286 · begonnen am 14. Dez 2015 · letzter Beitrag vom 16. Dez 2015
Antwort Antwort
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

AW: Disassembler gibt's die noch

  Alt 14. Dez 2015, 22:50
Ist halt die Frage, was du genau machen willst.

Für professionelle Anwendung kommt wohl ausschließlich IDA in Frage. Dafür gibt es optional von HexRays auch noch einen Decompiler, der das Assembly in C Code übersetzt. Ist aber recht teuer der Spaß.

Um mal eben reinzuschnuppern reichen OllyDbg oder x64dbg voll und ganz aus. Decompiler kenne ich dafür allerdings nicht. Kommt dann auf den Compiler deines Targets an, ob sehr viel gebrauch von neueren (spezial-)Instructions gemacht wird, oder nicht.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.519 Beiträge
 
Delphi 12 Athens
 
#2

AW: Disassembler gibt's die noch

  Alt 15. Dez 2015, 08:54
Bedenke auch, daß frühe reine EXE nur 100 KB hatte und jetzt eine Delphi-EXE mit nur einer TForm mit TButton und dem EventCode Beep; schon gefühlte 80 MB sind ... da muß du gleich mal viel, viel, sehr viel mehr Assemblercode überblicken, bevor du den Beep überhaupt findest.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Disassembler gibt's die noch

  Alt 15. Dez 2015, 10:26
Ist halt die Frage, was du genau machen willst.
Gute Frage, in den meisten Fällen schauen mit welchen Werten ein Programm arbeitet. Oder wie ein Zugriff realisiert wird, der "offizell" gar nicht geht. Aber das aus reiner Neugierde!

Bedenke auch, daß frühe reine EXE nur 100 KB hatte und jetzt eine Delphi-EXE mit nur einer TForm mit TButton und dem EventCode Beep; schon gefühlte 80 MB sind ... da muß du gleich mal viel, viel, sehr viel mehr Assemblercode überblicken, bevor du den Beep überhaupt findest.
Das ist, was mich abschreckt mein letzter (DISASM hieß er glaube ich) hat mir da eine enorme Menge an Arbeit abgenommen.

Früher reichte oft das parsen der (D)OS Interrupts und man wusste was passiert.
Auf der Stufe bin ich hängen geblieben.

Es gibt ja auch Dekompiler wie DeDe oder IDA, die aus Delphianwendungen gut kommentierten Assemblercode produzieren.
So richtig erschließt sich mir nicht der Unterschied zwischen Disassembler und Decompiler, aber auf den ersten Blick scheint IDA mir gut in den Kram zu passen.

Vielen Dank! mal schauen ob ich da noch durchsteige.

K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 (15. Dez 2015 um 10:29 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Disassembler gibt's die noch

  Alt 15. Dez 2015, 10:37
Ist halt die Frage, was du genau machen willst.
Gute Frage, in den meisten Fällen schauen mit welchen Werten ein Programm arbeitet. Oder wie ein Zugriff realisiert wird, der "offizell" gar nicht geht. Aber das aus reiner Neugierde!
Verstehe nicht so genau was du da erreichen willst. Kannst du mal ein Beispiel nennen?
Habe das Gefühl, dass das heute nicht mehr relevant ist.

So richtig erschließt sich mir nicht der Unterschied zwischen Disassembler und Decompiler, aber auf den ersten Blick scheint IDA mir gut in den Kram zu passen.
Disassembler: Maschinencode => Assemblercode
Decompiler: Maschinencode/Assemblercode => (Pseudo-)Hochsprache
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.047 Beiträge
 
Delphi 12 Athens
 
#5

AW: Disassembler gibt's die noch

  Alt 15. Dez 2015, 11:21
Wobei der Unterschied zwischen reinem Disassembler und Decompiler fließend ist.

DeDe kann zum Beispiel keine Hochsprachenquelltexte erzeugen, bereitet den Assemblerquelltext aber auf und extrahiert Events aus Formularen einzeln usw., so dass die Struktur wieder ähnlich der des ursprünglichen Delphiprogramms ist.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#6

AW: Disassembler gibt's die noch

  Alt 15. Dez 2015, 16:21
..."Habe das Gefühl, dass das heute nicht mehr relevant ist."...

Sowas ist heute wie früher oft nur relevant, wenn man Sachen wissen will, die man nicht für Geld kaufen kann.


Gute (böse) Beispiele sind Analysen für Programme, welche offline irgendwelche symetrische Verschlüsselungen benutzen. Der Key ist als irgendwo "im System/Programm"... da ist es oft nur eine Frage des Aufwandes an diesen heran zukommen.
Ansonsten können es auch Algos oder Funktionsaufrufe sein, welche einen Interessieren. Gerne benutzt, um in eigentlich revisionssicherer Software doch Eingaben oder Änderungen nachträglich durchzuführen, welche nicht im TransaktionsLog erscheinen oder dort wieder verschwinden.


Schnödes Kopierschutz umgehen sehe ich nicht als lohnendes Ziel, denn da kann man für Geld es ja kaufen und kommt eigentlich immer billiger wie bei Gegenrechnung der zu investierenden Zeit.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Disassembler gibt's die noch

  Alt 15. Dez 2015, 16:25
..."Habe das Gefühl, dass das heute nicht mehr relevant ist."...

Sowas ist heute wie früher oft nur relevat, wenn man Sachen wissen will, die man nicht für Geld kaufen kann.
Ich meinte damit auch nicht dass solche Programme generell nicht mehr relevant sind.
Ich hatte nur das Gefühl (oder so habe ich es verstanden), dass p80286 sich quasi Programmier-"Tipps"/Tricks aus dem Assemblercode anderer Programme holen will.
Und das lohnt heutzutage in meinen Augen nicht mehr. Wenn es um Reverse Engineering von Algorithmen, Cracking o.ä. geht dann geht es ohne solche Programme natürlich auch heute nicht.

Wegen der Sache mit dem Kopierschutz umgehen: Wenn der Hersteller des Programms sich nicht beide Beine rausgerissen hat für seinen Kopierschutz/Lizenzabfrage dann lohnt das für jmd mit etwas Erfahrung in diesem Bereich auf jeden Fall - Vorausgesetzt natürlich es geht nicht um ein 50€ Programm. Aber bei Software die mehrere hundert oder tausend Euro kostet ist man dann am Ende doch billiger dran wenn man die Software innerhalb von ein paar Tagen crackt. (Das soll jetzt keine Motivation und erst recht kein Aufruf sein so etwas zu tun!).
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (15. Dez 2015 um 16:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.047 Beiträge
 
Delphi 12 Athens
 
#8

AW: Disassembler gibt's die noch

  Alt 16. Dez 2015, 05:08
Wegen der Sache mit dem Kopierschutz umgehen: Wenn der Hersteller des Programms sich nicht beide Beine rausgerissen hat
Beispiel bei XE2... da reichte es an der richtigen Stelle zwei Bytes zu ändern, dann dachte Delphi es sei aktiviert, wenn man eine gültige Seriennummer eingegeben hatte...
Da hatte ich spaßeshalber mal etwas herumprobiert.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Disassembler gibt's die noch

  Alt 15. Dez 2015, 14:54
Ist halt die Frage, was du genau machen willst.
Gute Frage, in den meisten Fällen schauen mit welchen Werten ein Programm arbeitet. Oder wie ein Zugriff realisiert wird, der "offizell" gar nicht geht. Aber das aus reiner Neugierde!
Verstehe nicht so genau was du da erreichen willst. Kannst du mal ein Beispiel nennen?
Habe das Gefühl, dass das heute nicht mehr relevant ist.
Könnte sein. Letzt ist mir ein Programm über den Weg gelaufen, das die Komandozeilenparameter teilweise nur casesensitive bzw. gar nicht akzeptiert hat. Da dann "mal" nachzuschauen was er so treibt wäre schon ganz schön.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

AW: Disassembler gibt's die noch

  Alt 15. Dez 2015, 15:10
War das zufällig ein altes CAD-Programm?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 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