Hos*_*nia 0 c++ delphi decompiling
如何查看Delphi或C++编译的可执行文件的源代码?
请帮我.
编辑后:
我有一个程序.当我启动该程序时,它会显示一个对话框并要求输入密码.此密码保存在源代码中.我想快速轻松地获取此密码.
dth*_*rpe 12
你不能.
当编译器将人类可读的文本源代码减少到机器可执行代码时,将丢弃大量信息.局部变量不需要机器代码中的名称,例如,它们只是指令操作码中的寄存器位.
这就是为什么调试已编译的可执行文件以逐行逐步执行原始源文件的原因只有在编译器调试符号与可执行文件一起使用时才能执行.
有些实用程序试图将机器代码反向工程为源代码,但在我看来,结果对人类的可读性低于原始机器代码.机器生成的函数名称,机器生成的局部变量和参数,以及实用程序多次猜测参数和本地变量的确切数据类型.(这个arg是一个有符号的int还是一个unsigned int?很难说它只是一个堆栈槽或机器寄存器)
编译为中间表示,如在Java和.NET中所做的那样,提供了更多的可逆性,因为保留了许多原始代码的类型和符号名称.例如,Reflector可以发出非常接近原始人类编写的源代码的C#源代码.