| |
|
|
- page 1 - |
|
 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 ▲ |
|
|
|
| |
|
- page 4 - |
|
|
 | Würde je pas sur elle attendre,
hab ihn déjà un paire la fois erfolglos gesucht. |
|
|
| |
|
|
|
 RGH | Matthias Arlt (22.04.2016)
Hm...so intéressant cela zunächst schien avec qui XPRC-Ressource... un saisir qui Runtime ist dadurch mais wohl unmöglich geworden.
Pourquoi? Solange qui Ressourcen pas mitgepackt volonté, sollte es sogar avec dem fertigen Programme possible son. (Testen peux je es im Moment pas, là je keinen EXE-Packer installiert habe.)
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 | 22.04.2016 ▲ |
|
|
|
|
 RGH | eh bien habe je mir UPX (neueste Version de 2013?) heruntergeladen et probiert:
un avec qui neuesten Version de FreeProfan32 kompiliertes Programme (ici: resexplorer.exe) läßt sich problemlos komprimieren.
qui PRFRUN32.EXE avant dem Kompilieren trop komprimieren funktioniert malheureusement pas.
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 | 22.04.2016 ▲ |
|
|
|
|
 Matthias Arlt | allô Roland, Asche sur mon tête, genauso ist es aussi. je hatte erstens qui précédent paramètre pour UPX verwendet, alors aussi Ressourcen-Komprimierung. cela était encore so im Kleinhirn verankert. et zweitens wohl aussi zwischendurch fois le 'falsche' Runtime erwischt... quelques testweise gepatchte Versionen J'ai eu zum comparaison encore aufgehoben et ensuite wohl durcheinander gebracht...
alors Entwarnung, quoi cela saisir angeht.
Allerdings schlagen eh bien wieder qui API-Funktionen fehl. chez qui fertigen (naturellement ungepackten) Exe verschwindet chez chaque Zugriff qui XPRC-Ressource. qui Dossier bleibt ansonsten funktionsfähig, verhält sich mais comment une unverlinkte Runtime. Selbst déjà un FindResource zur Feststellung, si XPRC überhaupt vorhanden, fonctionne meist ins le vide.
je suis c'est pourquoi doch erstmal zur gepatchten Vorgängerversion zurückgekehrt. cela funktionierte oui ensuite pour den Offset-Korrekturen bien et systemkonform. |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 22.04.2016 ▲ |
|
|
|
|
 Matthias Arlt | mon vorläufiges Fazit pour weiteren umfangreichen Tests:
si es possible ist, serait je es begrüssen, si es chez qui bisherigen forme bliebe. alors sans XPRC comme Ressource. pourquoi: Bisher muss sich qui Anwender, si le EXE bearbeitet volonté soll, lediglich à Runtime kümmern. et ist dabei aussi eigentlich keinen Einschränkungen unterworfen. D.h. qui Dossier verhält sich systemkonform, comment chacun EXE, aussi pour Dritt-Programme.
chez qui variante avec XPRC-Ressource peux/muss je zur Ressourcen-Bearbeitung qui Runtime changement, peux cet mais pas saisir. veux on cela Ganze saisir, ist qui verlinkte Runtime trop Travailler. Allerdings avec qui Einschränkung, qui Ressourcen pas saisir trop dürfen. Letzteres peux mais un ausschlaggebender Grund son, überhaupt saisir trop voulons.
on muss alors letztlich, um im Grunde un et même chose trop erreichen, zweimal "Hand anlegen", einmal avant et einmal pour qui Kompilierung. Weil es prinzipbedingt Einschränkungen gibt, qui es so auparavant pas donnais.
qui EXE verhält sich avec cela aussi aus qui "Sicht" de Dritt-Programmen atypisch, sprich unerwartet (ou bien unkalkulierbar). cela erschwert erheblich z.b. cela écrivons de Programmen, qui per API sur den Dossier-le contenu zugreifen. (qui Executable ist oui selbst zuweilen aussi l'article qui Bearbeitung.)
c'est insoweit erstmal seulement mon subjektive Ansicht. je hoffe mais, dass dabei rüber gekommen ist, worum es mir dabei allez. Aus Anwender-Sicht dürften qui (möglichen) Vorteile einer PRC comme Ressource doch plutôt gering son. Zumindest vois je vous momentan pas. si es programmiertechnisch so gewaltige Vorteile bringt, peux oui seulement Roland beurteilen...
Gruss Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 26.04.2016 ▲ |
|
|
|
|
 RGH | Beim bisherigen procéder peux es mais eigentlich pas rester, weil z.B. un Entfernen einer Ressource aus einem fertigen Programme, cet inutilisable pouvoir, weil qui pas erwartete "Annhang", nämlich qui simple angehängten Profancode (PRC-Dossier), dabei détruit wird. Zum anderen pouvoir une komprimierte Runtime Probleme chez den neuen Ressourcenfunktionen, aussi beim $RES, avec dem beim Kompilieren Ressourcen eingebunden volonté.
cela jetztige procéder avec dem Kompilat comme Ressource hat den Vorteil, dass alle Ressourcen-Funktionen völlig problemfrei marcher, weil es aucun "Fremdkörper" (angehängter Programmcode) im fertigen Programme gibt. Es peut dem fertigen Programme sogar encore Ressourcen hinzugefügt, geändert ou bien entfernt volonté, aussi si selbst cela pas plus nötig ist, là cela oui alles déjà sur $RES erledigt volonté peux.
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 | 27.04.2016 ▲ |
|
|
|
|
 Matthias Arlt |
weil z.B. un Entfernen einer Ressource aus einem fertigen Programme, cet inutilisable pouvoir, weil qui pas erwartete "Anhang", nämlich qui simple angehängten Profancode (PRC-Dossier), dabei détruit wird.
Aus oui c'est ca diesem Grund vais je jusqu'alors folgendermaßen avant:
- Offset à $80/$24 lesen et feststellen, si PRC vorhanden - si vorhanden, Runtime et PRC temporär separieren (PRC bleibt juste im RAM) - Ressourcen-Update per API effectuer (quoi que + subj....) - Den nunmehr veränderten Offset à $80/$24 eintragen - PRC wieder anhängen
qui PRC ist avec cela dans den Update-Vorgang pas du tout involviert. et quoi je dabei avec qui temporär separierten Runtime (ou bien qui pas-Profandatei) sonst encore anstelle ou bien aussi pas, steht dans mon Belieben... Alles dans Allem une schnelle et saubere l'affaire, qui toujours problemlos funktioniert(e).
je weiss eh bien naturellement pas comment qui $RES-Funktionen interne mise en œuvre sommes.
Salut Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 27.04.2016 ▲ |
|
|
|
|
 | Gäbe vlt. encore une Possibilité.
Statt qui PRC comme Res anzuhängen ou bien (comment bisher) comme "blinder Passagier", direct dans den Opcodes-partie qui Exe kopieren so comme wäre es aussi nativer Code. si je mich droite erinnere, devrait pour dans qui Exe seulement quelque chose place geschaffen volonté et 1 - 2 Summen im PE-En-tête angepasst.
alors vlt. avec Delphi ou bien Free Pascal un allô monde écrivons avec bisl inline-ASM (z.B. 1000 xor eax,eax) et ensuite nochmal une avec 2000 xor eax,eax et ensuite regarder wohin qui Unterschiede dans qui Exe-Dossier lungern.
Tricolore sûrement wieder mistig erklärt.
peut-être wundert sich ensuite aussi UPX sur Bytes qui keinen Opcodes entsprechen - peut-être intéressé es UPX mais aussi pas z.B. si il eh qui Exe une neuen PE-Overhead verpasst. cela bliebe ensuite mais auszutesten. |
|
|
| |
|
|
|
 RGH | qui Eintrag à den genannten Offsets wird ab XProfan X3 oui pas plus nécessaire, là cela Kompilat oui eh bien gesucht wird. Allerdings J'ai eu dans Version X3 versäumt, cela eh bien sinnfreie mettons cet Offsets herauszunehmen. cela wird dans qui prochain Version geschehen. seulement dadurch, dass cela Kompilat eh bien gesucht wird, peut sich eh bien cela fertige Programme komprimieren, sans dass es sa Lauffähigkeit verliert. (Aussi fühle je mich wohler, si je maintenant pas plus une Speicherstelle im En-tête beschreibe, en Verwendung pas dokumentiert ist.)
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 | 27.04.2016 ▲ |
|
|
|
|
 RGH | comment wird $RES interne gehandhabt?
cela fait qui Compiler:
récente:
1. PRFRUN32.EXE wird pour MEINPROGRAMM.EXE kopiert. 2. qui Ressourcen qui avec $RES angegebenen *.RES-Fichiers volonté hinzugefügt, bzw. geändert. 3. cela Kompilat wird comme Ressource hinzugefügt. FERTIG!
jusqu'à X2 (Runtime liest Offset):
1. PRFRUN32.EXE wird pour MEINPROGRAMM.EXE kopiert. 2. cela Kompilat wird en supplément kopiert (hinten tour gehängt). 3. cela Offset zum Kompilat wird dans un hoffentlich ungenutze Stelle des Headers (4 Byte) eingetragen. FERTIG.
dans X3/X3.1 (Runtime cherchez Kompilat):
1. PRFRUN32.EXE wird pour MEINPROGRAMM.EXE kopiert. 2. qui Ressourcen qui avec $RES angegebenen *.RES-Fichiers volonté hinzugefügt/geändert. 3. cela Kompilat wird en supplément kopiert (hinten tour gehängt). 4. cela Offset zum Kompilat wird eh bien überflüssigerweise dans un hoffentlich ungenutzte Stelle des Headers (4 Byte) eingetragen. FERTIG.
jusqu'à einschließlich X2.x peux un fertiges Programme pas komprimiert volonté, aussi un Hinzufügen ou bien Entfernen de Ressourcen ist pas possible.
Ab X3 gibt es mais Funktionen et Befehle, um Ressourcen dans Programmen et DLL trop verändern. cela soll naturellement aussi pour avec XProfan erstellte Programme possible son. Daher wird qui Startpunkt des Kompilats eh bien gesucht. Nebeneffekt: cela fertige Programme ist eh bien aussi komprimierbar.
un Problem ist allerdings aufgetaucht: Beim Effacer einer Ressource aus einem fertigen Programme verschwindet cela Kompilat. cela là et avec ca hinten tour hängt, ist wohl pas vorgesehen. cela Problem wird avec dem Kompilat comme Ressource net gelöst. il y a oui keinen Fremdkörper 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 | 27.04.2016 ▲ |
|
|
|
|
 Matthias Arlt |
cela Problem wird avec dem Kompilat comme Ressource net gelöst.
et oui c'est ca ca ist plan pas so:
- Dossier funktioniert comme fertiges Programme - res("Change", "TEST.EXE", 2, "TOOLBAR", 0, 0, 0) - Dossier funktioniert toujours, mais comme unverlinkte Runtime, car: - qui BITMAP-Ressource "TOOLBAR" ist zwar entfernt, qui XPRC mais aussi !
Salut Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 27.04.2016 ▲ |
|
|
|
|
 RGH | je fürchte, tu as pas qui neueste Version benutzt. comment aussi, là je vous encore pas hochgeladen habe. je werde cela juste la fois nachholen ... maintenant ist qui aktuelle Version de FreeProfan32 hochgeladen.
cela Effacer einer Ressource sollte aucunement irgendeine autre Ressource betreffen peut!
je prends à, chez Deiner Version wurde cela Kompilat encore gar pas comme Ressource verlinkt, mais encore angehängt.
Zumindest habe je cela Ganze avec qui soeben hochgeladenen Version encore getestet. aussi pour dem Entfernen qui Toolbar bleibt cela Programme comment gewohnt courir!
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 | 27.04.2016 ▲ |
|
|
|