Closed. This question needs to be more focused. It is not currently accepting answers. Learn more。
想改进这个问题吗?更新问题,使其只关注一个问题editing this post。
5年前关闭。
我偶然发现了多态引擎,对它们一无所知。但是,我很好奇它们是怎么写的。我查过的每一个例子都是在汇编中写的,我的汇编一点也不好;我只知道这里和那里的一些指令,但不是很好。另一方面,我擅长C和C++。
我熟悉C++中的多态性概念,但在阅读了多态引擎之后,我假设它们与C++中的多态性不同。
如何使用C++中使用的
想改进这个问题吗?更新问题,使其只关注一个问题editing this post。
5年前关闭。
我偶然发现了多态引擎,对它们一无所知。但是,我很好奇它们是怎么写的。我查过的每一个例子都是在汇编中写的,我的汇编一点也不好;我只知道这里和那里的一些指令,但不是很好。另一方面,我擅长C和C++。
我熟悉C++中的多态性概念,但在阅读了多态引擎之后,我假设它们与C++中的多态性不同。
如何使用C++中使用的
virtual
关键字来混淆或加密应用程序中的代码? 最佳答案
如果必须修改程序,可以修改源代码或修改编译的可执行文件。
第一种方法很糟糕(在我看来),因为:
源文件在编译过程中要经过很多优化。因此,两个彼此略有不同的源文件可以产生相同的目标代码。
如果你需要你的程序是自我修改的,你将不得不携带所有的工具来构建它。(有点像带着一家糖果厂,以备旅途中需要一种不同口味的糖果)
...
请注意,我在这里讨论的是编译语言,如C或C++在您的问题中的用法。对于解释性语言来说,第一种方法是显而易见的。
在您的情况下,第二个更合理,但它与目标机器的机器代码严格相关。
因此,我的观点是:如果你想实现一个程序或程序,它能够生成其他程序的修改版本或自己的修改版本,则可以在汇编、C、C++或任何其他语言中实现它,但在所有情况下,你必须精通目标机器的汇编语言和机器代码。
我建议你多研究。这个话题很广泛。如果你决定继续,我可以说大会不会是最大的龙击败。
10-04 11:06