| |
|
|
- 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 2 - |
|
|
Matthias Arlt | mais je suis qui l'affaire déjà un Stück näher gekommen. qui Ursache pour qui Verschiebung liegt y begründet, dass chez FreeProfan 3 Sektionen manquer. ce sont .tls,.rdata et .reloc cet liegen chez XProfan unmittelbar avant .rsrc chez FreeProfan est un partie des Platzes den cet Sektionen einnehmen würden avec Auffüll-Nullen besetzt, um cela FileAlignment (mod 512) trop gewährleisten. qui API kümmert sich um cet Nullen pas et interpretiert den place comme libre. cela Einfachste wäre eh bien, entweder une Sektion cette Taille comme Dummy einzufügen ou bien qui chez FreeProfan avant .rsrc liegende .edata um cette Betrag trop agrandir. alors naturellement seulement den Größen-Eintrag im En-tête.
Salut Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 20.04.2016 ▲ |
|
|
|
|
Matthias Arlt | So, nie gemacht maintenant la fois gemacht. Alles scheint optimal trop marcher. Es reicht donc aus, dans qui originalen Runtime qui Taille de .edata trop erhöhen, avec cela ne...aucune place entre .edata et .rsrc bleibt...
Pour weiteren Tests peux je dire, es scheint pas seulement trop marcher, mais tut es aussi zuverlässig !
Zum Nachvollziehen: chez (long(runtime#,60) + 124) [cet Adresse ist toujours juste] steht qui Taille de .edata, nämlich $C8. Diesen Wert à Differenz trop .rsrc (alors um 312) erhöhen, là alors $200 eintragen.
cela Gleiche ensuite nochmal chez (.edata + 8) et chez (.edata + 16)
cela wars aussi déjà... pour FreeProfan32.
comment cela chez 64 aussieht, peux je pas testen. cela FileAlignment beträgt là jedenfalls (mod 1024), womit sich qui Differenzwerte conforme à cela changement...
Salut Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 20.04.2016 ▲ |
|
|
|
|
RGH | merci! cela werde je juste la fois ausprobieren!
mais wieso trägt cela qui Free Pascal-Compiler pas juste so un? So muss je pour chaque Compile-Vorgang qui entstandenen EXE-Fichiers (Ok, beim Compiler ist es pas nötig) patchen, avec cela vous korrekt marcher. là werde je mir wohl un kleines XProfan-Progrämmelchen écrivons doit ...
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 ▲ |
|
|
|
|
RGH | EDIT: là muss je mich plan vertippt avons! Beim zweiten Versuch klappt es maintenant. Sorry!
Salut Roland
FALSCHMELDUNG de vorhin: alors j'ai maintenant dans qui PRFRUN32.EXE à cette trois se mettre qui Bytefolge $C8 $00 (= $00C8) par $00 $02 (= $0200) ersetzt. Erfolg: qui EXE ist juste inutilisable! |
|
|
| 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. eh bien muss es seulement encore chez 64 marcher... tu peux oui den Kompiler im 'winexecwait' courir laisser et si il fertig ist, den Patch effectuer.
Salut 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 qui Stelle im Free Pascal-Compiler wohin qui données gewurstelt volonté.
peut-être läßt sich oui daran quelque chose drehen. |
|
|
| |
|
|
|
Matthias Arlt | Wäre 'ne Possibilité. mais si es qui einfachere ist...? |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 20.04.2016 ▲ |
|
|
|
|
Michael W. | Sieht schwer aus, wäre ensuite mais pour 86/64.
Evtl wird es là aussi seulement generiert et es muss dans den asm86 asm64 Unterbereichen geändert volonté.
suis trop fatigué... (peut-être. ist cela aussi déjà dans qui JediLib verbessert, qui sais) |
|
|
| System: Windows 8/10, XProfan X4 Programmieren, das spannendste Detektivspiel der Welt. | 20.04.2016 ▲ |
|
|
|
|
Matthias Arlt | je serait den Compiler erstmal pas verändern. il peut den oui wohl avec verschiedenen Optionen appel...et erschafft sich ensuite peut-être. weitere Macken... |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 21.04.2016 ▲ |
|
|
|
|
Matthias Arlt | quoi FreeProfan64 angeht, so peux je es zwar pas testen, habe mir mais quand même fois le Binary sous qui Lupe pris.
ici liegt avant .rsrc pas .edata, mais .idata
qui erste trop ändernde Wert liegt à Offset (long(runtime#,60) + 148) [chez 64bit De toute façon à cette Stelle]. là wäre $6000 einzutragen. qui anderen beiden Offsets wären (.idata + 8) et (.idata + 16) chez (.idata + 8) wären aussi wieder $6000 einzutragen. Allerdings differieren chez FreeProfan64 qui virtuelle Taille et qui Rohdaten-Taille. chez den Rohdaten, alors à (.idata + 16) wären es donc seulement $5800. Ansonsten sollte qui Vorgehensweise identique son... Sollte es pas sur Anhieb marcher, simple la fois à allen 3 Offsets avec beiden Werten, $6000 ou bien $5800, experimentieren. ou bien besser seulement à den ersten 2 Offsets, car chez (.idata + 16) dürfen es oui maximum $5800 son.
quelque chose erstaunt était je incidemment, dass chez FreeProfan64 qui Runtime aussi avec Prfrun32 benannt ist....
Salut Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 21.04.2016 ▲ |
|
|
|
|
RGH | Vielen Dank pour Votre Mühe! cela werde je ensuite bientôt la fois austesten!
Matthias Arlt (21.04.2016)
quelque chose erstaunt était je incidemment, dass chez FreeProfan64 qui Runtime aussi avec Prfrun32 benannt ist....
cela liegt entier simple daran, dass je pour 64Bit exakt den gleichen Quellcode benutze. Kleinere Unterschiede volonté par Compilerschalter erledigt. mais avec cela befinde je mich dans bon Gesellschaft, si on so quelques Dateinamen de Windows betrachtet.
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 | 21.04.2016 ▲ |
|
|
|
|
Matthias Arlt | Nix trop remercier...cela était mir un plaisir...et qui Lerneffekt ist aussi pas trop mépriser.
mais avec cela befinde je mich dans bon Gesellschaft, si on so quelques Dateinamen de Windows betrachtet.
Dem ist rien hinzuzufügen...
Salut Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 21.04.2016 ▲ |
|
|
|