Jim*_*hen 10 c++ windows process
Process Explorer有时会将EXE显示为"打包图像",但它的含义是什么.
我发现的是:编译一个exe(使用Visual C++ 2010),/ZI选项结果是打包图像,但/Zi没有.为何如此差异?
BTW:编译的DLL /ZI也被认为是"打包图像"并标记为紫色.
Han*_*ant 10
"打包图像"是指压缩可执行代码以使文件更小的打印图像.典型的文件大小减少徘徊在50%左右.它在运行时使用"加载器"在开始执行之前将数据解压缩回可执行代码.在过去,磁盘存储容量有限,网络带宽有限,这很有用.
今天有了TB级磁盘和兆位网络,这是一种气味,也可以利用打包来隐藏恶意代码.当然,Process Explorer为其添加不同颜色的原因.
没有记录PE用于检测包装的确切启发式.当然不是,这会让它太容易规避.这不是微不足道的,没有标准的实施包装方式.粗略地说,它会查看可执行文件中的部分,并在太多看起来像非可执行代码时引发蓝旗.
是的,当你使用/ ZI时会有很多.更重要的是链接器的/ INCREMENTAL选项,在您使用/ ZI时自动打开.这允许您在调试时编写代码,编辑+继续选项.并快速重新链接可执行文件,而链接器不必完全重新生成文件.这只能在可执行文件中有大量空白空间时才能工作,可用于添加新的机器代码字节.这是一面蓝旗.
当然不是真正的问题,您的用户只会看到您的程序的Release版本.哪个是没有/ ZI而没有/ INCREMENTAL.
| 归档时间: |
|
| 查看次数: |
1783 次 |
| 最近记录: |