Bab*_*aba 5 c obfuscation xcode gcc
我想提供一个C静态库并尽可能地隐藏内部实现.我在我的代码上使用代码混淆器,这对于使符号对人类来说难以理解非常有效.我正在使用xcode 4,我假设它有GCC之类的标志.
我的问题是我的图书馆仍然包含我想隐藏或让人难以理解的可读信息:
1-目标文件名:当我在.a上运行nm时,我仍然看到每个目标文件的名称.(即myObect1.o myObject2.o等).有没有办法从我的.a中删除这些名称?
2-文件路径:当我在我的库上运行字符串时,我仍然看到头文件的路径以及一些.c文件路径(包含在#include中).有没有办法删除这些.(GCC旗帜或其他方式)?
谢谢你的帮助,
巴巴
ps:我知道nm和字符串,但是如果你知道任何其他工具,或者如果你能建议我应该检查的任何其他东西,我的.a中都有正确的隐藏,欢迎提出所有建议.
考虑像 SQLite 那样分发合并: http: //www.sqlite.org/amalgamation.html。换句话说,分发单个 .o 文件和单个 .h 文件,而不是库。
您必须将内部函数注释为静态。这也将为编译器提供进一步优化的机会。Lua 使用这样的注释。例如,请参见http://www.lua.org/source/5.1/ldo.h.html。对于合并,LUAI_FUNC被定义为静态。
| 归档时间: |
|
| 查看次数: |
946 次 |
| 最近记录: |