Skip to content

gabrielweyer/pe-clr-viewer

Repository files navigation

Portable Executable CLR Viewer

Build Status

I was reading through the second chapter of Advanced .NET Debugging and didn't manage to find the entry point of an executable. I wrote this web application so that a) I could understand more about the PE format and b) I wouldn't have to repeat the same basic math each time I wanted to inspect a .NET DLL.

Portable Executable CLR Viewer is a hex viewer for .NET binaries.

At the moment it's fairly limited and only highlights:

  • The bitness (x86 vs x64)
  • The entry point Relative Virtual Address (search for RVA in the PE format)
  • The CLI flags
  • The targeted CLR version

If you feel adventurous you can try the hosted version.

Fair warning: this is probably the ugliest web app in the world 😹.

This is very much a work in progress. If I manage to motivate myself I'll work on the cards listed in this public Trello board.

Running locally

If you would like to inspect a proprietary binary I advise you to run locally (the app is self-contained). You'll need:

Then run the following commands one by one:

yarn install
yarn start

CI/CD

Each push to main triggers a GitHub Actions workflow and a deployment to Azure Static Web Apps.