dorkbox / PeParser

Windows PE (Portable Executable) file parser for Java 6+
Other
24 stars 4 forks source link

Error parsing PE file #6

Open bonigarcia opened 1 year ago

bonigarcia commented 1 year ago

I want to pare the resources from the .rsrc section of the following PE file (147.7 MB). I got that file from the Edge MSI installer (inside the Binary.MicrosoftEdgeInstaller stream).

I tried to use PeParser from Java as follows:

PE pe = new PE("/path/to/MicrosoftEdge_X64_116.0.1938.76.exe");

... but I got the following error:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 685592958
    at dorkbox.bytes.LittleEndian$UInt_.from-_W1zjd8(LittleEndian.kt:259)
    at dorkbox.peParser.ByteArray.readUInt-OGnWXxg(ByteArray.kt:36)
    at dorkbox.peParser.headers.resources.ResourceDataEntry.<init>(ResourceDataEntry.kt:33)
    at dorkbox.peParser.headers.resources.ResourceDirectoryEntry.<init>(ResourceDirectoryEntry.kt:85)
    at dorkbox.peParser.headers.resources.ResourceDirectoryHeader.<init>(ResourceDirectoryHeader.kt:57)
    at dorkbox.peParser.PE.fromInputStream(PE.kt:192)
    at dorkbox.peParser.PE.<init>(PE.kt:119)

Any idea of what is wrong here? Thanks in advance.

dorkbox commented 11 months ago

Sorry, I didn’t see this issue! I’ll look into this! Thank you for providing an example