锁定老帖子 主题:怎样防止反编译
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-01-19
最后修改:2012-01-19
在classloader (java)的基础是,结合native,借助其他不易被反编译的、方便加壳的语言(C, C++)开发解密逻辑部分。
当然,最好连classloader 也做到不可替换,那就要根源上升到JVM层次(做到JVM不可替换)。 |
|
返回顶楼 | |
发表时间:2012-01-20
防是防不住的。不过还是有点方法的。
license多放几个check的地方,特别是对方想不到的地方。 我曾经放的最恶心的一个地方是替换了log4j的class,一般没人能想到 |
|
返回顶楼 | |
发表时间:2012-01-22
最后修改:2012-01-22
情已逝 写道 mathgl 写道 软件到了别人手上,总会有被破解的时候..
要想不被破解 1:saas化 2:开源 同意,机器码都能反编译。 我也同意 我认为 只要人家有你代码 不管是你怎么弄的 还是会破解的 唯一的好办法就是 叫他没有 以服务的方式。。。 windows 牛b吗 不照样被破解。。。 |
|
返回顶楼 | |
发表时间:2012-01-23
最后修改:2012-01-23
用JNI啊!把一些业务中非常关键的算法由jni来完成。
举例啊!假设我们业务中间需要去计算商品价格,或者是会员折扣之类的东西,非常关键,我们就可以利用c/c++来实现,然后让java通过jni来调用。自然喽,对许可的识别也就顺带绑在这些c/c++代码里面了。至于破解嘛,要么用户去破解c/c++部分去(在native情景下,要防破解的手段就多了),或者用户自己用java重新实现这些算法。 |
|
返回顶楼 | |
发表时间:2012-10-03
captmjc 写道 防是防不住的。不过还是有点方法的。
license多放几个check的地方,特别是对方想不到的地方。 我曾经放的最恶心的一个地方是替换了log4j的class,一般没人能想到 之前公司的Boss就把他的一个基础类库放在log4j.jar里面, 当宝似地藏着。你俩想法居然一样。 |
|
返回顶楼 | |