PE Header Section zufügen

Hallo,
ich hänge gerade fest beim zufügen eine Section im PE Header.
Dieses Programm hat eine Demo Beschränkung auf 8000 ASM Lines.
Damit man dieses nicht mal eben erhöhen kann ist das Array statisch.
Nun habe ich aus einer älteren Version ne Lösung wo eine neue Section BSS2 angehängt wird und die Adressen von AsmLine[] darauf neu zeigen(kommt nur 2 x vor)
Die neue Section mit LordPE einzufügen usw. ist ja keine Problem aber die Adresse von den AsmLine[] 06 70 10 00 liegt ja außerhalb des Imgesize 06 34 10 00 und die neue Section ist ja nur 4 Byte groß.
Kann mir da jemand auf die Sprünge helfen?

Danke

Hier mal das alte Patchfill:

; SectionCnt=old+1
0106
09
08
; ImageSize=old+10000*4
0150
00 10 34 06 Imagesize neu
00 10 30 06
; new section 'BSS2'
0338
42 53 53 32
00 00 00 00
; size
0340
00 00 04 00
00 00 00 00
; flags
035C
00 00 00 C0
40 00 00 50
; address of AsmLines[]
2BCDCD
00 10 70 06 ?????????????????????????
08 1E 42 06
2C7F98
00 10 70 06 ?????????????????????????
08 1E 42 06
; size limit
061443
E8 FD
40 1F
0CFBA0
E8 FD
40 1F
; array clean
2BCDD2
E9 FD
41 1F
 
; size
0340
00 00 04 00
00 00 00 00
für mich schaut es aber nicht nach 4 Bytes aus ;) (je nach dem wie die Anzeige zu interpretieren ist - entweder 0x400 oder 0x40000)
grundsätzlich wäre hier nur die VirtualSize interessant. Daher verstehe ich das Problem nichgt wirklich - warum keine neue Section hinzufügen und deren VirtualSize entsprechend groß machen? Damit hätte man erstmal genug Platz.
 
Hallo CDW,
stimmt da sind wir wieder beim Intel Format. Da muss ich nochmal mein Assembler Wälzer aufschlagen.
Es sind natürlich die 0x40000 die oben ja vergrößert worden sind.
Dieser Patch hat damals super gefunzt es haben sich nur die Adressen geändert die ich in der neuen Programm Version schon gefunden habe.
Aber die neue Array Adresse 0x06701000 in dem alten Patchfile ist größer als Imagesize 0x06341000.
Das kapiere ich nicht ?


Danke

funzt nun prima
 
Zurück
Oben