Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Use a tool to dump the export table from a shared library (for example, a .dll such as kernel32.dll). You'll see the named entry points and/or the ordinal entry points. Generally for windows the named entry points are unmangled (extern "C"). You will most likely need to do some peeking at the assembly code and derive the parameters (types, number, order, calling convention, etc) from the stack frame (if there is one) and register usage. If there is no stack frame it is a bit more difficult, but still doable. See the following links for references:</p> <ol> <li><a href="http://www.sf.org.cn/symbian/Tools/symbian_18245.html" rel="noreferrer">http://www.sf.org.cn/symbian/Tools/symbian_18245.html</a> </li> <li><a href="http://msdn.microsoft.com/en-us/library/31d242h4.aspx" rel="noreferrer">http://msdn.microsoft.com/en-us/library/31d242h4.aspx</a></li> </ol> <p>Check out tools such as <a href="http://msdn.microsoft.com/en-us/library/c1h23y6c(VS.71).aspx" rel="noreferrer">dumpbin</a> for investigating export sections.</p> <p>There are also sites and books out there that try to keep an updated list of undocumented windows APIs:</p> <ol> <li><a href="http://undocumented.ntinternals.net/" rel="noreferrer">The Undocumented Functions</a></li> <li><a href="http://www.codeproject.com/KB/system/Win32.aspx" rel="noreferrer">A Primer of the Windows Architecture</a></li> <li><a href="http://support.microsoft.com/kb/187674" rel="noreferrer">How To Find Undocumented Constants Used by Windows API Functions</a></li> <li><a href="http://rads.stackoverflow.com/amzn/click/0201608340" rel="noreferrer">Undocumented Windows</a></li> <li><a href="http://en.wikipedia.org/wiki/Win32" rel="noreferrer">Windows API</a></li> </ol> <p><strong>Edit:</strong> These same principles work on a multitude of operating systems however, you will need to replace the tool you're using to dump the export table. For example, on Linux you could use <a href="http://linux.about.com/library/cmd/blcmdl1_nm.htm" rel="noreferrer">nm</a> to dump an object file and list its exports section (among other things). You could also use <a href="http://www.gnu.org/software/gdb/" rel="noreferrer">gdb</a> to set breakpoints and step through the assembly code of an entry point to determine what the arguments should be. </p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload