Español
Bugs y vermeintliche

FreeProfan Bugs y vermeintliche

FreeProfan32 y API UpdateResource

 

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  
 




Jörg
Sellmeyer
Lo se Roland sicher helfen, si du como una pequeña lauffähigen (!) Beispielcode postest.
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
10.04.2016  
 




Matthias
Arlt
Como hast Usted natürlich bastante... Yo habs veces el minimalst mögliche "eingedampft". Mit el Unicode-Variante en Übergabe de Cuerdas bin Yo no mehr a 100% sicher (deshalb en el Eingangs-Contribución lejos).
Hinsichtlich des "Fehl-Verhaltens" macht el primero eh' no hay diferencia.
declarar file$,modul&,hFind&,hUpdate&
file$ = Pfad a FreeProfan-Runtime...
modul& = external("KERNEL32","LoadLibraryExA",addr(file$),0,3)
hFind& = external("KERNEL32","FindResourceExA",modul&,2,"TOOLBAR32",0)
external("KERNEL32","FreeLibrary",modul&)

if hFind&

    imprimir hFind&
    hUpdate& = external("KERNEL32","BeginUpdateResourceA",addr(file$),0)
    imprimir hUpdate&
    imprimir external("KERNEL32","UpdateResourceA",hUpdate&,2,"TOOLBAR32",0,0,0)
    imprimir external("KERNEL32","EndUpdateResourceA",hUpdate&,0)

endif

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




Matthias
Arlt
Yo habe inzwischen el problema veces näher untersucht. Mit folgendem Ergebnis:
Der Schreibvorgang findet en lugar de y el Einträge en el Encabezamiento voluntad gesetzt o. aktualisiert.
Aber:
El komplette Ressourcen-Sektion se en einiges después de vorn movido (en el konkreten Fall en 312 Byte). Damit stimmt natürlich el Rohdaten-Offset en el .rsrc-Encabezamiento no mehr. Oder richtiger, el Offset stimmt ya, lo que el veränderte Position angeht, sólo el davor liegende Teil el Expediente es nunmehr a kurz. Als Workaround verschiebe Yo nun el Sektion por Einfügen de Null-Bytes otra vez komplett en el "Fehlbetrag" después de hinten y trage en el Encabezamiento (.rsrc + 20) otra vez el korrekten Offset una. Wodurch lo a dieser Verschiebung kommt, me está allerdings todavía una Rätsel...
An el API kann no mentira, el funktioniert sí en otro Archivos (no FreeProfan) como ellos se.

Saludo Matthias

Apéndice:
El anfängliche Annahme, en "FreePascal- oder Lazarus-Derivaten" el Unicode-Variante el API uso tener, ha se como gegenstandslos erwiesen...
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
19.04.2016  
 




RGH
Ein erster Intento ha folgendes ergeben:

XProfan X3 y FreeProfan hacer exakt el gleiche. Aunque reagiert una XProfan-Runtime el Löschen el TOOLBAR32-Ressource de me todavía unerklärlichen Gründen anders, como una FreeProfan-Runtime! Aus uno XProfan-Runtime lässt el Ressource löschen y ellos restos funktionsfähig, de uno FreeProfan-Runtime probablemente no.

Außerdem musste Yo determinar, que un gelinktes XProfan-Profano-Programa beim Löschen el Ressource auch seines Profano-Codes beraubt se y anschließend como una Runtime sin gelinkten Code funktioniert.

Yo schaue más ....

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
19.04.2016  
 




Matthias
Arlt
Schon seltsam, el Ganze. Immerhin tener Yo mich dadurch veces eingehender con el Innenaufbau el PE's beschäftigt...


...el una gelinktes XProfan-Profano-Programa beim Löschen el Ressource auch seines Profano-Codes beraubt se y anschließend como una Runtime sin gelinkten Code funktioniert.


Es en etwa el gleiche Comportamiento como en UPX-Problematik, bevor Usted el "Packer-Unterstützung" nachgerüstet había.

