windows - ImageBase + SizeOfHeaders hopper ved sektionstabellen

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg læste en tutorial om PE, og det siger



  Gå til sektionstabellen enten ved at tilføje ImageBase til SizeOfHeaders



men SizeOfHeaders er



  Størrelsen af ​​alle overskrifter + sektionstabellen



så hvis vi tilføjer SizeOfHeaders til ImageBase, vundet vi ikke i sektionerne snarere end bordet?

Bedste reference


SizeOfHeaders er faktisk størrelsen af ​​hele overskriften, herunder DOS-stuben.


For at få adressen til sektionstabellen skal du først få adressen til den valgfrie overskrift og tilføje FileHeader.SizeOfOptionalHeader.

Andre referencer 1


SizeOfHeaders er ikke vant til at finde ud af placeringen af ​​sektionstabellen, selvom de måske matcher i nogle filer (men jeg forventer ikke det).


Her er hvordan det gøres i Windows-overskrifterne (og dermed systemlaster):


#define IMAGE\_FIRST\_SECTION( ntheader ) ((PIMAGE\_SECTION\_HEADER)        
    ((ULONG\_PTR)(ntheader) +                                            
     FIELD\_OFFSET( IMAGE\_NT\_HEADERS, OptionalHeader ) +                 
     ((ntheader))->FileHeader.SizeOfOptionalHeader   
    ))


Bemærk at den faktiske værdi af SizeOfOptionalHeader ikke er markeret; det kan være meget stort eller endda negativt - nogle malware bruger det trick til at narre analysere værktøjer.


Se her for flere detaljer og endda nastier-tricks. [6]