wild84
2018-04-21 01:08
采纳率: 91.6%
浏览 1.7k
已采纳

delphi工程如何反编译成可读的代码

我用delphi decompiler反编译,出来的都是乱码,我应该怎么弄?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • blownewbee 2018-04-21 15:31
    已采纳

    delphi程序很难反编译,因为它生成的是机器代码。
    机器代码的运行结果和你的源代码等价,但是不是一一对应的。或者说的更直白一点,相同的机器码可能由无数种源代码编译得到,而可读性良好的那一种只是这无穷多种可能性之一。
    所以不可能还原回去,这好比让猴子打字,碰巧能打出有意义的诗歌一样。
    目前公开的程序中,IDA Pro,一个俄国公司的程序,是反编译效果最好的,也不过只能得到类似C语言的伪代码和相对比较好的反汇编代码。

    点赞 打赏 评论
  • blownewbee 2018-04-21 15:36

    反向工程所需要的经验和智慧超过了现在机器能够处理的范畴。只有非常有经验的人才能分析比较大的程序的代码,并且反向得出里面的算法或者重新构造出源代码。

    我上传过一些这方面的软件和资料:https://download.csdn.net/download/caozhy/9959220

    顺便说下,这里有很多混分的人,会给你贴出一些不负责任的回答,告诉你某某工具可以反编译delphi程序,但是请相信我,如果他们真的有这样的办法和工具,他们可以去给fbi服务,根本不会出现在这里回答你的问题了。百度上给出的答案你也不用去找了。所谓的“工具”其实无非就是将delphi的程序中的窗体布局、资源一些固定的内容提取出来,目前我没见到,也不相信有什么能将delphi程序反编译回去的。

    点赞 打赏 评论
  • blownewbee 2018-04-21 15:41

    如果真的有这样的工具出现,也就没有什么开源软件,闭源软件之分了,欧盟也不需要和微软打官司要求微软交出源代码了。中兴公司也不用担心什么软件出口的禁令了。
    甚至,如果研发出这样的反编译程序的成本是开发一个操作系统的1/100,哪怕“只要”几十亿美金,我想很多人也愿意去搞这样的软件的。

    点赞 打赏 评论

相关推荐 更多相似问题