Español
Bugs y vermeintliche

FreeProfan Bugs y vermeintliche

FreeProfan32 y API UpdateResource

 
- Página 1 -



Matthias
Arlt
En Fehlersuche en un meiner Programas me está aufgefallen, que un schreibender Zugriff con "UpdateResource" en el Runtime (o. Interpreter) regelmäßig el Expediente unbrauchbar macht. Soweit Yo herausgefunden habe, oder dies jedenfalls annehme, se el Schreibvorgang zwar ausgeführt, aber el Änderung no en el Encabezamiento eingetragen... Dies führt entonces beim Startversuch el Expediente a unterschiedlichen Fehlermeldungen. Meist "Nur una Teil el ReadProcessMemory- oder WriteProcessMemory-Anforderung wurde abgeschlossen" oder "Falscher Parámetro...".
Lo betrifft auch ausschliesslich FreeProfan, el XProfan-Versionen son de diesem Effekt no betroffen.

Saludo Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
10.04.2016  
 



 
- Página 4 -


Würde Yo no en él warten,

tener ihn ya unos pocos veces erfolglos gesucht.
 
22.04.2016  
 




RGH
Matthias Arlt (22.04.2016)
Hm...así interessant el primero schien con el XPRC-Ressource...
Ein Packen el Runtime es dadurch pero probablemente unmöglich geworden.


¿Por qué? Solange el Ressourcen no mitgepackt voluntad, debería lo incluso con el fertigen Programa posible ser. (Testen kann Yo en el Moment no, como Yo no EXE-Packer installiert habe.)

Saludo
Roland
 
XProfan X3
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
22.04.2016  
 




RGH
Nun Yo me UPX (neueste Versión de 2013?) heruntergeladen y probiert:

Ein con el neuesten Versión de FreeProfan32 kompiliertes Programa (hier: resexplorer.exe) läßt se problemlos komprimieren.

El PRFRUN32.EXE antes el Kompilieren a komprimieren funktioniert por desgracia, no.

Saludo
Roland
 
XProfan X3
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
22.04.2016  
 




Matthias
Arlt
Hola Roland,
Asche en mein Haupt, genauso es auch. Tuve erstens el früheren Parámetro para UPX verwendet, also auch Ressourcen-Komprimierung. Das war todavía así en el Kleinhirn verankert. Und zweitens wohl auch zwischendurch veces el 'falsche' Runtime erwischt...
Einige testweise gepatchte Versionen Tuve para Vergleich todavía aufgehoben y luego wohl durcheinander gebracht...

Also Entwarnung, qué el Packen angeht.

Aunque schlagen nun otra vez el API-Características fehl. En fertigen (natürlich ungepackten) Exe verschwindet cada Zugriff el XPRC-Ressource. El Expediente restos ansonsten funktionsfähig, verhält se aber como una unverlinkte Runtime. Selbst ya una FindResource a Feststellung, si XPRC überhaupt disponible, se ejecuta meist en el Leere.

Yo bin deshalb doch primero a gepatchten Vorgängerversion zurückgekehrt. Das funktionierte sí entonces después de el Offset-Korrekturen bien y systemkonform.
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
22.04.2016  
 




Matthias
Arlt
Mein vorläufiges Fazit después de más umfangreichen Tests:

Wenn lo posible es, sería Yo begrüssen, cuando llega a el reciente Form bliebe. Also sin XPRC como Ressource. ¿Por qué:
Bisher muss se el Anwender, si la EXE bearbeitet voluntad se, lediglich a Runtime kümmern. Und es esta auch eigentlich no Einschränkungen unterworfen. D.h. el Expediente verhält se systemkonform, como jede EXE, auch para Dritt-Programas.

En Variante con XPRC-Ressource kann/muss Yo a Ressourcen-Bearbeitung el Runtime ändern, kann esta pero no packen. Will al Ganze packen, Es el verlinkte Runtime a bearbeiten. Aunque con el Einschränkung, el Ressourcen no packen a dürfen. Letzteres kann aber una ausschlaggebender Grund ser, überhaupt packen a querer.

