-106823275009221010864有机器码破解注册码的注册码是多少

分享:Android中利用机器码注册机制防止破解 - huzgd的专栏
- 博客频道 - CSDN.NET
11278人阅读
最近做一个Android应用时遇到这个问题,客户要求功能必须注册才能使用,而程序本身又不是联网在线使用的,这就要在程序中加入机器码注册码机制了。
众所皆知Android应用是基于Java开发,如不做处理的话,直接反编译APK就能看到源码算法,要破解就没什么难度了。
关于Android防破解,网上有价值的内容较少。我收集了一些零碎的资料,总结起来大概有以下几种防破解的思路方式:
1.代码混淆。2.3的Android SDK已经支持直接混淆生成APK。混淆能加大反编译破解的难度,但光混淆不能解决问题,对于有经验的人来说,在混淆代码中找到注册检查代码进行强行破解也不是难事。
2.签名比对。APK中可使用签名进行处理,不过APK的签名不能防止反编译,只是反编译后不能再使用同一个签名而已。虽然可在代码中进行比对签名,但比对代码本身也可能被修改掉。因此签名的作用不大。
3.联网注册。程序启动后自动连接到服务器进行注册验证,并把一部分核心功能放到服务端。这种方式是最安全,不过对于单机程序就不合适了,总不能在一个记事本程序中也要求用户登录服务器吧。
4.dex或class动态加载。这种方式理论不错,把一小部分核心算法做成dex或class文件,加密为资源文件,注册成功后才解密并加载到内存中。但这个方式实现起来难度很高,我似乎没有在网上找到实现的文章,实现后维护代码成本也高。另外,如果将程序完全反编译后进行调试,也仍然能下断点把解密的dex或class文件给导出来。
5.使用NDK(或JNI)本地C/C++动态库。对于单机应用程序来说,这个是比较好的解决办法了。NDK编译的原生C/C++程序调试破解的难度比较高,代码维护也方便。
要加大破解难度,还有其它一些要注意的:可对关键内容或算法进行加密;把检测算法分解成零碎片段多处调用;另外注册相关的敏感字符串(如“注册失败”之类的消息)一律不以明文出现,等等。
我最终选择的注册机制方案是:代码混淆+NDK库+内容加密。简单说明如下:
1.对所有JAVA代码进行混淆。我之前写的程序是Android2.2的,不支持直接混淆;后来我下载了最新的SDK,将程序的SDK版本号target设置为13,在default.properties中增加proguard.cfg,然后在工程中右键Tools导出签名的APK完成混淆打包过程。
2.用NDK C语言实现机器码的生成、注册码的检测和内容的解密。在JAVA界面中只做机器码的显示、注册码的输入和调用加解密接口,而核心的机器码注册码加解密全在C程序中完成。机器码要跟硬件ID之类的结合,稍为要注意下的是不能直接用WIFI的MAC地址,因为WIFI的MAC地址容易被修改;最好是用CPU序列号,如果没有的话可考虑用设备ID IMEI或USB的MAC码,但最好不要在JAVA代码中获取,而是要在JNI C代码里获取,以免被反编译后篡改。生成过程这里就不细述了,以后有时间再写一下。
3.对部分资源文件进行加解密处理。程序运行中要使用文件系统中的资源文件才能运行,因此我把这些文件事先在PC上加密,并把解密密钥放在注册码中。根据机器码生成注册码,生成器注册码时将解密密钥加入。由于解密的密钥包含在注册码中,破解者即使将注册检测绕过,也无法解密文件运行;只能获得一个注册码才能执行解密。由于注册码检测和解密过程在NDK程序中完成,因此即使有一个注册码,也难以获得解密的密钥和算法。
当然了,防止破解是相对的,没有完全绝对不能破解的程序,只是让破解的难度成本高到还不如直接注册就行了。反过来说,如果你的程序本身没什么价值或没多少人会用,那基本上防破解也没什么必要。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:400198次
积分:4944
积分:4944
排名:第2313名
原创:91篇
转载:15篇
评论:379条
(1)(1)(1)(1)(2)(1)(1)(2)(7)(1)(3)(1)(2)(3)(1)(2)(2)(1)(4)(3)(3)(2)(1)(3)(2)(1)(4)(9)(7)(8)(6)(9)(1)(1)(3)(2)(2)(1)(2)16位机器码注册机 我的指示码是70FF2200178BFBFF,注册码是多少_百度知道
16位机器码注册机 我的指示码是70FF2200178BFBFF,注册码是多少
提问者采纳
最好给个详细描述 这样很难理解的
提问者评价
CF好友追踪器 2.0
指示码是70FF2200178BFBFF不知道我的注册码是多少呢
其他类似问题
您可能关注的推广
机器码的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁机器码获取生成注册码_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
机器码获取生成注册码
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢豪迪QQ群发器 2010 机器码是 那注册码是多少
豪迪QQ群发器 2010 机器码是 那注册码是多少
豪迪QQ群发器 2010
那注册码是多少
不区分大小写匿名
如何使用呢?
相关知识等待您来回答
I'M QQ领域专家屏幕专家v7.5注册码 机器码:621330 谁能告诉我注册码是多少,急求!谢谢_百度知道
屏幕专家v7.5注册码 机器码:621330 谁能告诉我注册码是多少,急求!谢谢
提问者采纳
用户名←24←激活码
其他类似问题
您可能关注的推广回答者:
机器码的相关知识
其他1条回答
你找认识的信得过的朋友,我朋友手上就有,你就没辙了,他到时候在盗回来,花钱就当消灾了,网上虚拟得分是肯定不行,这个是真的没法帮你,实在不行你只有去淘宝找了,因为你没证据,就一顿快餐就可以,他也是花钱买的还请了客,200分的我也没辙,这个可能有人有多余的吗,而且你还得小心别被骗了,你得拿实物去换,他死也不给楼主你好我帮你顶了,我前几天还看到有人悬赏1000分要呢,有人先卖你号
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 机器码生成注册码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信