InCalcolo il file di offset di un punto di ingresso in un file PE
http://en.redinskala.com/finding-the-ep/
ci sono informazioni su come trovare il file offset del punto di ingresso in un file exe.
Qui posso leggere quel
EP (File) = AddressOfEntryPoint - BaseOfCode + .text [PointerToRawData] + FileAlignment
Tuttavia, quando ho calcolo di questo io (ho usato un paio di file exe diversi) Sono giunto alla conclusione che
Offset del punto di ingresso nel file EXE = AddressOfEntryPoint + .text [Pointe rToRawData] - .text [VirtualAddress]
Dove AddressOfEntryPoint prelevato dalla IMAGE_OPTIONAL_HEADER e gli altri due valori dalla IMAGE_SECTION_HEADER.
Le informazioni su tale pagina Web sono false? Aggiungendo FileAlignment come fanno solo sembra sbagliato, non ha senso. O lo fa? Un allineamento di file suggerisce che dovrei usare modulo o qualcosa per calcolare un valore. Se BaseOfCode e FileAlignment hanno lo stesso valore (per lo più sono), non disturberanno l'aggiunta al calcolo, ma come avrebbe senso?
Avrei dovuto rileggere la specifica PE, ma l'aggiunta di file sembra davvero sbagliata. Se l'offset non allineato è 'x', andrei per' x - x% FileAlignment'. –