一种程序代码保护方法和装置制造方法及图纸

技术编号:16456848 阅读:49 留言:0更新日期:2017-10-25 21:06
本发明专利技术的实施方式提供了一种程序代码保护方法。该包括程序代码保护方法,包括:针对DEX文件中包含的每一函数,如果判断出该函数对应的函数代码指令需要加密,则获取所述函数的结构信息,所述结构信息中包含有函数代码指令及其访问标识;修改所述访问标识为预设值;并抽取所述函数对应的函数代码指令进行加密处理。对于判断出的DEX文件中包含的需要加密的函数,根据其结构信息中包含的访问标识和函数代码指令,修改访问标识为预设值,并将函数代码指令进行加密,而无需对整个DEX文件进行加密,从而能够节省系统处理资源,提高了DEX文件加密效率,为用户带来了更好的体验。此外,本发明专利技术的实施方式提供了一种程序代码保护装置。

Method and device for protecting program code

The embodiment of the present invention provides a program code protection method. The program code protection method, including: for each of the functions contained in the DEX file, if it is determined that the function of the corresponding function code instructions need to be encrypted, the structure information is obtained by the function, the structure information is included in the function code instruction and access label; modify the access identifier for the preset value the function; and extract the corresponding function code is encrypted. To judge the function need to include the DEX file encryption, according to the information in the access structure contains the identity and function code, modify the access identifier for the preset value, and the function of code encryption, without the need for the DEX file encryption, which can save the system processing resources, improve DEX file encryption efficiency, bring a better experience for the user. In addition, the embodiment of the present invention provides a program code protection device.

【技术实现步骤摘要】
一种程序代码保护方法和装置
本专利技术的实施方式涉及软件开发
,更具体地,本专利技术的实施方式涉及一种程序代码保护方法和装置。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。APP是Application(应用)的简称,通常是指移动设备(包括平板电脑、手机和其他移动设备)上的第三方开发的应用程序。DEX文件是Android平台上(Dalvik虚拟机)的可执行文件,相当于Windows平台中的exe文件,每个Apk(AndroidPackage,Android开发包)安装包中都有DEX文件,其由Java语言编写而成,其包含了APP的全部操作指令以及运行时所需的数据。DEX文件可以通过第三方逆向分析工具查看其Java源码,即通过反编译DEX文件可以直接看到Java源码,因此,越来越多的App(包括恶意病毒App)都使用了加固技术以防止App被轻易反编译。现有技术中,通常采用以下两种方法对DEX文件进行加固,一种是对源DEX进行加密,并把加密后的文件打包存储到APK的某个目录下(加壳),这样,在APP运行本文档来自技高网...
一种程序代码保护方法和装置

【技术保护点】
一种程序代码保护方法,包括:针对DEX文件中包含的每一函数,如果判断出该函数对应的函数代码指令需要加密,则获取所述函数的结构信息,所述结构信息中包含有函数代码指令及其访问标识;修改所述访问标识为预设值;并抽取所述函数对应的函数代码指令进行加密处理。

【技术特征摘要】
1.一种程序代码保护方法,包括:针对DEX文件中包含的每一函数,如果判断出该函数对应的函数代码指令需要加密,则获取所述函数的结构信息,所述结构信息中包含有函数代码指令及其访问标识;修改所述访问标识为预设值;并抽取所述函数对应的函数代码指令进行加密处理。2.根据权利要求1所述的方法,针对DEX文件中包含的每一函数,按照以下流程判断该函数对应的函数代码指令是否需要加密:针对DEX文件中包含的每一函数,判断该函数是否存在于预先存储的白名单中;如果存在,则确定该函数对应的函数代码指令需要加密;如果不存在,则确定该函数对应的函数代码指令不需要加密。3.根据权利要求2所述的方法,所述函数的结构信息中还包括指令偏移信息;以及抽取所述函数对应的函数代码指令进行加密处理,具体包括:根据所述指令偏移信息确定所述函数对应的函数代码指令的起始位置和终止位置;抽取所述开始位置与终止位置之间包含的函数代码指令进行加密处理。4.根据权利要求1、2或3所述方法,还包括:存储加密后的函数代码指令;并记录加密后的函数代码指令的存储位置信息。5.根据权利要求4所述的方法,还包括:在执行所述DEX文件时,根据所述存储位置信息从相应的存储位置获取加密后的函数代码指令进行解密;并执行解密后的函数代码指令。6.根据权利要求4所述的方法,还包括:在执行所述DEX文件时,根据所述存储位置信息从相应的存储位置获取加密后的函数代码指令进行解密;并记录系统为解密后的函数代码指令所分配的内存偏移信息;修改所述函数的结构信息中包含的指令偏移信息为分配的内存偏移信息。7.一种程序代码保护装置,包括:第一获取单元,用于针对DEX文件中包含的每一函数,如果判断出该函数对应的函数代码指令需要加密,则获取所述函数的结构信息,所述结构信息中包含有函数代码指令及其访问标识;第一修改单...

【专利技术属性】
技术研发人员:朱星星尹彬彬钟亚平卓辉
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1