Washi1337 / AsmResolver

A library for creating, reading and editing PE files and .NET modules.
https://docs.washi.dev/asmresolver/
MIT License
822 stars 125 forks source link

Read/write support Win32 resource structures #66

Open MaxXor opened 4 years ago

MaxXor commented 4 years ago

Summary: Currently, Win32 resources can only be read from IReadableSegment, which can be used to create an IBinaryStreamReader and read the resource in raw bytes. Updating and interpreting of resources, such as VERSIONINFO resources, is left to the user and cumbersome to parse. Native support for writing/reading such resources with parsed information would make this easier.

A look at how it's done in Vestris.ResourceLib for VERSIONINFO resources might be helpful.

Supported resource directories

Washi1337 commented 4 years ago

I'd say this is perfect for a separate package (not everyone might need this feature). I added the AsmResolver.PE.Win32Resources project to the solution.

I'd also say all resource types should be assigned their own namespace in the For example, I placed the version info resource into the AsmResolver.PE.Win32Resources.Version namespace.

Do you have any suggestions for the public API to make it easier to get to the interpreted version of the resources?

laomms commented 2 years ago

Is it possible make it support update string table(RT_STRING).