AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi D2010 - RTTI- Komplettes Reverse Engineering möglich?
Thema durchsuchen
Ansicht
Themen-Optionen

D2010 - RTTI- Komplettes Reverse Engineering möglich?

Ein Thema von Ralf Kaiser · begonnen am 9. Okt 2009 · letzter Beitrag vom 9. Okt 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#1

D2010 - RTTI- Komplettes Reverse Engineering möglich?

  Alt 9. Okt 2009, 09:44
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
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?

  Alt 9. Okt 2009, 09:50
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?

  Alt 9. Okt 2009, 09:59
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#4

Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?

  Alt 9. Okt 2009, 10:00
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
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?

  Alt 9. Okt 2009, 10:03
Dann fallen aber alle Sparchen flasch, welche RTTI unterstützen ( .Net/Java dann sowieso)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?

  Alt 9. Okt 2009, 10:03
Zitat von Bernhard Geyer:
Es wäre mir neue wenn der D2010-Compiler in eine IL (Intermediate Language) Kompiliert und diese dan per JIT zu laufzeit übersetzt.
Darum hatte ich ja auch geschrieben, dass ich nicht glauben kann, dass man das selbe wie mit Reflector unter .NET bei Delphi erreichen kann...

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.
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?

  Alt 9. Okt 2009, 10:03
Zitat von mschaefer:
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 . . .
Falls noch mehr möglich ist wird ein Delphi.Win32 Obuscator nötig ...
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?

  Alt 9. Okt 2009, 10:11
Zitat von mkinzler:
Dann fallen aber alle Sparchen flasch, welche RTTI unterstützen ( .Net/Java dann sowieso)
Bei .NET fand ich das schon ziemlich erschreckend (mit Java hab ich es nie ausprobiert). Da habe ich mal (nur als Test) aus den fertigen Assemblies unserer Webanwendung den Quelltext komplett wieder hergestellt. Mit Reflctor kann man dabei sogar die Programmiersprache wählen die als Ausgabe dienen soll.

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)
Ralf Kaiser
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?

  Alt 9. Okt 2009, 10:13
Für ein Release hat man auf jeden Fall die Möglichkeit, mittels der folgenden Direkive die Generierung der RTTI-Informationen abzuschalten:
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} weitere Infos hierzu:
http://docwiki.embarcadero.com/RADSt...ctive_(Delphi)
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: D2010 - RTTI- Komplettes Reverse Engineering möglich?

  Alt 9. Okt 2009, 10:35
Zitat von Daniel:
Für ein Release hat man auf jeden Fall die Möglichkeit, mittels der folgenden Direkive die Generierung der RTTI-Informationen abzuschalten:
Man kann auch die vcPublished abschalten.

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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz