CN103902859A - 基于JAVA下hook技术的代码保护方法及系统 - Google Patents

基于JAVA下hook技术的代码保护方法及系统 Download PDF

Info

Publication number
CN103902859A
CN103902859A CN201310725462.5A CN201310725462A CN103902859A CN 103902859 A CN103902859 A CN 103902859A CN 201310725462 A CN201310725462 A CN 201310725462A CN 103902859 A CN103902859 A CN 103902859A
Authority
CN
China
Prior art keywords
code
protected
program
class
call
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310725462.5A
Other languages
English (en)
Inventor
潘博文
乔伟
肖新光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Antian Information Technology Co Ltd
Original Assignee
Wuhan Antian Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Antian Information Technology Co Ltd filed Critical Wuhan Antian Information Technology Co Ltd
Priority to CN201310725462.5A priority Critical patent/CN103902859A/zh
Publication of CN103902859A publication Critical patent/CN103902859A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明提供一种基于JAVA下hook技术的代码保护方法及系统。本发明方法主要利用JNI机制,通过修改类标志信息为native,改变类调用,在动态链接库中自定义nativeFunc;将指定要保护的代码调用过程中所调用的类方法代码,添加到自定义的nativeFunc函数代码中,并将指定要保护的代码调用中所调用的类方法代码用任意无效代码替换;将待保护程序中指定要保护的代码调用中所调用的类方法,替换为动态链接库导出的通用接口函数;最终输出替换后的待保护程序。发明还相应的提供了对应系统结构。通过本发明的方法,能够将函数的调用隐藏在编译为二进制机器指令的动态链接库文件中,从而大大增加了对其逆向的难度。

Description

