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 2 -



Matthias
Arlt
Aber Yo bin el Sache ya una Stück näher gekommen. El Ursache para el Verschiebung liegt en él begründet, dass en FreeProfan 3 Sektionen fehlen. Das son .tls,.rdata y .reloc
Diese mentira en XProfan unmittelbar antes .rsrc
En FreeProfan es una Teil des Platzes el esta Sektionen einnehmen würden con Auffüll-Nullen besetzt, en el FileAlignment (mod 512) a gewährleisten. El API kümmert son esta Nullen no y interpretiert el Platz como frei.
Das Einfachste wäre nun, entweder una Sektion dieser Größe como Dummy einzufügen o en FreeProfan antes .rsrc liegende .edata en esta Betrag a vergrößern. Also natürlich sólo el Größen-Eintrag en el Encabezamiento.

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




Matthias
Arlt
So, Yo tener el ahora veces gemacht. Alles scheint optimal a trabajo.
Lo reicht demnach de, en el originalen Runtime el Größe de .edata a erhöhen, así kein Platz zwischen .edata y .rsrc restos...

Nach más Tests kann Yo sagen, lo scheint no sólo a trabajo, pero tut lo auch zuverlässig !

Zum Nachvollziehen:
en (long(runtime#,60) + 124) [Diese Adresse es siempre igual] es el Größe de .edata, nämlich $C8. Diesen Valor a Differenz a .rsrc (also en 312) erhöhen, hay also $200 eintragen.

Das Gleiche entonces otra vez en (.edata + 8) y en (.edata + 16)

Das wars auch ya... para FreeProfan32.

Como en el 64 aussieht, kann Yo no testen. Das FileAlignment beträgt hay jedenfalls (mod 1024), womit el Differenzwerte dementsprechend ändern...

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




RGH
Gracias! Das voluntad Yo igual veces ausprobieren!

Aber wieso trägt el el FreePascal-Compiler no es igual así una? So muss Yo después de cada Compile-Vorgang el entstandenen EXE-Archivos (Ok, beim Compiler es no nötig) patchen, así ellos korrekt trabajo. Como voluntad Yo wohl una kleines XProfan-Progrämmelchen escribir necesario ...

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  
 




RGH
EDIT: Como muss Yo mich eben vertippt haben! Beim zweiten Intento klappt lo ahora. Sorry!

Saludo
Roland

FALSCHMELDUNG de vorhin:
Also Yo ahora en el PRFRUN32.EXE a esta drei Stellen el Bytefolge $C8 $00 (= $00C8) por $00 $02 (= $0200) ersetzt. Erfolg: El EXE es igual unbrauchbar!
 
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
Na wunderbar. Nun muss lo sólo todavía en 64 klappen...
Usted puede sí el Kompiler en el 'winexecwait' laufen dejar y si él fertig es, el Parche ausführen.

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




Michael
W.
C:\FPC\fpc-3.0.0\compiler\systems\t_win.pas
wäre el Punto en el FreePascal-Compiler wo el Daten gewurstelt voluntad.

Tal vez läßt se sí daran algo drehen.
 
Alle Sprachen
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
20.04.2016  
 




Matthias
Arlt
Wäre 'ne Möglichkeit. Aber si el einfachere es...?
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
20.04.2016  
 




Michael
W.
Sieht schwer de, wäre entonces aber para 86/64.

Evtl se lo hay auch sólo generiert y lo muss en el asm86 asm64 Unterbereichen geändert voluntad.

Bin a müde...
(evtl. es el auch ya en el JediLib mejorado, wer weiß)
 
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
20.04.2016  
 




Matthias
Arlt
Yo proporcionaría Compiler primero no verändern. Se puede el sí wohl con verschiedenen Optionen aufrufen...y erschafft se entonces evtl. weitere Macken...
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
21.04.2016  
 




Matthias
Arlt
Was FreeProfan64 angeht, así kann Yo zwar no testen, habe me aber trotzdem veces el Binary bajo el Lupe genommen.

Hier liegt antes .rsrc no .edata, pero .idata

Der erste a ändernde Valor liegt a Offset (long(runtime#,60) + 148) [en 64bit De todos modos a dieser Punto]. Dort wäre $6000 einzutragen.
El otro beiden Offsets wären (.idata + 8) y (.idata + 16)
En (.idata + 8) wären auch otra vez $6000 einzutragen.
Aunque differieren en FreeProfan64 el virtuelle Größe y el Rohdaten-Größe. En el Rohdaten, also a (.idata + 16) wären lo demnach sólo $5800. Ansonsten debería el Vorgehensweise identisch ser...
Sollte no en Anhieb klappen, simplemente veces a allen 3 Offsets con beiden Werten, $6000 oder $5800, experimentieren. Oder mejor sólo a el ersten 2 Offsets, porque en (.idata + 16) dürfen lo sí máximo $5800 ser.

Etwas erstaunt war Yo de paso, dass en FreeProfan64 el Runtime auch con Prfrun32 benannt es....

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




RGH
Vielen Dank para Su Mühe! Das voluntad Yo entonces demnächst veces austesten!

Matthias Arlt (21.04.2016)
Etwas erstaunt war Yo de paso, dass en FreeProfan64 el Runtime auch con Prfrun32 benannt es....


Das liegt bastante simplemente daran, dass Yo para 64Bit exakt el gleichen Quellcode benutze. Kleinere Unterschiede voluntad por Compilerschalter hecho. Aber así befinde Yo mich en guter Gesellschaft, si uno así algunos Dateinamen de Windows betrachtet.

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
21.04.2016  
 




Matthias
Arlt
Nix a danken...el war me una Vergnügen...y Lerneffekt es auch no a verachten.


Aber así befinde Yo mich en guter Gesellschaft, si uno así algunos Dateinamen de Windows betrachtet.


Dem es nichts hinzuzufügen...

Saludo Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
21.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.634 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