Man muss also letztlich, en en el Grunde una y dasselbe a erreichen, zweimal "Hand anlegen", una vez antes y una vez después de el Kompilierung. Weil lo prinzipbedingt Einschränkungen son, el lo así vorher no gab.

El EXE verhält se así auch de el "Sicht" de Dritt-Programmen atypisch, sprich unerwartet (oder unkalkulierbar). Das erschwert erheblich z.b. el Carta de Programmen, el por API en el Expediente-Inhalt zugreifen. (El Executable es sí incluso zuweilen auch Gegenstand el Bearbeitung.)

Es insoweit primero sólo mi subjektive Ansicht. Yo hoffe aber, dass esta rüber gekommen es, worum lo me esta va.
Aus Anwender-Sicht dürften el (möglichen) Vorteile uno PRC como Ressource doch más gering ser. Zumindest sehe Yo ellos momentan no. Ob lo programmiertechnisch así gewaltige Vorteile bringt, de hecho puede sólo Roland beurteilen...

Gruss Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
26.04.2016  
 




RGH
Beim reciente Verfahren kann lo aber eigentlich no bleiben, porque z.B. una Entfernen uno Ressource de una fertigen Programa, dieses unbrauchbar macht, porque el no erwartete "Annhang", nämlich el simplemente angehängten Profancode (PRC-Expediente), esta destruido.
Zum otro macht una komprimierte Runtime Problemas en el neuen Ressourcenfunktionen, como beim $RES, con el beim Kompilieren Ressourcen eingebunden voluntad.

Das jetztige Verfahren con el Kompilat como Ressource ha el Vorteil, dass todos Ressourcen-Características völlig problemfrei trabajo, porque lo no "Fremdkörper" (angehängter Programmcode) en el fertigen Programa son. Lo puede el fertigen Programa incluso todavía Ressourcen hinzugefügt, geändert oder lejos voluntad, auch si incluso el no mehr nötig es, como el sí alles ya encima $RES hecho voluntad kann.

Saludo
Roland
 
XProfan X3
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

porque z.B. una Entfernen uno Ressource de una fertigen Programa, dieses unbrauchbar macht, porque el no erwartete "Anhang", nämlich el simplemente angehängten Profancode (PRC-Expediente), esta destruido.


Aus genau diesem Grund gehe Yo bislang folgendermaßen antes:

- Offset a $80/$24 lesen y determinar, si PRC disponible
- si está disponible, Runtime y PRC temporär separieren (PRC restos igual en el RAM)
- Ressourcen-Actualización por API ausführen (qué De todos modos...)
- Den nunmehr veränderten Offset a $80/$24 eintragen
- PRC otra vez anhängen

El PRC es así en el Actualización-Vorgang überhaupt no involviert. Und Yo esta con el temporär separierten Runtime (oder el No-Profandatei) sonst todavía anstelle oder auch no, es en mi Belieben...
Alles en Allem una schnelle y saubere Sache, el siempre problemlos funktioniert(e).

Yo blanco nun natürlich no como $RES-Características intern umgesetzt son.

Saludo Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
27.04.2016  
 



Gäbe vlt. ni Möglichkeit.

Statt el PRC como Res anzuhängen oder (como bisher) como "blinder Passagier", direkt en el Opcodes-Teil el Exe kopieren así como wäre lo auch nativer Code. Wenn Yo mich bastante erinnere, debería dafür en el Exe sólo algo Platz geschaffen y ser 1 - 2 Summen en el PE-Encabezamiento adaptado.

Also vlt. con Delphi oder FreePascal una ¡Hola Welt escribir con bisl inline-ASM (z.B. 1000 xor eax,eax) y luego otra vez eins con 2000 xor eax,eax y luego schauen wo el Unterschiede en el Exe-Expediente lungern.

Habs sicher otra vez mistig erklärt.

Tal vez wundert se entonces auch UPX encima Bytes el no Opcodes entsprechen - tal vez interessiert lo UPX aber auch no z.B. si él eh el Exe una neuen PE-Overhead verpasst. Das bliebe entonces aber auszutesten.
 
27.04.2016  
 




