| |
|
|
Matthias Arlt | chez qui Fehlersuche dans einem meiner Programme c'est moi aufgefallen, dass un schreibender Zugriff avec "UpdateResource" sur qui Runtime (bzw. Interpreter) régulier qui Dossier inutilisable pouvoir. Soweit je herausgefunden habe, ou bien ca jedenfalls annehme, wird qui Schreibvorgang zwar fonctionnement, mais qui Changement pas im En-tête eingetragen... ca führt ensuite beim Startversuch qui Dossier trop unterschiedlichen Fehlermeldungen. Meist "Nur un partie qui ReadProcessMemory- ou bien WriteProcessMemory-Anforderung wurde abgeschlossen" ou bien "Falscher paramètre...". Es betrifft aussi ausschliesslich FreeProfan, qui XProfan-Versionen sommes de diesem effet pas betroffen.
Salut Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 10.04.2016 ▲ |
|
|
|
|
Jörg Sellmeyer | Es wird Roland sûrement aider, si du là une kleinen lauffähigen (!) Beispielcode postest. |
|
|
| |
|
|
|
Matthias Arlt | là la hâte Du naturellement droite... je habs la fois sur cela minimalst mögliche "eingedampft". avec qui Unicode-variante chez Übergabe de Cordes suis je Je ne plus trop 100% sûrement (c'est pourquoi im Eingangs-Beitrag entfernt). Hinsichtlich des "Fehl-Verhaltens" pouvoir cela erstmal eh' keinen Unterschied.
declare file$,modul&,hFind&,hUpdate&
file$ = Pfad zur FreeProfan-Runtime...
modul& = external("KERNEL32","LoadLibraryExA",addr(file$),0,3)
hFind& = external("KERNEL32","FindResourceExA",modul&,2,"TOOLBAR32",0)
external("KERNEL32","FreeLibrary",modul&)
si hFind&
imprimer hFind&
hUpdate& = external("KERNEL32","BeginUpdateResourceA",addr(file$),0)
imprimer hUpdate&
imprimer external("KERNEL32","UpdateResourceA",hUpdate&,2,"TOOLBAR32",0,0,0)
imprimer external("KERNEL32","EndUpdateResourceA",hUpdate&,0)
endif
waitkey
|
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 10.04.2016 ▲ |
|
|
|
|
Matthias Arlt | j'ai inzwischen cela Problem la fois näher untersucht. avec folgendem Ergebnis: qui Schreibvorgang findet statt et qui Einträge im En-tête volonté gesetzt bzw. aktualisiert. mais: qui komplette Ressourcen-Sektion wird um einiges pour vorn déménagé (im konkreten le cas um 312 Byte). avec cela stimmt naturellement qui Rohdaten-Offset im .rsrc-En-tête pas plus. ou bien richtiger, qui Offset stimmt déjà, quoi qui veränderte Position angeht, seulement qui devant liegende partie qui Dossier ist nunmehr trop kurz. comme Workaround verschiebe je eh bien qui Sektion par insérer de zéro-Bytes wieder komplett um den "Fehlbetrag" pour hinten et trage im En-tête (.rsrc + 20) wieder den korrekten Offset un. Wodurch es trop cette Verschiebung venez, c'est moi allerdings encore un Rätsel... à qui API peux es pas liegen, qui funktioniert oui chez anderen Fichiers (pas FreeProfan) so comment vous soll.
Salut Matthias
Nachtrag: qui anfängliche Annahme, chez "FreePascal- ou bien Lazarus-Derivaten" qui Unicode-variante qui API verwenden trop doit, hat sich comme gegenstandslos erwiesen... |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 19.04.2016 ▲ |
|
|
|
|
RGH | un erster Versuch hat folgendes ergeben:
XProfan X3 et FreeProfan faire exakt cela gleiche. Allerdings reagiert une XProfan-Runtime sur cela Effacer qui TOOLBAR32-Ressource aus mir encore unerklärlichen Trouvé anders, comme une FreeProfan-Runtime! Aus einer XProfan-Runtime peut sich qui Ressource effacer et vous bleibt funktionsfähig, aus einer FreeProfan-Runtime wohl pas.
Aussi musste je feststellen, dass un gelinktes XProfan-Profan-Programme beim Effacer qui Ressource aussi seines Profan-Codes beraubt wird et anschließend comment une Runtime sans gelinkten Code funktioniert.
je schaue plus ....
Salut Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 19.04.2016 ▲ |
|
|
|
|
Matthias Arlt | déjà seltsam, cela Ganze. Immerhin hab je mich dadurch la fois eingehender avec dem Innenaufbau qui PE's beschäftigt...
...cela un gelinktes XProfan-Profan-Programme beim Effacer qui Ressource aussi seines Profan-Codes beraubt wird et anschließend comment une Runtime sans gelinkten Code funktioniert.
c'est dans etwa cela gleiche Verhalten comment chez qui UPX-Problematik, bevor Du qui "Packer-Unterstützung" nachgerüstet hattest.
qui Komplett-Verschiebung einer Sektion peut oui vermuten, qui qui Taille ou bien cela Ende des vorherigen Codes irgendwie pas erkannt wird. qui entsprechenden Infos stehen wiederum dans den individuel Headern. (si aussi encore à anderer Stelle ???) peut-être quand même un Anhaltspunkt pour qui weitere cherche. qui Verhaltensunterschied FreeProfan vs. XProfan peut sich avec cela mais wohl aussi pas expliquer...
Immerhin versetzt mon Workaround qui Dossier wieder dans une funktionsfähigen Zustand. chez FreeProfan jedenfalls. une aktuelle XProfan-Runtime zum Testen hab je oui pas.
Salut Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 20.04.2016 ▲ |
|
|
|
|
RGH | cela Problem chez UPX était un d'autre: là je un nachträgliches Changement qui Ressourcen ermöglichen voulais, gibt es aucun festdefinierte Adresse dans qui Runtime plus, à qui cela Kompilat pour trouver ist, mais je cherche pour dem Start des Programmes pour dem En-tête des Kompilates. là je avec qui cherche mais pas beim Dateanfang begann, mais seulement kurz avant dem Beginn qui Ressourcen im unkomprimierten Programme, lief cet cherche pour qui Komprimierung ins le vide. So habe je ensuite den Beginn qui cherche deutlich früher angesetzt.
BTW: aussi FreeProfan hat qui neuen Ressourcen-Funktionen de XProfan X3, so dass sich Dein Programme sur folgende Zeilen réduire peut:
malheureusement bleibt cela Problem beim Effacer qui Ressource bestehen.
Salut Roland |
|
|
| XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 20.04.2016 ▲ |
|
|
|
|
Matthias Arlt | je meinte cela aussi seulement de den Auswirkungen her. cela sich cela Problem à sich pas comparer peut, ist déjà bien sûr.
BTW: aussi FreeProfan hat qui neuen Ressourcen-Funktionen de XProfan X3, so dass sich Dein Programme sur folgende Zeilen réduire peut:
aussi c'est bien sûr. Mir ging/ca va mais tout autor, qui qui schreibende API-Zugriff fehlschlägt. et cela pas seulement beim Effacer, mais generell, alors aussi beim Hinzufügen, Changement etc.
qui API ist oui sozusagen qui kleinste gemeinsame Nenner, qui toujours zur Disposition steht, aussi si aucun neuere Profan-Version verwendet wird ou bien überhaupt ne...aucune Zugriff aus Profan heraus erfolgt. ResourceHacker et Co sembler là ensuite aussi et avec ca anders vorzugehen ou bien attraper solche Effekte par weitere Techniken ab...
Salut Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 20.04.2016 ▲ |
|
|
|
|
RGH | Free Pascal (Lazarus) scheint une anderen PE-En-tête trop verwenden, comment Delphi. malheureusement habe je là offensichtlich keinen Einfluss puis et dans den Compilereinstellungen rien en supplément trouvé.
Salut Roland |
|
|
| XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 20.04.2016 ▲ |
|
|
|
|
Matthias Arlt | Den le doute avec einem anderen En-tête-Aufbau J'ai eu aussi déjà, suis mais trotz stundenlanger cherche ebenso wenig fündig geworden.
après que je herausgefunden habe, quoi oui c'est ca là passiert et comment cela avec geringem Aufwand wieder hinzubiegen ist, ist es oui ne...aucune wirklich gravierendes Problem plus.
Ärgerlicher ist là presque déjà, qui Du aussi chez XProfan solch unklare Auffälligkeit entdeckt la hâte...
Salut Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 20.04.2016 ▲ |
|
|
|
|
Michael W. | cela Kompilat wird gesucht...
Läßt es sich pas comme freie (selbstdefinierte) Ressource sur qui Ressourcenverwaltung trop saisir bekommen? |
|
|
| |
|
|
|
RGH | oui, qui concept trage je aussi déjà une Weile avec mir herum et werde es wohl dans qui prochain Version de XProfan so tenir.
mais c'est ici oui aucun Solution, là sich qui FreeProfan-Runtime (et naturellement aussi qui Interpreter et probablement aussi autre avec Free Pascal kompilierte Exen) offensichtlich pas avec den Ressourcen-Funktionen qui Windows-API Travailler peut, sans inutilisable trop volonté. Bislang habe je là aucun Solution trouvé.
Salut Roland |
|
|
| XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 20.04.2016 ▲ |
|
|
|