图片与馅饼的区别

2022-08-04 00:00:00 c shared-libraries c++ linker-flags

我正在寻找二进制加密代码生成的选项,发现有两个选项可用,即PIC和PIE。我试着找出两者的不同之处,但没有找到合适的文章。如果有人能用专业和核心来举例说明不同之处,或者提供好文章的链接,那就更值得学习了。

我的基本目的是保护编译后的代码,因为ELF/PE格式可以被病毒攻击,也可以被黑客攻击,或者在反向技术的帮助下可以重新生成代码。还请提供任何其他保护编译代码免受攻击和反编译的方法。

我正在使用Cygwin的GCC编译器构建跨平台的应用程序。


解决方案

来自gcc documentation:

-fpic
生成适合在共享库中使用的位置无关代码(PIC)...

-fpie
这些选项类似于-fPIC和-fPIC,但生成的位置无关代码只能链接到可执行文件中...

相关文章