RGH
Der Eintrag a el genannten Offsets se de XProfan X3 sí no mehr benötigt, como el Kompilat sí nun gesucht se. Aunque Tuve en Versión X3 versäumt, el nun sinnfreie Setzen dieses Offsets herauszunehmen. Das se en el nächsten Versión geschehen. Erst dadurch, dass el Kompilat nun gesucht se, lässt se nun el fertige Programa komprimieren, sin dass lo seine Lauffähigkeit verliert. (Außerdem fühle Yo mich wohler, si yo ahora no mehr una Speicherstelle en el Encabezamiento beschreibe, deren Verwendung no dokumentiert es.)

Saludo
Roland
 
XProfan X3
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  
 




RGH
Como se $RES intern gehandhabt?

Das macht el Compiler:

Neu:

1. PRFRUN32.EXE se después de MEINPROGRAMM.EXE kopiert.
2. El Ressourcen el con $RES angegebenen *.RES-Archivos voluntad hinzugefügt, o. geändert.
3. Das Kompilat se como Ressource hinzugefügt. FERTIG!

Bis X2 (Runtime liest Offset):

1. PRFRUN32.EXE se después de MEINPROGRAMM.EXE kopiert.
2. Das Kompilat se dazu kopiert (hinten dran gehängt).
3. Das Offset para Kompilat se en un hoffentlich ungenutze Punto des Headers (4 Byte) eingetragen. FERTIG.

In X3/X3.1 (Runtime sucht Kompilat):

1. PRFRUN32.EXE se después de MEINPROGRAMM.EXE kopiert.
2. El Ressourcen el con $RES angegebenen *.RES-Archivos voluntad hinzugefügt/geändert.
3. Das Kompilat se dazu kopiert (hinten dran gehängt).
4. Das Offset para Kompilat se nun überflüssigerweise en un hoffentlich ungenutzte Punto des Headers (4 Byte) eingetragen. FERTIG.

Bis einschließlich X2.x kann una fertiges Programa no komprimiert voluntad, auch una Hinzufügen oder Entfernen de Ressourcen es no posible.

Ab X3 hay aber Características y Befehle, en Ressourcen en Programmen y DLL a verändern. Das se natürlich auch para con XProfan erstellte Programas posible ser. Daher se el Startpunkt des Kompilats nun gesucht. Nebeneffekt: Das fertige Programa es nun auch komprimierbar.

Ein Problema es allerdings aufgetaucht: Beim Löschen uno Ressource de una fertigen Programa verschwindet el Kompilat. Das como todavía algo hinten dran hängt, es probablemente no vorgesehen. Das Problema es el Kompilat como Ressource sauber gelöst. Lo son sí no Fremdkörper mehr.

Saludo
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

Das Problema es el Kompilat como Ressource sauber gelöst.


Und genau dies es eben no así:

- Expediente funktioniert como fertiges Programa
- res("Change", "TEST.EXE", 2, "TOOLBAR", 0, 0, 0)
- Expediente funktioniert siempre todavía, aber como unverlinkte Runtime, porque:
- El BITMAP-Ressource "TOOLBAR" Aunque lejos, el XPRC aber auch !

Saludo Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
27.04.2016  
 




RGH
Yo fürchte, Usted hast no el neueste Versión benutzt. Como auch, como Yo ellos todavía no hochgeladen habe. Yo voluntad el igual veces nachholen ... ahora Es el aktuelle Versión de FreeProfan32 hochgeladen.

Das Löschen uno Ressource debería keinesfalls irgendeine otro Ressource betreffen puede!

Yo nehme a, en Deiner Versión wurde el Kompilat todavía nada como Ressource verlinkt, pero todavía angehängt.

Zumindest Yo el Ganze con el soeben hochgeladenen Versión todavía getestet. Auch después de el Entfernen el Toolbar restos Programa como gewohnt lauffähig!

Saludo
Roland
 
XProfan X3
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  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

64.654 Views

Untitledvor 0 min.
Sven Bader16.09.2021
Rainer Hoefs12.07.2019
p.specht20.12.2018
Walter23.05.2018
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie