C或C ++中的多态引擎

时间:2014-09-08 11:20:17

标签: c++ c assembly polymorphism

我偶然发现了多态引擎,我对它们一无所知。但是,我很好奇他们是如何写的。我抬起来的每一个例子都是用汇编写的,我的装配并不好;我知道这里和那里只有一些指示,但不是那么好。另一方面,我擅长C和C ++。

我熟悉C ++中的多态性概念,但在阅读了多态引擎之后,我假设它们与C ++中的多态性不同。

如何使用C ++中使用virtual关键字等技术来混淆或加密应用程序中的代码?

1 个答案:

答案 0 :(得分:1)

如果必须修改程序,您可以修改源代码或修改已编译的可执行文件。

第一种方法很糟糕(在我看来)因为:

  • 源文件在编译过程中需要进行大量优化。因此,两个略有不同的源文件可以产生相同的目标代码。
  • 如果您需要自行修改程序,则必须携带构建它所需的所有工具。 (就像你带着一个糖果工厂一样,只是因为你想要一个不同味道的糖果来旅行)
  • ...

请注意,我在这里谈论编译语言,因为在你的问题中使用C或C ++表明。对于解释型语言,第一种方法是显而易见的。

在您的情况下,第二个更有意义,但它与目标机器的机器代码严格相关。

所以我的观点是:如果你想实现能够生成其他程序的修改版本或其自身的修改版本的程序或例程,你可以用汇编语言,C语言,C ++或任何其他语言实现它,但是在所有情况下,您必须精通目标机器的汇编语言和机器代码。

我建议你研究更多。这个主题很广泛。在你决定继续的情况下,我可以说大会不会成为最大的龙。

相关问题