基于JAVA下hook技术的代码保护方法及系统
技术领域
本发明涉及移动终端应用安全领域,特别涉及一种基于JAVA下hook技术的代码保护方法及系统。
背景技术
随着Android移动终端平台的日益发展,第三方应用程序的数量呈现出爆炸式增长的趋势,移动平台开发者开发了各式各样的第三方应用程序,其中不乏娱乐、游戏、社交及各种工具等类型。由于Android系统下应用程序主要使用JAVA语言开发,并采用ZIP格式打包成APK文件进行发布,所以很容易通过反编译工具对其逆向分析,并对其盗版和重打包。非法开发者利用dex2jar和JD-GUI、JAD等反编译工具能方便的还原第三方应用的JAVA代码,并对其代码流程,及其函数调用等过程进行逆向分析,能够很清晰的分析出其代码间的调用关系。
发明内容
本发明提供了一种基于JAVA下hook技术的代码保护方法及系统,解决了程序中函数调用易于被逆向发现的问题,将函数调用隐藏在编译为二进制机器指令的动态链接库文件中,从而增加了代码的安全性。
本发明主要利用JAVA中的JAVA本地调用机制,实现对JAVA类方法的hook技术,并应用于应用程序,实现对其代码流程的隐藏和保护。JAVA本地调用机制使JAVA能够与其他语言编写的代码进行交互。因此使得JAVA程序可以调用本地其他语言编写的代码,而如果想将一个方法做为一个本地方法的话,那么必须声明该方法为native的,因此我们基于上述原理,则能够实现对程序中函数调用的隐藏。
本发明提供一种基于JAVA下hook技术的代码保护方法,包括:
待保护程序预处理,对待保护程序进行代码结构分析,获得待保护程序中存在的代码调用;所述待保护程序为源代码或打包的APK文件;
指定要保护的代码调用,并提取类方法的调用关系;
将accessFlags指定的标志信息更改为native本地方法;
在动态链接库中自定义nativeFunc;
将指定要保护的代码调用过程中所调用的类方法代码,添加到自定义的nativeFunc函数代码中,并将指定要保护的代码调用中所调用的类方法代码用任意无效代码替换;
将待保护程序中指定要保护的代码调用中所调用的类方法,替换为动态链接库导出的通用接口函数;
输出替换后的待保护程序。
所述的方法中,还包括:自定义加载器,将实现的类由自定义类加载器托管。
所述的方法中,在输出替换后的待保护程序前,还包括:对自定义的nativeFunc及字符串信息加密。
一种基于JAVA下hook技术的代码保护系统,包括:
预处理模块,对待保护程序进行代码结构分析,获得待保护程序中存在的代码调用;所述待保护程序为源代码或打包的APK文件;
信息提取模块,用于指定要保护的代码调用,并提取类方法的调用关系;
标识信息更改模块,将accessFlags指定的标志信息更改为native本地方法;
替换模块,用于在动态链接库中自定义nativeFunc;将指定要保护的代码调用过程中所调用的类方法代码,添加到自定义的nativeFunc函数代码中,并将指定要保护的代码调用中所调用的类方法代码用任意无效代码替换;
将待保护程序中指定要保护的代码调用中所调用的类方法,替换为动态链接库导出的通用接口函数;
输出模块,用于输出替换后的待保护程序。
所述的系统中,还包括:自定义加载器,将实现的类由自定义类加载器托管。
所述的系统中,在输出替换后的待保护程序前,还包括:对自定义的nativeFunc及字符串信息加密。
本发明方法优势在于,当Dalvik虚拟机在解析执行一个类方法的时候,如果发现方法的标志信息为一个native函数,则会以JNI的方式执行相关的函数代码。本发明利用了这个特性,通过修改类方法的标志信息,让Dalvik虚拟机以JNI的方式执行指定的方法,从而改变JAVA类方法的调用流程。这样在反编译后,无法很容易分析出代码的调用流程,增强了对应用功能的代码流程保护。
本发明提供一种基于JAVA下hook技术的代码保护方法及系统。本发明方法主要利用JNI机制,通过修改类标志信息为native,改变类调用,在动态链接库中自定义nativeFunc;将指定要保护的代码调用过程中所调用的类方法代码,添加到自定义的nativeFunc函数代码中,并将指定要保护的代码调用中所调用的类方法代码用任意无效代码替换;将待保护程序中指定要保护的代码调用中所调用的类方法,替换为动态链接库导出的通用接口函数;最终输出替换后的待保护程序。发明还相应的提供了对应系统结构。通过本发明的方法,能够将函数的调用隐藏在编译为二进制机器指令的动态链接库文件中,从而大大增加了对其逆向的难度。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于JAVA下hook技术的代码保护方法流程图;
图2为本发明基于JAVA下hook技术的代码保护系统结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
本发明提供了一种基于JAVA下hook技术的代码保护方法及系统,解决了程序中函数调用易于被逆向发现的问题,将函数调用隐藏在编译为二进制机器指令的动态链接库文件中,从而增加了代码的安全性。
本发明主要利用JAVA中的JAVA本地调用机制,实现对JAVA类方法的hook技术,并应用于应用程序,实现对其代码流程的隐藏和保护。JAVA本地调用机制使JAVA能够与其他语言编写的代码进行交互。因此使得JAVA程序可以调用本地其他语言编写的代码,而如果想将一个方法做为一个本地方法的话,那么必须声明该方法为native的,因此我们基于上述原理,则能够实现对程序中函数调用的隐藏。
本发明提供一种基于JAVA下hook技术的代码保护方法,如图1所示,包括:
S101:待保护程序预处理,对待保护程序进行代码结构分析,获得待保护程序中存在的代码调用;所述待保护程序为源代码或打包的APK文件;
S102:指定要保护的代码调用,并提取类方法的调用关系;
S103:将accessFlags指定的标志信息更改为native本地方法;假设带保护程序类方法为method,则实现动态链接库中将其accessFlags更改为native的方法为:
method = dvmSlotToMethod(class, slot);
SET_METHOD_FLAG(method, ACC_NATIVE);
method->nativeFunc = native_func;
首先使用JAVA反射机制获取method在当前类的Field对象,并得到slot值;然后修改method的acessFlags为ACC_NATIVE;
S104:在动态链接库中自定义nativeFunc,如为p_method,当然还可以由用户任意定制;
S105:将指定要保护的代码调用过程中所调用的类方法代码,添加到自定义的nativeFunc函数代码中,并将指定要保护的代码调用中所调用的类方法代码用任意无效代码替换;如带保护代码为A调用了method,则将method内部代码添加到自定义的p_method中,并将method中的代码用任意无效代码替换;
S106:将待保护程序中指定要保护的代码调用中所调用的类方法,替换为动态链接库导出的通用接口函数;
S107:输出替换后的待保护程序。如果为源代码,则直接导出源代码程序,如果为APK文件,则导出打包的APK文件。
所述的方法中,还包括:自定义加载器,将实现的类由自定义类加载器托管。
所述的方法中,在输出替换后的待保护程序前,还包括:对自定义的nativeFunc、类方法名及字符串信息加密。通过进行加密保护,是的反编译后也无法直接获取到有用信息。
一种基于JAVA下hook技术的代码保护系统,如图2所示,包括:
预处理模块201,对待保护程序进行代码结构分析,获得待保护程序中存在的代码调用;所述待保护程序为源代码或打包的APK文件;
信息提取模块202,用于指定要保护的代码调用,并提取类方法的调用关系;
标识信息更改模块203,将accessFlags指定的标志信息更改为native本地方法;
替换模块204,用于在动态链接库中自定义nativeFunc;将指定要保护的代码调用过程中所调用的类方法代码,添加到自定义的nativeFunc函数代码中,并将指定要保护的代码调用中所调用的类方法代码用任意无效代码替换;
将待保护程序中指定要保护的代码调用中所调用的类方法,替换为动态链接库导出的通用接口函数;
输出模块205,用于输出替换后的待保护程序。
所述的系统中,还包括:自定义加载器,将实现的类由自定义类加载器托管。
所述的系统中,在输出替换后的待保护程序前,还包括:对自定义的nativeFunc及字符串信息加密。
本发明方法优势在于,当Dalvik虚拟机在解析执行一个类方法的时候,如果发现方法的标志信息为一个native函数,则会以JNI的方式执行相关的函数代码。本发明利用了这个特性,通过修改类方法的标志信息,让Dalvik虚拟机以JNI的方式执行指定的方法,从而改变JAVA类方法的调用流程。这样在反编译后,无法很容易分析出代码的调用流程,增强了对应用功能的代码流程保护。
本发明提供一种基于JAVA下hook技术的代码保护方法及系统。本发明方法主要利用JNI机制,通过修改类标志信息为native,改变类调用,在动态链接库中自定义nativeFunc;将指定要保护的代码调用过程中所调用的类方法代码,添加到自定义的nativeFunc函数代码中,并将指定要保护的代码调用中所调用的类方法代码用任意无效代码替换;将待保护程序中指定要保护的代码调用中所调用的类方法,替换为动态链接库导出的通用接口函数;最终输出替换后的待保护程序。发明还相应的提供了对应系统结构。通过本发明的方法,能够将函数的调用隐藏在编译为二进制机器指令的动态链接库文件中,从而大大增加了对其逆向的难度。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。

