Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is a CLR header in .net applications?

While using the ildasm.exe tool for disassembling other .Net applications, I came across the following line.

program.exe has not valid CLR Header and cannot be disassembled

But when I tried to disassemble my code, it didn't show any error, and disassembled the code easily.

As a result I am curious about what is a CLR Header and what can be the advantages/disadvantages of having a valid CLR Header for your assembly?

Can anybody please answer the above questions?

I checked the msdn, but couldn't find much information on the topic.

like image 345
Pratik Singhal Avatar asked Mar 21 '23 21:03

Pratik Singhal


1 Answers

ILDASM.exe is meant to disassemble CLR code. If there is not a valid CLR header, it usually means that the executable was written in another language and compiled natively.

like image 134
Justin Niessner Avatar answered Apr 01 '23 00:04

Justin Niessner