Eigentlich wäre es besser, wenn ihr das Programm neu erstellt.
Wie/warum konnte da jemand eigentlich einfach so alle Quellen zerstören?
(keine Backups
)
Es ist eigentlich nicht
möglich vorgesehn, Komponenten von extern auszulesen.
und ja, eigentlich gibt es da so Wege, aber die sind kein Zuckerschlecken, da man die
RTTI manuell auslesen und die Komponenten/Property/Speicherzuriffe ebenfalls alle manuell zurückverfolgen muß (also alles, was einem die ganzen
VCL-Klassen sonst abnehmen).
Auch ist HInstance noch hardgecodet, was natürlich bei allen "verschobenen" Programmen zwangläufig darin enden muß, daß dort nichts gefunden wird.
Was mich aber grade sehr überrascht hat ist, daß Skype (für Windows) wohl doch immernoch in Delphi geschrieben ist.
Code:
$0340F180 TLoginForm:LoginForm
$0693A490 TLoginControl:{NoName}
$06943890 TAccessibleComboBox:{NoName}
$0694B460 TAccessibleEdit:{NoName}
$06B6A630 TZapMainForm:ZapMainForm
$034DF180 THomeForm:{NoName}
$06B7A490 TCanvasNavigationPanel:{NoName}
$06B7B250 THomeBackground:{NoName}
$06B8B460 TWebAppBrowser:{NoName}
$06B7B5C0 TWebAppErrorPanel:{NoName}
$06B8B740 TButton:{NoName}
$034DF600 TWebBrowserEx:{NoName}
$06B58200 TPanelButtons:PanelButtons
$06B79360 TZapCommunicator:
Com
$06B796D0 TMyselfControl:{NoName}
$06B5F5C0 TConversationsControl:{NoName}
$06B8ABC0 TAccessibleEdit:{NoName}
$06B8AEA0 TScrollBar:{NoName}
$06B79A40 TEmptyCanvas:{NoName}
$06B79DB0 TSkypeSplitter:{NoName}
$06B5F980 TDCEmbedBanner:{NoName}
$06B5FD40 TChromeMenu:ChromeToolbar
$06B83890 TToolButton:{NoName}
$06B83A70 TToolButton:{NoName}
$06B83C50 TToolButton:{NoName}
$06B83E30 TToolButton:{NoName}
$06B84010 TToolButton:{NoName}
$06B841F0 TToolButton:{NoName}
$06B843D0 TToolButton:{NoName}
$06B845B0 TToolButton:{NoName}
$06B84790 TToolButton:{NoName}
{Fehler}
Das Programm ist in D2010 geschrieben und nutzt die 2010er-
RTTI, also mit anderen Delphi-Version könnte es Probleme geben, vorallem mit TControl.Name, da dieses natürlich als
Unicode ausgelesen wird.
Außerdem kann es auch zu unstimmigkeiten kommen, da ja die Fremd-Objetke mit der eigenen
RTTI interpretiert werden, anstatt mit der Fremden (läßt sich bestimmt auch noch irgendwie lösen).
TControl.ClassName hat Emba allerdings halbwegs abwärtskompatibel gelassen, bzw. sie haben es sich leicht gemacht und die
RTTI eigentlich in
ANSI (UTF-8) belassen.
Für D2010\XE\XE2 könnte man sowas also vermutlich relativ "leicht" ausbauen, aber darunter wird es echt frickelig.