基于ndk的安卓手游app防破解

基于ndk的安卓手游app防破解

ID:9006892

大小:18.00 KB

页数:2页

时间:2018-04-14

基于ndk的安卓手游app防破解_第1页
基于ndk的安卓手游app防破解_第2页
资源描述:

《基于ndk的安卓手游app防破解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、安卓手游玩家都喜欢破解版的,可以免费得到金币、工具等。但是,你们有想过安卓手游开发者的感受吗?自己开发的安卓手游被破解,心塞!今天,爱加密就给安卓手游开发者带来福利,在安卓手游破解基础上,研究如何基于NDK的安卓手游防破解!安卓手游破解是很多安卓手游开发者必须面对的一个问题,而安卓手游如何防破解,通常的做法是对代码加入混淆干扰以增加破解难度。但即便如此,混淆操作之后的java代码仍然可以被各种方法进行破解。在基于NDK的安卓手游中含有相应的main.cpp来作为应用程序的入口,因而在这里进行一些安

2、卓手游防破解较验,相应的破解难度就会增大不少(相对于java代码)。在安卓手游整个导出过程中,生成.dex阶段是整个打包发布操作的基础,包括相应的java源代码、外部库文件均会被编译链接到.dex文件中,而其中关于代码的任何改动后重新生成.dex,其均会与原始文件均会有所不同,因而就可通过对.dex文件进行MD5较验而作为安卓手游app是否被破解的依据。对于安卓手游app,dex源码文件安全性是最重要的,因此,这个dex源码加密保护其实很有必要,在安卓手游防破解这方面,可以做到的有爱加密这个平台,

3、有专门的安卓手游防破解方案。基本流程:打包发布阶段(只进行一次):在打包生成过程得到.dex之后计算该.dex文件的MD5串,并将其写入到NDK工程的main.cpp中,作为最终版本较验的标准串。该过程可以加入到Ant自动化打包发布中,作为生成.dex的后续阶段。动态运行阶段(每次启动进行):在main.cpp的程序启动入口处添加动态的.dexMD5计算,并与代码中存储的标准MD5串进行比较,若两者不匹配则说明安卓手游已经被破解,即刻退出。阶段1: 计算安卓手游.dex文件的MD5串并将其写入到对

4、应的main.cpp中,相应的ant操作大体如下。生成dex对应的MD5,并将其存储到一个文件中:[html]viewplaincopy从外部文件中读入相应的MD5串,并存储到一个

5、ANT的变量:[html]viewplaincopy将.dex文件的MD5串写入到main.cpp中:[html]viewplaincopy

6、pfile}"token="Ant_DexMD5Sign"value="${dexmd5sign}"/>其中使用的dexmd5tool是一个自实现的外部exe,主要实现对任意文件计算其相应的MD5并将串值保存到一个指定的文件。这里需要MD5串以文件形式进行保存主要是以便在ant中打该文件并读入其中的字符串到ant变量中(并没有找到其它方法直接将相应的MD5码写入到ant变量中去,因而做这样的婉转实现)。将MD5串向main.cpp中写入主要就是利用ant的字符串替换机制来实现即可

7、。更新完main.cpp之后需要利用NDK对工程进行重新编译(主要是重编译这里有改动的C++代码,该步必须进行)调用NDKbuikd来完成相应的重编译工作:[html]viewplaincopyNdkbuild.bat中的相关内容即如同Ecli

8、pse中配置的编译参数一样:X:/cygwin/bin/bash.exe--login-c"cd/cygdrive/XXX/XXX/Android/jni&&$NDK/ndk-build"阶段2: 对dex计算相应的MD5并在main.cpp中进行启动时较验。这里需要在安卓手游app每次启动运行中动态得到当前apk包中的.dex文件并进行MD5的计算与较验,看安卓手游是否被破解。需要借助于一个第三方包libzip,它可以以.so的形式链入到NDK工程中,并将指定的zip包(apk包

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。