如何做到开源程序源代码又不泄露语言指纹?

普通的混淆并不适用, 因为希望真正的公开源程序并且接受所有人的安全审计.
参考语言指纹相关介绍:https://pincong.rocks/article/673
komorebi 旧品,id已改,反正就是渣渣。
代码,有一个“best practices”的概念,就是做一件事情最适合的方案。比如python先import内建模块然后是第三方模块最后是自建模块,C的main定义成int并且接受argc和argv最后以return 0结束,二元操作符前后各放一个空格,减少一个语句的操作次数以确保可读性,变量命名尽量使用常见的单词及缩写比如循环计数用i,format缩写成fmt(尤其是中国人,以前老师曾经强调过,不要用拼音),等等。仅仅是遵守这些“约定俗成”,语言指纹就已经消去不少。
然后就是不要写非常hacking的代码,这是也在语言指纹之前的可读性和可维护性的问题,使用现有的开源库而不是自己重新发明车轮也是一样。

简而言之,就是“养成良好的代码习惯”。
至于算法,不要说指纹了,半年前写的算法自己能看懂就不错了……

要发言请先登录注册