观看可执行文件的说明

时间:2013-09-07 00:27:15

标签: c++ executable

在部署可执行文件和依赖项文件后,是否有可能“监视”运行时如何分配变量/ etc?更具体地说,如果有可执行文件,有人可以“观察”您如何管理内部数据吗?

我不想知道如何做到这一点,我只想知道是否有可能。是否存在将决定我如何构建代码。

2 个答案:

答案 0 :(得分:1)

当然,但有各种难度。如果你给他们一个调试版本,他们可以很容易在调试器中启动你的可执行文件,然后只需使用他们的调试工具来观察执行(就像程序员在开发时那样)。

如果你给它们一个剥离但没有优化的构建,那么它们没有所有的调试符号名称,但它们仍然可以在调试器中加载你的程序并观察它的执行,逐条指令并绘制出正在的内存使用和如何。这更难,但仍有可能。

如果你给它们一个剥离的,优化的构建,它会更难(因为优化器可以产生一些复杂且难以遵循的组装)但仍然不是不可能的。

最终总是可能的。不过,是否值得某人的时间和精力是一个不同的故事。

答案 1 :(得分:1)

是的,这完全有可能。任何体面的调试器都可以遵循您的代码。

不,这应该确定您的代码结构,因为我可以保证无论您做什么都会影响其他人是否能够理解/遵循您的代码。它可能会让那些不那么聪明的人慢下来,但是那里有一些非常聪明的人,他们的整个生活都围绕着理解其他人的编译代码。