pic Vs馅饼之间的差异

Vin*_*982 9 c c++ shared-libraries linker-flags

我正在寻找二进制加密代码生成的选项,并找到两个可用的PIC和PIE选项.我试图找到两者之间的差异,但没有找到合适的文章.如果有人可以通过例子与专业人士和玉米来解释差异,或者提供好文章的链接将是很好的学习.

我的基本动机是保护已编译的代码,因为ELF/PE格式可能受到病毒的攻击,或者可能被黑客入侵,或者在反向技术的帮助下可以重新生成代码.还要提供任何其他方法来保护编译代码免受攻击和d-compling.

我正在使用GCC Compiler通过Cygwin构建跨平台应用程序.

Car*_*rum 14

从gcc文档:

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

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

  • 兄弟我已阅读手册,但我想知道工作差异 (21认同)
  • 它不是说它在那里吗?一个用于制作共享库,另一个用于制作可执行文件.正如您可能想象的那样,代码生成的差异将因应用程序和目标而异. (5认同)
  • 喜欢出于好奇而阅读手册页并进行谷歌搜索以获取更多信息,然后再次查看该手册页 (5认同)
  • 请参见http://stackoverflow.com/q/2463150/39648 (4认同)
  • @CarlNorum 这是 Google 搜索“fPIC vs -fpie”的第一个结果。应该利用这个机会使答案更有帮助。 (2认同)