c++ - 观看来自可执行文件的指令?

标签 c++ executable

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

我不想知道怎么做,我只想知道是否可行。是与否将决定我如何构建我的代码。

最佳答案

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

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

如果你给他们一个精简的、优化的构建,它会有点困难(因为优化器会产生一些复杂且难以遵循的装配),但仍然不是不可能的。

最终总是有可能的。不过,是否值得花费某人的时间和精力则是另一回事。

关于c++ - 观看来自可执行文件的指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18668461/

相关文章:

c++ - 如何将格式字符串打印到窗口中?

c++ - 当 QDeclarativeItem 上的 X、Y 不为 0 时,QPainter::drawImage() 剪辑 QImage

c++ - 如何在 GNU Autotools 项目中包含 Boost?

C++ 可执行文件打开一个命令窗口

c++ - 执行不带前导 `./` 的 C++ 二进制文件

linux - 正在运行的进程是否会损坏其目录中的可执行文件和文件(当前正在使用)

ios - 如何知道您构建的 iOS 应用程序是否适用于 64 位。

c++ - 在 Qt 应用程序中使用自定义 dll

c++ - VS2010 中不同大小的 lambda 表达式?

time - 执行一个批处理文件需要多长时间?