apk文件加密
Ⅰ Android APP加密方法都有哪些
伪加密是Android4.2.x系统发布前的Android加密方式之一,通过java代码对APK(压缩文件)进行伪加密,其修改原理是修改连续4位字节标记为”P K 01 02”的后第5位字节,奇数表示不加密偶数表示加密。
Android APP加密方法都有哪些?
2
虽然伪加密可以起到一定防破解作用,但也会出现问题,首先使用伪加密对其 Android APK加密后市场无法对其进行安全检测,导致部分市场会拒绝这类APK上传;其次,伪加密的加密方式和解密方式也早已公布导致它的安全程度也大大降低;再次,Android4.2.x系统无法安装伪加密的APK;最后伪加密只是对APK做简单保护,在java层源码加壳保护、核心so库、资源文件、主配文件、第三方架包方面却没有任何保护处理。Android APP加密方法都有哪些?
END
混淆保护
1
把原来有具体含义的类名,变量名,方法名,修改成让人看不懂的名字,例如方法名getUserName编程了方法名。Android APP加密方法都有哪些?
2
混淆保护只是增加了代码阅读难度,对于破解基本上是没有实质性作用的!Android APP加密方法都有哪些?
END
运行时验证
1
运行时验证,主要是指在代码启动的时候本地获取签名信息然后对签名信息进行检验来判断自己的应用是否是正版,如果签名信息不是正版则提示盗版或者直接崩溃。当然你可以把必要的数据放在服务器端。Android APP加密方法都有哪些?破解:找到smali文件中,判断是否相等的部分。改为常量true,即失效。
2
总之,反编译一些apk之后,只要是java代码写的总会有smil文件。对于smil文件,如果耐心读的话,还是可以查看到一些关键代码的。
3
相较于应用来说,游戏apk因为采用cocos2d-x或者 unity3D,采用的是c++和c# 编写的跨平台程序,在apk采用JNI的方式。所以没有smali,可以防止静态被破解apk包。Android APP加密方法都有哪些?
4
当然游戏包apk在运行的时候,会把.*so加载到内存中。动态也是可以在内存中抓取相应的数据。只不过NDK相对于smali破解来说,根部不是一个层级的关系。Android APP加密方法都有哪些?
END
使用第三方Android加密平台
以一个例子分析
该classes.dex是原来的代码。没有混淆,没有做任何的Android APP加密保护。反编译的话,源代码暴露无疑。
该classes.dex是经过爱加密Android APP加密之后的,现在看看反编译之后的效果。Android APP加密方法都有哪些?
NativeApplication类,加载exec.so和execmain.so ,里面应该是固定的代码,是对源码
SuperApplication继承自Application,程序主入口:
6
在Android APP加密之后的apk包中,多了一个assets目录,该目录下,有一些ijiami.dat,其实这个就是原来的classex.dex. Android APP加密方法都有哪些?
END
总结
1
爱加密Android APP加密步骤:
1.把原来的classex.dex 用Android APP加密算法实现加密成assets/ijiami.dat
2.把事先写好的jni代码和相应的classex.dex替换到原有的位置
3.程序安装完运行起来以后,先运行Android APP加密 爱加密的加壳程序,在jni里面动态加载原来的classex.dex代码,从而达到Android APP加密保护的目的。源classex.dex
Ⅱ 咨询一下,有没有免费apk加密服务的
朋友你好,很高兴为你解答问题。
几维安全安卓应用在线加密服务从去年上线至今,凭借零成本零门槛高强度的加密特点,获得众多中小企业和个人开发者的青睐,一方面保护了应用的源代码,避免攻击者或竞争对手窃取应用的核心技术;另一方面避免了盗版应用的产生。
几维安全于2017-07-03对在线免费加密服务进行升级,现提供的免费加密功能包括:DEX文件加密、DLL文件加密、防二次打包、数据监测SDK。
首先、普通类应用加密
针对普通类应用,通过加密DEX文件,对Java层核心代码进行加密隐藏保护,避免DEX文件被Dex2jar和JD-GUI等工具逆向,分析Java代码的业务逻辑;其次防二次打包功能可有效避免盗版应用的生成,比如对加密的APP进行重新签名,如果签名文件与加密前的签名文件不一致,APP将被识别为盗版应用,无法正常运行。此时客户端APP的异常情况将会上报到几维安全的防御平台,即数据监测SDK,用户登录几维平台即可查看客户端的威胁数据。
其次、Unity3D手游加密
针对U3d手游,在普通类应用加密的基础上,还将对DLL文件进行加密,即对C#脚本代码进行加密保护,整个加密过程还会对U3d引擎进行自定义加密,进一步避免攻击者通过U3d的解析函数来提取C#代码。在整个DLL加密基础之上,几维安全又使用源代码加密工具-《安全编译器》对U3d自定义引擎进行源码级的加密保护。
如需了解企业级的加密强度与方案,请访问几维安全官网的相关安全产品。
再次、使用方式几维安全针对免费用户提供两种形态的使用方式。
第一种:《几维离线加密助手》,前往下载页面即可下载相关工具,支持Mac和Win两个平台,下载后注册登录即可使用。该助手将会自动上传APK,根据账号权限自动加密,完成后会自动下载,整个过程中支持断点续传。
第二种:在线加密,前往注册登录之后,进去安卓应用加密页面,根据相关提示,上传APK,选择加密服务,开始加密,下载加密包。
最后、注意事项
待加密APK包是未经过其他加密处理的裸APK包,否则会加密失败
2.加密前需对APK包进行签名,加密后也需对APK进行重新签名,并且前后签名文件必须一致,否则被认为盗版,无法正常运行!
希望以上详细解答能够帮助到你。