I'm looking for a library that will disassemble x86 code into some sort of object model that I can then use to write routines that analyze the code. I'm not interested in a library that converts x86 code to text disassembly--I've found more than a few of those, but they're not that useful since I want to do some work on top of the code that I disassemble. Oh, and I'd like it to be .Net code (VB or C# preferable).
Even though there is less prominence of VB.NET community, but still we can say VB.NET is better than C#. 1. VB.NET uses implicit casting and makes it easier to code whereas in C# there are lot of casting and conversions needs to be done for the same lines of code.
It is that VB computes the loop bound once while C# computes the loop condition on each iteration. It is just a fundamental difference in the way the languages were intended to be used. ...is slightly faster than the equivalent in VB.
For professional developers it is not a very popular language as the syntax is a bit bulky and clumsy. Languages like C#, Java, C++ and others are more popular among professional developers. However, you don't have to be a developer to write applications.
The answer is yes, but it is mostly used for enterprise applications and by a select few large software companies who still enjoy the benefits of Visual Basic. Microsoft uses Visual Basic as the primary programming language for the Windows operating system.
Reflector doesn't do x86 as far as I know.
Your best bet is using the scripting or COM interface to OllyDbg or IDA Pro.
I would recommend IDA Pro if you can afford it. IDA has a very rich API, active development and lots of documentation. You can run it in autonomous mode, I believe using the '-AS' switch. See http://www.hex-rays.com/idapro/idadoc/417.htm for more info on the command line arguments.
I also ran into libdasm, but never used it, so not sure how good it is. libdasm looks like C/C++ so it should be simple to write an API wrapper in C#.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With