Claims (6)

1.一种基于JAVA下hook技术的代码保护方法,其特征在于,包括:
待保护程序预处理,对待保护程序进行代码结构分析,获得待保护程序中存在的代码调用;所述待保护程序为源代码或打包的APK文件;
指定要保护的代码调用,并提取类方法的调用关系;
将accessFlags指定的标志信息更改为native本地方法;
在动态链接库中自定义nativeFunc;
将指定要保护的代码调用过程中所调用的类方法代码,添加到自定义的nativeFunc函数代码中,并将指定要保护的代码调用中所调用的类方法代码用任意无效代码替换;
将待保护程序中指定要保护的代码调用中所调用的类方法,替换为动态链接库导出的通用接口函数;
输出替换后的待保护程序。
2.如权利要求1所述的方法,其特征在于,还包括:自定义加载器,将实现的类由自定义类加载器托管。
3.如权利要求1所述的方法,其特征在于,在输出替换后的待保护程序前,还包括:对自定义的nativeFunc、类方法名及字符串信息加密。
4.一种基于JAVA下hook技术的代码保护系统,其特征在于,包括:
预处理模块,对待保护程序进行代码结构分析,获得待保护程序中存在的代码调用;所述待保护程序为源代码或打包的APK文件;
信息提取模块,用于指定要保护的代码调用,并提取类方法的调用关系;
标识信息更改模块,将accessFlags指定的标志信息更改为native本地方法;
替换模块,用于在动态链接库中自定义nativeFunc;将指定要保护的代码调用过程中所调用的类方法代码,添加到自定义的nativeFunc函数代码中,并将指定要保护的代码调用中所调用的类方法代码用任意无效代码替换;
将待保护程序中指定要保护的代码调用中所调用的类方法,替换为动态链接库导出的通用接口函数;
输出模块,用于输出替换后的待保护程序。
5.如权利要求4所述的系统,其特征在于,还包括:自定义加载器,将实现的类由自定义类加载器托管。
6.如权利要求4所述的系统,其特征在于,在输出替换后的待保护程序前,还包括:对自定义的nativeFunc、类方法名及字符串信息加密。
CN201310725462.5A 2013-12-25 2013-12-25 基于JAVA下hook技术的代码保护方法及系统 Pending CN103902859A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310725462.5A CN103902859A (zh) 2013-12-25 2013-12-25 基于JAVA下hook技术的代码保护方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310725462.5A CN103902859A (zh) 2013-12-25 2013-12-25 基于JAVA下hook技术的代码保护方法及系统

