Beiträge: 168
Themen: 15
Registriert seit: 12.05.2007
0 Hallo in die Runde,
ich habe hier eine etwas exotische Frage, könnte mir aber vorstellen, dass hier jemand Rat weiß :-)
Es liegt mir eine 16 Bit Windows Anwendung vor (Windows 3.1 oder 95), die eine RichText-Komponente hat. Das ganze wurde mit Delphi entwickelt. Aus dieser RichText-Komponente würde ich gerne den vollständigen Text extrahieren. Die Zwischenablage ist aber irgendwie auf x-Zeichen begrenzt, was die Extraktion unendlich machen würde. Es muss also einen anderen Weg geben.
Ich bekomme die Anwendung entweder unter Linux mit Wine oder in einer Dosbox oder VirtualBox mit Windows 3.1 ans Laufen.
1. Versuch: Mit Wine und winedbg das entsprechende Fenster abgrasen. Hier scheitere ich aber daran, die Wine-Prozess-ID zu bekommen. Die PID von Linux gibt es natürlich, aber die hilft ja nicht weiter.
2. Ich hatte versucht das ganze durch einen Deassembler zu jagen, aber das funktioniert erst ab Delphi 2 und 32 Bit. Jedenfalls, was ich gefunden habe.
Irgendwie glaube ich kaum, dass ich der erste bin, der aus einer fremden Anwendung etwas kopieren möchte. Aber irgendwie finde ich keine Lösung.
Weiß jemand Rat?
LG und vielen Dank vom elch
Beiträge: 6.833
Themen: 127
Registriert seit: 18.02.2006
0 Ich hatte mal exeScope verwendet, um Resourcen aus einer Executable zu entpacken. Da steht dran, dass es auch 16-bit unterstützt.
Beiträge: 168
Themen: 15
Registriert seit: 12.05.2007
0 (29.11.2022, 05:36)tomwatayan schrieb: Ich hatte mal exeScope verwendet, um Resourcen aus einer Executable zu entpacken. Da steht dran, dass es auch 16-bit unterstützt. Vielen Dank! Die Software kann aber nur statische Inhalte extrahieren, oder? Die Inhalte werden leider zur Laufzeit geladen...
Beiträge: 6.833
Themen: 127
Registriert seit: 18.02.2006
0 Ja, das stimmt. Als du RichText-Komponente sagtest, dachte ich, dass da einfach ein RTF-Dokument hinterlegt ist. Wenn der RichText zur Laufzeit generiert wird, geht das leider nicht damit.
Beiträge: 2.620
Themen: 88
Registriert seit: 09.02.2009
29.11.2022, 21:28
(Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2022, 21:46 von Mustrum.)
0 (28.11.2022, 21:24)tuetenelch schrieb: ich habe hier eine etwas exotische Frage, könnte mir aber vorstellen, dass hier jemand Rat weiß :-)
Ich bekomme die Anwendung entweder unter Linux mit Wine oder in einer Dosbox oder VirtualBox mit Windows 3.1 ans Laufen.
1. Versuch: Mit Wine und winedbg das entsprechende Fenster abgrasen. Hier scheitere ich aber daran, die Wine-Prozess-ID zu bekommen. Die PID von Linux gibt es natürlich, aber die hilft ja nicht weiter.
Weiß jemand Rat? Wegen der Prozess-ID, versuche mal folgendes:
Starte unter Wine das Programm, dann gebe in ein Terminal folgendes ein (bin mir aber nicht sicher ob diese PID brauchbar ist):
Code: winedbg --command "info proc"
Bei mir sieht es so aus, wenn ich Total Commander (aus Nostalgiegründen) läuft:
Code: $ winedbg --command "info proc"
pid threads executable (all id:s are in hex)
00000164 1 'start.exe'
0000016c 1 \_ 'conhost.exe'
00000080 3 'explorer.exe'
00000038 8 'services.exe'
000000e4 6 \_ 'rpcss.exe'
000000ac 3 \_ 'svchost.exe'
00000094 6 \_ 'plugplay.exe'
00000068 6 \_ 'winedevice.exe'
00000044 6 \_ 'winedevice.exe'
00000020 11 'TOTALCMD.EXE'
Allerdings wird mir direkt unter Linux mit ps -e auch deren Linux-PID angezeigt:
Code: 1984261 ? 00:00:01 TOTALCMD.EXE
etwas übersichtlicher geht es mit pgrep TOTALCMD.EXE
Code: $ pgrep TOTALCMD.EXE
1984261
Edit: Bezüglich 16-bit & Disassembler, teste mal den IDA Disassembler, die Firma Hex-Rays hat auf Anfrage des ScummVM-Teams die Version 5 als Freeware zur Verfügung gestellt und wird bei ScummVM gehostet.
https://www.scummvm.org/news/20180331/.
Beiträge: 168
Themen: 15
Registriert seit: 12.05.2007
0 Danke für eure Antworten! Wahrscheinlich sehr blöde Frage, aber wo bei der Ausgabe von
Code: winedbg --command "info proc"
taucht denn
auf?
Die Ausgabe sieht bei mir nämlich immer identisch aus, unabhängig davon, wie viele wine-Prozesse laufen.
Beiträge: 2.620
Themen: 88
Registriert seit: 09.02.2009
30.11.2022, 19:59
(Dieser Beitrag wurde zuletzt bearbeitet: 30.11.2022, 20:02 von Mustrum.)
0 Wo TOTALCMD.EXE auftaucht? Im Terminal, so wie in mein Beispielpost oberhalb (musst in der Codebox etwas runterscrollen). Ansonsten hier ein Bildchen davon, diesmal zusätzlich mit Winrar – mehr Windowsprogramme habe ich auf meinen Linuxrechner nicht.
Beiträge: 168
Themen: 15
Registriert seit: 12.05.2007
0 Das ist irgendwie komisch. Was mache ich falsch? Ich starte in einem Terminal mit wine die Anwendung. In einem anderen dann folgendes:
Code: $ winedbg --command "info proc"
pid threads executable (all id:s are in hex)
00000037 6 'winevdm.exe'
0000002d 4 'explorer.exe'
0000000e 6 'services.exe'
0000001e 4 \_ 'winedevice.exe'
00000019 3 \_ 'plugplay.exe'
00000011 4 \_ 'winedevice.exe'
Hier taucht genau diese Anwendung nicht auf, ich habe auch schon den wine-Prozess in den Hintergrund geschoben und im selben Terminal den Befehl abgeschickt - genau das selbe Resultat.
Beiträge: 2.620
Themen: 88
Registriert seit: 09.02.2009
|