【发布时间】:2011-04-10 23:43:57
【问题描述】:
我编写了一个 C 库,其中包含几个 .h 文件和 .c 文件。我将它编译为 .a 静态库。
我想只向用户公开某些功能,而让其余功能尽可能“模糊”,以使逆向工程相当困难。
理想情况下,我的库应包括:
1- 一个 .h 文件,仅包含向用户公开的功能
2- myLibrary.a:尽可能不可逆向工程
这方面的最佳做法是什么?我应该去哪里看,有没有好的教程/书?
更具体地说:
为 - 1
我所有的 .h 和 .c 都在工作,我想避免更改它们,将函数声明从 .h 移动到 .c 并进入循环引用潜在 pbs。这可能吗?
例如,创建一个仅用于与我的 .a 一起分发的新 .h 文件是个好主意吗?该 .h 将包含我想要公开的函数的副本以及我使用的类型的转发声明。这是个好主意吗?
为 - 2
a) 我应该注意哪些 gcc 标志(或 xcode)(用于剥离,没有调试符号等) b) 学习如何进行代码混淆的好方法?
任何想法都会有所帮助,
谢谢,爸爸
【问题讨论】:
-
请显示您已经编写的一些代码。我们不是您的个人编码服务
标签: c api obfuscation hide