[SOLVED] Does Anyone Know How to Disassemble C/ C++ DLLs?

Hi, I wanted to manipulate a program’s functions externally by interacting with the installed DLLs (created in C/ C++) but haven’t been able to make any headway. Was wondering if any of the experienced programmers in the forum have had any experience with this. Would appreciate any guidance
Regards,

You need a disassembler , which is a tool that takes a binary object (like a compiled file, a library, or even an executable) and tries to reinterpret its content as assembly.

With a tool like that you can usually retrieve the names of the internal symbols (unless of course the binary image is stripped, but this is not the case for dynamically liked libraries).

Also for C++ this is a bit difficult because of name mangling.

Try to give a glance to Objdump.


YOu can disassemble the code sections of the DUMPBIN /DISASS - but if you want “code” like C++, then you need a decompiler. However, they are far from great, and often make quite unreadable code - yes, it’s something that you can feed into a compiler, but it’s hardly what I’d call “human readable”.


In my biased opinion, the best disassembler out there is IDA (Interactive Disassembler). It is somewhat expensive since it’s targeted towards professional use, but there’s a freeware (older) version you can try:

The Hex-Rays Decompiler (an add-on for IDA) can produce C pseudocode from the disassembly, which can in many cases be recompiled again.

7 Likes

Very Many Thanks for the prompt answer and guidance!

Will try out the various options. Would be grateful for further guidance in case of queries regarding tips n tricks in usage, if any, posted in this thread

Regards,

2 Likes

I’m sure you will be able to fix and get sorted what you’re looking to, Joker did a very much excellent favor by giving you a perfect solution, if you follow it, that will do the deed.

Other than that, everyone allow to post further solution and tricks on existing topics if they have something handy, so no worries. Good luck! :+1:

4 Likes

It is almost impossible to disassemble c++ dll coz even if you do so it will result in assembly or the machine code, but can be useful if you know to work with language named Brainfuck, Brainfuck deals direcly with the machine code and is one of the hardest computer language

1 Like

Along with IDA add this plugin https://derevenets.com/ so you can decompile c,c++ but if they use some third party lib or custom compiling option they set result accuracy me decrease:)

3 Likes