Hello. I need to write a relatively small program to parse .net executables and generate the list of calls to external methods. For example if System.Console.WriteLine
is called inside the file the tool should print that System.Console.WriteLine
is called somewhere. I cannot (limited brain and time) and need not (all I need is a list of calls) implement a real disassembly. I want a grep friendly perl friendly relatively short solution that writes the names of the functions called and the offset where the call happened.
Things I already tried:
Downloading specs from MSDN. Now I know that static call is translated to
0x28
in bytecode. :) It is followed by method descriptor but understanding what method descriptor means will probably require reading the entire spec.Opening simple exe in Reflector. Reflector precisely reproduced the code of my original application yet I can not see the bytecode for the calls.
Is it possible to implement the desired limited functionality with limited time and knowledge?
If so what do I know to implement it? Is there any "CIL assembly for dummies" guide?