El Komplett-Verschiebung uno Sektion lässt sí vermuten, daß el Größe oder el Ende des vorherigen Codes irgendwie no erkannt se. El entsprechenden Infos posición wiederum en el individual Headern. (si auch todavía a otro Punto ???)
Tal vez trotzdem una Anhaltspunkt para el weitere Búsqueda. Der Verhaltensunterschied FreeProfan vs. XProfan lässt se así pero probablemente auch no erklären...

Immerhin versetzt mein Workaround el Expediente otra vez en una funktionsfähigen Zustand. En FreeProfan jedenfalls. Un aktuelle XProfan-Runtime para Testen tener Yo sí no.

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




RGH
Das Problema en UPX war una más: Desde que una nachträgliches Cambio el Ressourcen ermöglichen quería, hay no festdefinierte Adresse en el Runtime mehr, a de los Kompilat para encontrar es, pero Yo búsqueda después de el Start des Programmes después de el Encabezamiento des Kompilates. Desde que con el Búsqueda pero no beim Dateanfang begann, pero sólo kurz antes el Beginn el Ressourcen en el unkomprimierten Programa, lief esta Búsqueda después de el Komprimierung en el Leere. So Yo entonces el Beginn el Búsqueda deutlich früher angesetzt.

BTW: Auch FreeProfan ha el neuen Ressourcen-Características de XProfan X3, así dass se Su Programa en folgende Zeilen reduzieren lässt:
declarar file$
file$ = "prfrun32.exe"
imprimir res("Change", file$, 2, "TOOLBAR32",0,0,0)
Imprimir "Fertig!"
waitkey

Leider restos Problema beim Löschen el Ressource bestehen.

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
20.04.2016  
 




Matthias
Arlt
Yo meinte el auch sólo de los Auswirkungen her. Das se el problema a se no vergleichen lässt, es ya klar.


BTW: Auch FreeProfan ha el neuen Ressourcen-Características de XProfan X3, así dass se Su Programa en folgende Zeilen reduzieren lässt:


Auch el es klar. Mir ging/es aber por lo tanto, daß el schreibende API-Zugriff fehlschlägt. Und el no sólo beim Löschen, pero generell, also auch beim Hinzufügen, Cambio etc.

El API es sí sozusagen el kleinste gemeinsame Nenner, el siempre disponible es, auch si no neuere Profano-Versión verwendet se oder überhaupt kein Zugriff de Profano heraus es.
ResourceHacker y Co scheinen como entonces auch todavía algo anders vorzugehen oder fangen solche Effekte por weitere Techniken de...

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




RGH
FreePascal (Lazarus) scheint una otro PE-Encabezamiento utilizarse, como Delphi. Leider Yo como offensichtlich no Einfluss darauf y en el Compilereinstellungen nichts dazu gefunden.

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
20.04.2016  
 




Matthias
Arlt
Den Verdacht con un otro Encabezamiento-Aufbau Tuve auch ya, bin aber trotz stundenlanger Búsqueda ebenso wenig fündig geworden.

Nachdem Yo herausgefunden habe, ¿qué es exactamente passiert y cómo el con geringem Aufwand otra vez hinzubiegen es, es sí kein wirklich gravierendes Problema mehr.

Ärgerlicher es como fast ya, daß Usted auch en XProfan solch unklare Auffälligkeit entdeckt hast...

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




Michael
W.
Das Kompilat se gesucht...

Läßt lo no como freie (selbstdefinierte) Ressource en Ressourcenverwaltung a fassen bekommen?
 
Alle Sprachen
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
20.04.2016  
 




RGH
Sí, el Concepto trage Yo auch ya una Weile con me herum y voluntad lo wohl en el nächsten Versión de XProfan así halten.

Aber el es hier sí no Solución, como el FreeProfan-Runtime (y natürlich auch el Interpreter y vermutlich auch otro con FreePascal kompilierte Exen) offensichtlich no con el Ressourcen-Características el Windows-API bearbeiten lässt, sin unbrauchbar a voluntad. Bislang Yo como no Solución gefunden.

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
20.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

67.101 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