Announcement

Collapse
No announcement yet.

Quick question - Contents lists .dlls

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Quick question - Contents lists .dlls

    In unix the libraries have contents lists that are listable by "nm" and other tools - do .dlls have the equivalent, so i can find out what is in them ?

  • #2
    Originally posted by FunkyChicken
    In unix the libraries have contents lists that are listable by "nm" and other tools - do .dlls have the equivalent, so i can find out what is in them ?
    The short answer is "yes". The interfaces that a library exposes are what the linker is connecting together to make the executable, yes?

    Depending on who the vendor is (if the source is closed) you can generally get a reference for the API that will tell you what interfaces are exposed and what arguments they accept and what values they return. Getting this info from a compiled library for which you do not have the sources requires tools (disassembler/debugger) that are publicly available. If you can attach the symbols for the library being analyzed, you'll obviously be able to gather more information about what it's doing and how.

    Knowing the published interfaces for a library is only part of the battle. There are libraries that will expose interfaces unintentionally, there are interfaces that are not published, there are cases where arguments can be provided that were not intended or handled by the author or result in conditions that the architect did not anticipate. These are called bugs or vulnerabilities. Uncovering these conditions and using them to gain unauthorized access or escalation of privilage is called an exploit.

    Doing this without the express written permission of the owner of the code/computer/network/system is, I believe, a felony.

    Keeping this and the fact that I'm mostly just talking out my ass in the middle of the night, go read "man gcc" and about what the linker and compiler are doing when they create an executable. You can then extend your investigation to other platforms/compilers and libraries of functions. Eventually, you will develop spiffy skills and I'll have to buy you a drink.
    That's my story and I'm sticking to it.

    Comment

    Working...
    X