The invention relates to an application reinforcing method and system for preventing Android application from being decompile, belonging to the field of application reinforcement, which solves the problem that Android application is easy to be decompile. The source APK file using Android encryption algorithm to encrypt the data to get a solution into the shell, shell and shell program DEX file program solution preset DEX file after the merger, and add the length of the data indicates that a field solution shell at the end of the shell DEX file; repair resource configuration file to change the source APK file after replacing the new shell resource configuration file program resource configuration file source APK files and resource files and resource files; data read a shell length of the solution file according to the shell, shell length shell solution solution data read data, data stored in the memory in the shell solution obtained by the corresponding decryption algorithm, application of Android shell the data in the memory dynamic loading operation solutions. It is used to prevent APP from getting important data by malicious decompile, and to protect the rights and interests of users and developers.
【技术实现步骤摘要】
一种防止Android应用被反编译的应用加固方法及系统
本专利技术涉及应用加固领域,尤其涉及一种防止Android应用被反编译的应用加固方法及系统。
技术介绍
Android(安卓)平台在登陆市场几年间,发展迅速,占据了大量的移动终端市场,已经逐渐成为了移动终端的最普及的操作系统,同时基于其中的软件应用数目也相当惊人,然而与之并生的安全问题却始终没有得到良好的解决,安全威胁越来越多,并且威胁程度也在逐步加深。特别是开发者发布的Android应用会被其他人恶意反编译,从而获取到APP(应用的英文缩写)中的重要信息,这样无论对开发者还是用户都带来了很不好的影响。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术的不足,提供一种防止Android应用被反编译的应用加固方法及系统,目的在于防止APP被恶意反编译获取到重要数据,保护使用者和开发者的权益。本专利技术解决上述技术问题的技术方案如下:一种防止Android应用被反编译的应用加固方法,包括以下步骤:S1,将Android应用的源APK文件采用加密算法加密成解壳数据,将得到的解壳数据与预设的解壳程序的DEX文件合 ...
【技术保护点】
一种防止Android应用被反编译的应用加固方法,其特征在于,包括以下步骤:S1,将Android应用的源APK文件采用加密算法加密成解壳数据,将得到的解壳数据与预设的解壳程序的DEX文件合并后得到新解壳程序的DEX文件,并在新解壳程序的DEX文件末尾加入表示解壳数据长度的字段;S2,根据新解壳程序的DEX文件修改源APK文件的资源配置文件后,用源APK文件的资源配置文件替换新解壳程序的资源配置文件,并用源APK文件的资源文件替换与新解壳程序相对应的资源文件;S3,读取新解壳文件的DEX文件末尾字段获取解壳数据长度,根据解壳数据长度读取解壳数据,用与S1中的加密算法对应的解 ...
【技术特征摘要】
1.一种防止Android应用被反编译的应用加固方法,其特征在于,包括以下步骤:S1,将Android应用的源APK文件采用加密算法加密成解壳数据,将得到的解壳数据与预设的解壳程序的DEX文件合并后得到新解壳程序的DEX文件,并在新解壳程序的DEX文件末尾加入表示解壳数据长度的字段;S2,根据新解壳程序的DEX文件修改源APK文件的资源配置文件后,用源APK文件的资源配置文件替换新解壳程序的资源配置文件,并用源APK文件的资源文件替换与新解壳程序相对应的资源文件;S3,读取新解壳文件的DEX文件末尾字段获取解壳数据长度,根据解壳数据长度读取解壳数据,用与S1中的加密算法对应的解密算法解密得到解壳数据保存在内存中,动态加载内存中的解壳数据运行Android应用。2.如权利要求1所述的防止Android应用被反编译的应用加固方法,其特征在于,所述S1还包括:在新解壳程序的DEX文件末尾加入表示解壳数据长度的字段后,修改新解壳程序的DEX文件的文件头信息;所述文件头信息包括:文件检验码、唯一性验证算法和DEX文件尺寸信息;所述S3还包括:根据文件头信息验证新解壳程序DEX文件后,根据解壳数据长度读取解壳数据。3.如权利要求1所述的防止Android应用被反编译的应用加固方法,其特征在于,所述S2中所述根据新解壳程序的DEX文件修改源APK文件的资源配置文件的过程为:根据新解壳程序的DEX文件修改用于权限申请和定义配置的Androidmanifest.xml文件。4.如权利要求1所述的防止Android应用被反编译的应用加固方法,其特征在于,所述S3中所述动态加载内存中的解壳数据运行Android应用的过程为:使用DexClassLoader类加载器动态加载内存中的解壳数据中的DEX文件运行Android应用。5.如权利要求1至4任一项所述的防止Android应用被反编译的应用加固方法,其特征在于,所述S1中所述加密算...
【专利技术属性】
技术研发人员:吕麟,谭国栋,
申请(专利权)人:北京思特奇信息技术股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。