Information Security Stack Exchange is a question and answer site for information security professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Do disassemblers detect the use of C/C++ standard functions and specify them in the output code, adding the #include line to the appropriate header file (such as stdio.h or even windows.h)?

If not, does the whole big library is being recognized as the developer's own business-logic code, and written fully? Aren't the standard libraries known binary sequences (or can be processed some way to be known, as a binary-code can be different because of addressing)?

Do you know disassemblers that do detect standard functions and properly #include them in the output?

share|improve this question
Don't cross-post. programmers, reverseengineering – CodesInChaos Nov 16 '13 at 17:01

The question is not very clear to me, but I'll try to answer as I understand it,

Yes, disassemblers do detect standard functions which is possibly loaded as dynamically linkable library (dll) into memory when you execute the binary.

The standard library functions (esp. those that belong to stdio/iostream/stdlib etc) are generally part of most operating system distribution, which is not shipped with debugging symbols (meaning, you won't be able to see the human readable source code, but would still be able to see the assembly level instructions) as a dynamically linkable library. So, if you wan't to see the source code of the functions that belong to standard library, then you need a debug build of the dynamically linkable library, which will include symbol related information with mapping of source code line numbers.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.