Android版权保护的困难及迷惑
我是新手,可能很多问题别人早就想过了,我说出来有些好笑,不过还是说一说,希望有高手指点。
我在写Android程序时低估了版权保护的困难性,辛辛苦苦写了一年,现在面临发布了,查so库的保护才发现几乎是不可能的。
以前认为什么东西进了C++就安全了,虽然微软的东西也可以被破解,但我这种小东西谁犯得上花那工夫去弄呢。我一直有这么一个比喻:马路边停着各式各样的车,有宝马,有奔驰……要是有人偷车,难道会偷我的破吉利吗?费那么大劲,当然要选择高回报了。但是仔细琢磨,软件世界的逻辑不太一样:
一、好“车”烂“车”都有人偷。
二、他不怕费劲,甚至就是为了享受这个过程而去费这个劲的。
三、而且可能并不费多少劲,现在有IDA等神器操作起来实在是太方便了,找到关键跳转可能只是半小时的事。
那就是说我辛辛苦苦干了一年的东西,人家半小时就盗了。不是因为这东西好,或者能卖多少钱,只是随机分配到了某个反汇编爱好者手里,他只是拿我这个来练手,解开了也不卖,往网上一丢,“×××破解版”出现了,他再找别的课题来享受。
这就和偷车很不一样,偷软件可能是非营利性的,非理性的。
回头说技术细节。so加壳有很多资料,解壳的资料也同样多,我并不确定根据网上公开的资料加的壳好不好使,而更高级的加壳技术,像爱加密的定制,报价几万到几十万,我这小软件不值得花这钱,又没有把握在缺乏资料的情况下独立写出来,那加壳基本上就不靠谱了。
其实我确实加了壳,在这里,有一个很好的教程:http://blog.csdn.net/jiangwei0910410003/article/details/49962173。但我用NDKr10生成的so文件无法自解密,那篇文章的高手用的是较低版本的NDK,如果我要用这个版本,就要把AndroidStudio换成Eclipse,整个项目都要调整,而就算加壳成功还不知道是否实用,我相信网上一定有成千上万的人照着那篇文章加壳,也有无数反汇编爱好者研究相应的解壳方案。那就算了。
加壳再也没有更好的材料了,因此我放弃加壳。
这样就只好寄希望于代码本身的抵抗力。
绝对强的抵抗力是没有的,连铁道部官网的加密算法都一再被破,何况我们的。
我们的诉求应该表达为:给反汇编者造成足够的困难,超出破解的价值或乐趣。