在您部署了可执行文件和依赖文件后,是否有人可以“观察”您的变量/等在运行时是如何分配的?更具体地说,如果有人拥有您的可执行文件,他们可以“观察”您如何管理内部数据吗?
我不想知道怎么做,我只想知道是否可行。是与否将决定我如何构建我的代码。
最佳答案
当然可以,但是有不同程度的难度。如果你给他们一个调试版本,他们可以很容易地在调试器中启动你的可执行文件,然后只使用他们的调试工具来观察执行(就像程序员在开发时所做的那样)。
如果你给他们一个剥离但没有优化的构建,那么他们没有所有的调试符号名称,但他们仍然可以在调试器中加载你的程序并观察它的执行,一条指令一条指令并映射出正在使用的内存使用以及如何。这更困难,但仍有可能。
如果你给他们一个精简的、优化的构建,它会有点困难(因为优化器会产生一些复杂且难以遵循的装配),但仍然不是不可能的。
最终总是有可能的。不过,是否值得花费某人的时间和精力则是另一回事。
关于c++ - 观看来自可执行文件的指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18668461/