是否可以在运行时反编译程序

时间:2011-12-31 10:19:19

标签: encryption decompiling cracking

因为我喜欢制作自己的游戏规则,所以我想知道如何破解电脑游戏来修改它们。问题是游戏文件是加密的,这使得游戏修改变得非常困难。然而,我想到了解决它的方法。由于计算机无法直接执行加密的汇编数据,因此必须先在运行指令之前解密信息。鉴于程序具有正确的密钥,它可以在将指令加载到ram或处理器之前继续解密数据。程序执行后,解密的数据将从ram内存中抛出。然而,我想,如果一个人在哪里宣传这个问题,理论上如果你可以运行一个副本程序,在解密后制作所有代码的副本......你应该能够拼凑整个程序而不必解密它你自己。您只需要在运行时制作代码的副本,然后将其存储在ROM中。之后,您可以将代码反编译成您想要的任何语言。

我描述的方案在数据加密方面是否准确?第二,如果我的想法是正确的......那么在运行时是否可以创建程序的副本并在之后将其反编译成一种选择的语言?

感谢您的回复

1 个答案:

答案 0 :(得分:2)

作为一个直接的答案,是的,这通常是你破解程序的方式,这就是为什么DRM方案(例如加密应用程序逻辑)通常会失败的原因。当然,实际过程可能相当艰巨,我会联系有相似兴趣的人,以达到你想要的目的。例如,在编译程序后,大部分数据(例如变量名称)都会丢失。正如格雷格提出的那样,你确实更善于创造自己的游戏。通常情况下,这些事情只会(非法)取消对游戏的保护,不会以任何重大方式改变它。

您将看到的工具是调试器(用于单步执行应用程序逻辑并查看内存中的程序状态)和反编译器,用于以某种形式或其他形式重新创建源。请注意,在您的特定司法管辖区内执行此操作可能不合法,您已收到警告。