![]() |
Anzeige:
|
|
|||||||
| XProfan Alles rund um die Programmiersprache XProfan. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
Natürlich ist mir $Profver bekannt,
für einen bestimmten Zweck müsste ich aber aus dem fertig erstellten Programm die XProfan-Version auslesen. Also das erstellte Programm nennt sich als Beispiel jetzt nach Compilieren und Linken TEST.EXE Wie kann ich jetzt aus dieser EXE-Datei die XProfan-Version raus lesen ?
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
|
#2 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
|
Hallo Horst,
nur rasch einige Ideen auf die Schnelle (ich bin noch in der Firma): - Bei neueren Versionen kannst Du die Versionressource auslesen. Diese zeigt, so sie nicht verändert wurde, die verwandte XProfan-Version. - Eine weitere Möglichkeit ist, den Anfang des Compilates zu finden und auszuwerten. Da steht dann etwa " RGH-PROFANx DATEI", wobei das Zeichen an Position x die Version eingrenzt. Gruß Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c http://www.xprofan.de |
|
|
|
|
|
#3 (Direktlink) | |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
@Roland
Hab das jetzt so gelöst. Kann man lassen oder ? Zitat:
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
|
#4 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
|
@Horst: ???
Nein, du schneidest doch nur Teile des Dateinamens aus. Du musst die Datei öffnen (OpenRW) und dann die ersten 15 Byte auslesen (siehe Hilfe).
__________________
XProfan-Profi (XProfan X2+XPIA) http://jacdelad.bplaced.net http://jacdelad.square7.ch |
|
|
|
|
|
#5 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Nein ich denke nicht die ersten 15 Bytes, er muss den wohl den Beginn der Runtime suchen, ich denke die Runtime beginnt mit dem Begriff oder besser gleichen den ganzen Begriff "RGH-PROFAN" suchen und dann auslesen was dahinter steht. Ich war auch über den Code erstaunt, da er ja aber an Roland gerichtet war habe ich mal nichts dazu geschrieben. Nach Rolands Posting muss er den Beginn des Compilates finden, dann steht die Runtime am Beginn, denn der Begriff ist ziemlich weit hinten zu finden.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
|
#6 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Der compilierte Code, der an die Runtime angehängt wird, beginnt mit dem Begriff.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#7 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
PS: Ist in der Regel der letzte String dieser Art, der in der Datei auftaucht.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#8 (Direktlink) | |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
Da ich mich ja hier auf "Glatteis" begeben habe, hab ich halt mal einen Code hierhin gestellt in der Hoffnung, daß die "Grauen Eminenzen" sich melden
Hat ja auch funktioniert ! Zitat:
Wie suche ich denn in einer binären Datei ?
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
|
#9 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
So kommst du auf keinen grünen Zweig. Warum nicht $Profver?
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#10 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Ach so - habe jetzt verstanden. Wenn ich Zeit habe, bastele ich dir was.
Du brauchst von Roland noch die Liste mit den Buchstaben für die jeweilige Profanversion. Buchstabe B ist bei mir die Version 9. @Roland - hast du mal die Liste?
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
|
#11 (Direktlink) |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
@Andreas
Der Sinn der Übung ist folgender. Habe ein kleines Tool gebastet, welches aber nur ab der Version XProfan-12 läuft. Also muss ich vorher erkennen können, mit welcher XProfan-Version die jeweilige EXE-Datei erstellt wurde. D. h., wenn ich mit meinem Tool eine mit XProfan erstellte EXE-Datei aufrufe, muss sofort erkannt werden, ob es < 12 oder => 12 ist. Das Tool werde ich, sobald Roland die 12er-Version frei gegeben hat, auf meiner HP im XProfan-Bereich zum Download stellen. Es ist eine Hilfe für das Auswechseln der neuen Icon in XProfan-12. Frank Abbing hat getestet und "für gut befunden !" Jetzt fehlt nur noch dieses Aussortieren vor dem Programmstart
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
#12 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Wie gesagt, man müsste wissen, wie Roland die Versionen Buchstabenmäßig durchnummeriert. Alles andere ist ein Kinderspiel.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#13 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Beim RC von XProfan 12 ist es F, wenn es bei der endgültigen Version so bleibt, kann man das verwenden.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#14 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
@Horst du änderst doch die Resourcen mit dem Tool von Frank. Ich bin davon überzeugt, dass Frank die Resource-API benutzt, damit geht das austauschen doch mit jeder Version, ja sogar mit jeder Exe-Datei, denn die API greift auf die Resourcen zu, egal an welcher Position die stehen.
Oder hast du nun was an dem Tool geändert, wozu brauchst du die Profanversion, du wirst doch hoffentlich nicht mit Blockwrite oder sowas die Resourcen schreiben.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#15 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
|
Hallo,
hier ein Beispielprogramm, dass die Version einer mit XProfan erzeugten EXE ermittelt (geht nur bei 32-Bit, da bei 16 Bit die Adresse des Compilates an anderer Stelle stand): Code:
Declare Datei$, hDatei&, Version$, Adresse&
CLS
Datei$ = LoadFile$("Profn-Programm öffnen:", "*.exe")
If Datei$ > "" // Es wurde eine Datei ausgewählt
hDatei& = Assign(Datei$)
OpenRW hDatei& // Datei binär öffnen
Seek hDatei&, $80 // An dieser Position steht die Adresse des Compilates
Adresse& = GetLong(hDatei&)
Seek hDatei&, Adresse& // hier beginnt das Compilat
Version$ = GetChar$(hDatei&, 18)
// Die ersten 11 Zeichen sind immer " RGH-PROFAN"
If Mid$(Version$, 1, 11) <> " RGH-PROFAN"
MessageBox("Kein mit PROFAN² oder XProfan erzeugtes Programm!", "Hinweis:", 16)
Close hDatei&
End
EndIf
// Das 12. Zeichen ist die Version des Compilates und lässt Rückschlüsse auf die
// XProfan-Version zu
Version$ = Substr$(Version$, 12)
Select Version$
CaseOf "3" : Print "Profan² 5 (32 Bit)"
CaseOf "4" : Print "Profan² 5 (32 Bit) mit $P* verschlüsselt"
CaseOf "5" : Print "Profan² 6 (32 Bit)"
CaseOf "6" : Print "Profan² 6 (32 Bit) mit $P* verschlüsselt"
CaseOf "7" : Print "Profan² 7"
CaseOf "8" : Print "Profan² 7 mit $P* verschlüsselt"
CaseOf "9" : Print "XProfan 8"
CaseOf "A" : Print "XProfan 8 mit $P* verschlüsselt"
CaseOf "B" : Print "XProfan 9"
CaseOf "C" : Print "XProfan 9 mit $P* verschlüsselt"
CaseOf "D" : Print "XProfan 10"
CaseOf "E" : Print "XProfan 10 mit $P* verschlüsselt"
CaseOf "F" : Print "XProfan 11 oder X2"
CaseOf "G" : Print "XProfan 11 oder X2 mit $P* verschlüsselt"
Otherwise : Print "Unbekannte Version " + Version$
EndSelect
Close hDatei&
WaitInput
EndIf
End
Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c http://www.xprofan.de |
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| XPRR - Anpassung an die neue XProfan-Version | Frabbing | Helfer & Tools | 2 | 03.11.2010 22:04 |
| xprofan-Menu in Version 11.2 | horsthorn | Anregungen & Bugreports | 46 | 24.10.2010 16:32 |
| XProfan-Lehrbuch und XProfan-Manager | Dietmar Horn | Helfer & Tools | 3 | 02.01.2010 13:06 |
| Nächste XProfan-Version | Jac de Lad | Anregungen & Bugreports | 2 | 22.06.2009 18:30 |
| neue version über alte version installieren | Kim. | Windows XP | 7 | 31.07.2005 15:30 |