Ada*_*itz 39
使用工具从共享库(例如,诸如kernel32.dll之类的.dll)转储导出表.您将看到命名的入口点和/或序数入口点.通常对于窗口,命名的入口点是非解码的(外部"C").您很可能需要对汇编代码进行一些窥视,并从堆栈帧(如果有)和寄存器用法派生参数(类型,编号,顺序,调用约定等).如果没有堆栈帧,则有点困难,但仍然可行.请参阅以下链接以获取参考:
检查dumpbin等工具以调查导出部分.
还有一些网站和书籍试图保留未记录的Windows API的更新列表:
编辑: 这些相同的原则适用于多种操作系统,但是,您需要替换用于转储导出表的工具.例如,在Linux上,您可以使用nm来转储目标文件并列出其导出部分(以及其他内容).您还可以使用gdb设置断点并逐步执行入口点的汇编代码以确定参数应该是什么.
IDA Pro是您最好的选择,但请请加倍请不要将它们用于任何事情.
他们是内在的,因为他们改变了; 他们可以(并且确实)甚至因为修补程序而更改,因此您甚至不能保证您的未记录的API将适用于您为其编写的特定操作系统版本和Service Pack级别.如果你运送这样的产品,你就是靠借来的时间生活.
到目前为止,这里的每个人都缺少一些实质性的功能,这些功能包含了大量未记录的Windows OS RPC部分.RPC(认为Rpcrt4.dll中,LSASS.EXE,CSRSS.EXE等)发生的操作非常频繁地在所有的子系统,通过LPC端口或其它接口,其功能是埋在各类型/子类型的神秘咒语/结构-的typedef的等等......这些都是调试大幅更加困难,由于异步特性,或者如果你是通过单步执行或者你有什么调试该事实,他们是注定的过程的,你会发现整个系统由于阻止键盘或其他I/O被传递而导致锁定;)
ReactOS可能是调查未记录的API的最有效方法.他们有一个相当成熟的内核和其他高管.IDA是相当耗时的,你不太可能找到任何ReactOS人员尚未找到的东西.
这是链接页面的模糊;
ReactOS®是一款基于Windows®XP/ 2003设计的免费现代操作系统.它完全从头开始编写,旨在遵循Microsoft设计的Windows®体系结构,从硬件级别到应用程序级别.这不是基于Linux的系统,并且不共享任何unix架构.
ReactOS项目的主要目标是提供与Windows二进制兼容的操作系统.这将允许您的Windows应用程序和驱动程序在Windows系统上运行.此外,还使用了Windows操作系统的外观,使习惯熟悉Windows®用户界面的人会发现使用ReactOS非常简单.ReactOS的最终目标是允许您删除Windows®并安装ReactOS,而最终用户不会注意到更改.
当我调查一些很少见的Windows构造时,ReactOS通常是唯一可信的参考.
归档时间: |
|
查看次数: |
14254 次 |
最近记录: |