![]() |
D2010 - RTTI- Komplettes Reverse Engineering möglich?
Halli Hallo,
Ist es eigentlich mit den neuen RTTI-Funktionen auch möglich den Code von Methoden zu rekonstruieren? In .NET gibt es ja die Möglichkeit ein Programm, wenn es nicht "obfuscated" wurde, z.B. mit der Software "Reflector" komplett wieder herzustellen. Dabei lassen sich mittles "Reflector" auch fertig compillierte Programme öffnen und analysieren. Geht das mit der neuen RTTI jetzt auch? (zumindest an das Analysieren fon fertigen Exen kann ich bei Delphi nicht so recht glauben...) Leider habe ich (noch) kein D2010 und meine Trial ist bereits abgelaufen, kann also selbst nicht testen was da alles möglich ist. Ciao, Ralf |
Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?
Es wäre mir neue wenn der D2010-Compiler in eine IL (Intermediate Language) Kompiliert und diese dan per JIT zu laufzeit übersetzt.
Du bekommst den Code immer noch nur als Assemble per Reverse Enginieering zu gesicht. |
Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?
Ich würde aber zumindestens erwarten, daß wenn man mit diesen neuen Infos Reverse Engineering betreibt, daß dan zumindestens etwas noch brauchbarere Ergebnisse entstehen.
Klar, aktuell macht es ja ja probleme den Codeoptimierten Inhalt (Quellcodes) der Prozeduren aus dem ASM zu rekonstruieren, Aber es gibt doch jetzt viel mehr Debuginformationen und auch auch der Aufbau von Typen/Klasen ist viel detailierter, daß sich zumindestens an einigen inzwischen wohl zumindestens genauer sagen läßt was ein welcher Stelle liegt. |
Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?
Das ist auch gut so!
Der Investitionsschutz ist gerade das Argument für die Anschaffung und das Arbeiten mit Delphi. Wenn Sie den Exe-Analysator gleich mitliefern, dann kaufe ich jedenfalls kein Delphi mehr . . . Grüße in die Runde // Martin |
Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?
Dann fallen aber alle Sparchen flasch, welche RTTI unterstützen ( .Net/Java dann sowieso)
|
Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?
Zitat:
Aber wäre es denn im Prinzip möglich aus einer fertigen Exe zumindest Klassennamen, Methodennamen oder Proertynamen (also nicht den Code) auszulesen? In einem solchen Fall sollte man seine Auswertung für Lizenzinformationen eventuell nicht unbedingt "DecodeRegistrationNumber()" nennen. :wink: |
Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?
Zitat:
|
Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?
Zitat:
Gut, bei einer Webanwendung hat man sowieso ein Sicherheitsproblem auf dem Server wenn jemand an die Assemblies drankommt, dann ist das dekodieren nur ein Folgeproblem. Aber bei Desktop-Apps... (dafür gibt es dann die Obfuskatoren) |
Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?
Für ein Release hat man auf jeden Fall die Möglichkeit, mittels der folgenden Direkive die Generierung der RTTI-Informationen abzuschalten:
Delphi-Quellcode:
weitere Infos hierzu:
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
![]() |
Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?
Zitat:
Oder werden da doch nur die neuen Funktionen deaktivert und die "alten" Listen existieren noch? Die ganze VCL baut doch darauf auf, daß man da einiges auslesen kann (für die Serialisierung/Speicherung unc Co.) Ich hoffe es jetzt aber mal so verstanden zu haben, daß nur das Neue dann weg ist. :stupid: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:30 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