The*_*own 9 c++ obfuscation compilation distribute precompile
我有一个专有的应用程序,我想发给几个人进行测试,除了我们不想透露他们的来源.该应用程序是用C++ for Linux编写的.它链接到Fedora/Ubuntu repos上随时可用的包.
有没有办法将源处理为中间...然后分发它,并让用户进行最终编译,实际编译并将中间代码链接到其本机平台.
我试图看看是否有任何替代分发预编译的二进制文件.谢谢.
只需将其编译为汇编程序即可.可以使用-S选项完成.
helloworld.cpp:
#include <iostream>
using namespace std;
int main(void)
{
cout << "Hello World" << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
然后做:
emil@lanfear /home/emil/dev/assemblertest $ g++ -S -o helloworld.s helloworld.cpp
emil@lanfear /home/emil/dev/assemblertest $ g++ -o helloworld helloworld.s
emil@lanfear /home/emil/dev/assemblertest $ ./helloworld
Hello World
Run Code Online (Sandbox Code Playgroud)
使用此方法,您只能分发包含非常难以阅读的汇编程序的.s文件.
您可以处理现有的源代码以“破坏”它;基本上,这包括删除所有注释,将变量名称更改为最小,并删除所有源代码格式。问题是,他们可以相对轻松地改回变量名称并添加格式和注释;虽然他们在生成的源代码中不会拥有与您相同级别的信息,但他们将拥有功能齐全的源代码(因为这就是您分发给他们的内容)。这是做这种事情的唯一方法。
| 归档时间: |
|
| 查看次数: |
479 次 |
| 最近记录: |