Publications (1)

Publication Number Publication Date
CN103902859A true CN103902859A (zh) 2014-07-02

Family

ID=50994176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310725462.5A Pending CN103902859A (zh) 2013-12-25 2013-12-25 基于JAVA下hook技术的代码保护方法及系统

Country Status (1)

Country Link
CN (1) CN103902859A (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227554A (zh) * 2015-09-29 2016-01-06 江苏金源锻造股份有限公司 一种程控便携式割草机
CN105245513A (zh) * 2015-09-29 2016-01-13 江苏金源锻造股份有限公司 一种用于实现电源控制的机械装置电源电路
CN105306196A (zh) * 2015-09-29 2016-02-03 江苏金源锻造股份有限公司 一种用于机械设备控制系统的硬件加解密装置
CN105335151A (zh) * 2014-08-14 2016-02-17 优视科技有限公司 安装文件的保护方法及装置
CN105844150A (zh) * 2016-03-23 2016-08-10 青岛海信传媒网络技术有限公司 一种应用程序的数据保护方法和装置
CN105893860A (zh) * 2016-05-05 2016-08-24 百度在线网络技术(北京)有限公司 关键代码保护方法以及代码生成装置和代码运行装置
CN105930744A (zh) * 2016-04-22 2016-09-07 北京奇虎科技有限公司 一种文件加固方法及装置
CN106022098A (zh) * 2016-05-10 2016-10-12 青岛海信传媒网络技术有限公司 一种应用程序的签名验证方法和装置
CN106371940A (zh) * 2015-07-21 2017-02-01 腾讯科技(深圳)有限公司 一种程序崩溃解决方法及装置
CN107844687A (zh) * 2017-11-22 2018-03-27 上海勋立信息科技有限公司 一种安卓信息拦截方法及装置
CN108427559A (zh) * 2018-03-14 2018-08-21 新华三技术有限公司 一种脚本文件生成和调用方法以及装置
CN108491235A (zh) * 2018-03-21 2018-09-04 北京理工大学 结合动态加载和函数Native化的DEX保护方法
CN109032687A (zh) * 2018-06-11 2018-12-18 北京奇艺世纪科技有限公司 屏蔽sdk危险调用的方法及装置
CN109255235A (zh) * 2018-09-17 2019-01-22 西安电子科技大学 基于用户态沙箱的移动应用第三方库隔离方法
CN109408073A (zh) * 2018-09-21 2019-03-01 北京大学 一种Android非侵入式应用重打包方法
CN109614772A (zh) * 2018-11-20 2019-04-12 江苏通付盾信息安全技术有限公司 基于应用安装包文件的代码转换方法及装置
CN109918872A (zh) * 2019-01-28 2019-06-21 中国科学院数据与通信保护研究教育中心 Android应用加固方法
CN109960510A (zh) * 2019-03-20 2019-07-02 北京智游网安科技有限公司 Android应用动态链接库的加固方法及相关设备
CN110309630A (zh) * 2019-06-28 2019-10-08 南京冰鉴信息科技有限公司 一种Java代码加密方法及装置
CN111585961A (zh) * 2020-04-03 2020-08-25 北京大学 一种网页挖矿攻击检测及保护方法和装置
CN111752591A (zh) * 2019-03-27 2020-10-09 北京奇虎科技有限公司 一种加固应用的运行方法和装置以及应用加固方法和装置
CN112052459A (zh) * 2020-08-05 2020-12-08 北京智游网安科技有限公司 一种代码虚拟化加密方法、终端及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129337A1 (en) * 2001-03-08 2002-09-12 International Business Machines Corporation Debugger probe for object oriented programming
CN102360412A (zh) * 2011-09-26 2012-02-22 飞天诚信科技股份有限公司 Java源代码的保护方法和系统
CN102708322A (zh) * 2012-05-12 2012-10-03 北京深思洛克软件技术股份有限公司 安卓系统中java应用程序的保护方法
CN103136458A (zh) * 2013-01-21 2013-06-05 中标软件有限公司 一种Linux操作系统的代码保护方法及其模块
CN103413075A (zh) * 2013-07-10 2013-11-27 北京深思数盾科技有限公司 一种通过虚拟机保护java可执行程序的方法及设备
CN103413073A (zh) * 2013-07-09 2013-11-27 北京深思数盾科技有限公司 一种保护java可执行程序的方法及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129337A1 (en) * 2001-03-08 2002-09-12 International Business Machines Corporation Debugger probe for object oriented programming
CN102360412A (zh) * 2011-09-26 2012-02-22 飞天诚信科技股份有限公司 Java源代码的保护方法和系统
CN102708322A (zh) * 2012-05-12 2012-10-03 北京深思洛克软件技术股份有限公司 安卓系统中java应用程序的保护方法
CN103136458A (zh) * 2013-01-21 2013-06-05 中标软件有限公司 一种Linux操作系统的代码保护方法及其模块
CN103413073A (zh) * 2013-07-09 2013-11-27 北京深思数盾科技有限公司 一种保护java可执行程序的方法及设备
CN103413075A (zh) * 2013-07-10 2013-11-27 北京深思数盾科技有限公司 一种通过虚拟机保护java可执行程序的方法及设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
WWW.MYEXCEPTION.CN网友: "Android热补丁技术—dexposed原理简析(手机淘宝采取方案)", 《HTTP://WWW.MYEXCEPTION.CN/OPERATING-SYSTEM/2071716.HTML》 *
WXYYXC1992: "Android Hook框架Xposed原理与源代码分析", 《HTTP://WWW.IT610.COM/ARTICLE/3914199.HTM》 *
ZIRCONSDU: "How dvm calls native method", 《HTTP://BLOG.CSDN.NET/ZIRCONSDU/ARTICLE/DETAILS/8954887》 *
王下邀月熊-WXCHEVALIER: "Android Hook框架Xposed原理与源代码分析", 《HTTP://BLOG.CSDN.NET/WXYYXC1992/ARTICLE/DETAILS/17320911》 *

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335151A (zh) * 2014-08-14 2016-02-17 优视科技有限公司 安装文件的保护方法及装置
CN106371940A (zh) * 2015-07-21 2017-02-01 腾讯科技(深圳)有限公司 一种程序崩溃解决方法及装置
CN106371940B (zh) * 2015-07-21 2020-02-11 腾讯科技(深圳)有限公司 一种程序崩溃解决方法及装置
CN105245513A (zh) * 2015-09-29 2016-01-13 江苏金源锻造股份有限公司 一种用于实现电源控制的机械装置电源电路
CN105306196A (zh) * 2015-09-29 2016-02-03 江苏金源锻造股份有限公司 一种用于机械设备控制系统的硬件加解密装置
CN105227554A (zh) * 2015-09-29 2016-01-06 江苏金源锻造股份有限公司 一种程控便携式割草机
CN105844150A (zh) * 2016-03-23 2016-08-10 青岛海信传媒网络技术有限公司 一种应用程序的数据保护方法和装置
CN105930744A (zh) * 2016-04-22 2016-09-07 北京奇虎科技有限公司 一种文件加固方法及装置
CN105930744B (zh) * 2016-04-22 2019-03-08 北京奇虎科技有限公司 一种文件加固方法及装置
CN105893860A (zh) * 2016-05-05 2016-08-24 百度在线网络技术(北京)有限公司 关键代码保护方法以及代码生成装置和代码运行装置
CN106022098A (zh) * 2016-05-10 2016-10-12 青岛海信传媒网络技术有限公司 一种应用程序的签名验证方法和装置
CN107844687A (zh) * 2017-11-22 2018-03-27 上海勋立信息科技有限公司 一种安卓信息拦截方法及装置
CN107844687B (zh) * 2017-11-22 2021-06-25 上海勋立信息科技有限公司 一种安卓信息拦截方法及装置
CN108427559A (zh) * 2018-03-14 2018-08-21 新华三技术有限公司 一种脚本文件生成和调用方法以及装置
CN108491235A (zh) * 2018-03-21 2018-09-04 北京理工大学 结合动态加载和函数Native化的DEX保护方法
CN108491235B (zh) * 2018-03-21 2021-03-30 北京理工大学 结合动态加载和函数Native化的DEX保护方法
CN109032687A (zh) * 2018-06-11 2018-12-18 北京奇艺世纪科技有限公司 屏蔽sdk危险调用的方法及装置
CN109032687B (zh) * 2018-06-11 2021-09-03 北京奇艺世纪科技有限公司 屏蔽sdk危险调用的方法及装置
CN109255235A (zh) * 2018-09-17 2019-01-22 西安电子科技大学 基于用户态沙箱的移动应用第三方库隔离方法
CN109408073A (zh) * 2018-09-21 2019-03-01 北京大学 一种Android非侵入式应用重打包方法
CN109408073B (zh) * 2018-09-21 2021-10-08 北京大学 一种Android非侵入式应用重打包方法
CN109614772B (zh) * 2018-11-20 2021-02-02 江苏通付盾信息安全技术有限公司 基于应用安装包文件的代码转换方法及装置
CN109614772A (zh) * 2018-11-20 2019-04-12 江苏通付盾信息安全技术有限公司 基于应用安装包文件的代码转换方法及装置
CN109918872A (zh) * 2019-01-28 2019-06-21 中国科学院数据与通信保护研究教育中心 Android应用加固方法
CN109960510A (zh) * 2019-03-20 2019-07-02 北京智游网安科技有限公司 Android应用动态链接库的加固方法及相关设备
CN109960510B (zh) * 2019-03-20 2022-09-06 北京智游网安科技有限公司 Android应用动态链接库的加固方法及相关设备
CN111752591A (zh) * 2019-03-27 2020-10-09 北京奇虎科技有限公司 一种加固应用的运行方法和装置以及应用加固方法和装置
CN110309630A (zh) * 2019-06-28 2019-10-08 南京冰鉴信息科技有限公司 一种Java代码加密方法及装置
CN111585961A (zh) * 2020-04-03 2020-08-25 北京大学 一种网页挖矿攻击检测及保护方法和装置
CN111585961B (zh) * 2020-04-03 2021-08-20 北京大学 一种网页挖矿攻击检测及保护方法和装置
CN112052459A (zh) * 2020-08-05 2020-12-08 北京智游网安科技有限公司 一种代码虚拟化加密方法、终端及存储介质

Similar Documents

Publication Publication Date Title
CN103902859A (zh) 基于JAVA下hook技术的代码保护方法及系统
EP2962193B1 (en) Compiler based obfuscation
Hoffmann et al. Slicing droids: program slicing for smali code
US8595138B2 (en) Packaging system for customizing software
KR101328012B1 (ko) 애플리케이션 코드 난독화 장치 및 그 방법
Kim et al. ScanDal: Static analyzer for detecting privacy leaks in android applications
CN105046116B (zh) Android系统中保护dex文件不被反编译的方法
CN108733988A (zh) 安卓平台上可执行程序的保护方法
US20170024230A1 (en) Method, apparatus, and computer-readable medium for ofuscating execution of an application on a virtual machine
Lu et al. DeepAutoD: Research on distributed machine learning oriented scalable mobile communication security unpacking system
KR101234591B1 (ko) Jni를 이용한 안드로이드 난독화 방법
CN101158911A (zh) .Net程序保护方法及装置
CN112748946B (zh) 应用程序安装文件生成方法和装置、计算设备、存储介质
CN105303073A (zh) 软件代码保护方法
CN108399319A (zh) 源代码保护方法、应用服务器及计算机可读存储介质
CN103116715A (zh) Windows平台可执行文件API延迟导入保护方法
CN105068853A (zh) 渠道包的输出方法及装置
Shah et al. Code obfuscating a Kotlin-based App with Proguard
CN111381816A (zh) 应用程序的获取方法、装置、设备及存储介质
CN103885784A (zh) 具有安全模块可插拔功能的Android平台构建方法
WO2015058639A1 (zh) 一种应用程序保护系统和方法
Pizzolotto et al. Oblive: seamless code obfuscation for java programs and android apps
CN104751026A (zh) 安卓系统的软件保护方法、软件应用方法及相关装置
CN113282294B (zh) 基于安卓平台Java字符串混淆的方法和装置
Schütte et al. lios: Lifting ios apps for fun and profit

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140702

Application publication date: 20140702