在DLL中打印功能代码

我想在DLL中打印函数的代码。 我加载了dll,我有了所需函数的名称,下一步是什么? 谢谢!     
已邀请:
实际上,接下来是获取代码。 DLL中包含的是目标代码-形式为准备执行处理器的二进制代码,不准备打印。 您可以反汇编DLL中的内容。如果您习惯使用汇编语言,这可能会很有用,但这绝对不是原始源代码(也可能不是非常接近原始源代码的源代码)。如果您想反汇编,将其加载到程序中(通常)不是一个很好的起点。尝试打开VS命令行并使用
dumpbin /disasm yourfile.dll
。除非有问题的DLL很小,否则请准备好大量输出。     
检索有关DLL中所述功能的实际实现功能的提示的唯一选择是对汇编的二进制表示进行逆向工程。这意味着您几乎必须使用反汇编程序(IDA Pro或调试器,例如OllyDbg)将操作码转换为实际的汇编助记符,然后按照自己的方式进行操作并尝试了解其功能的详细信息。 注意,由于它是用C / C ++编译的,因此由于优化和过程的性质,在过程中会丢失很多数据。最终的程序集可能(可能会)看起来晦涩难懂,毫无意义,但它的工作方式仍然与程序员使用高级语言对其进行编程的方式完全相同。这不会容易。需要花时间。您将需要运气和神经。但这是可行的。 :)     
没有。 DLL是编译后的二进制代码。您无法仅通过下载源代码并知道函数名称来获取源代码。 如果这是一个.NET程序集,则可以使用反射获取源。但是,您提到了C ++,因此这值得怀疑。     
看看这个http://www.cprogramming.com/challenges/solutions/self_print.html和这个打印自己代码的程序吗?而这个http://en.wikipedia.org/wiki/Quine_%28computing%29 我不确定它是否可以满足您的要求,但我想它可能会对您有所帮助。     

要回复问题请先登录注册