CN107784204B - 应用脱壳方法和装置 - Google Patents

应用脱壳方法和装置 Download PDF

Info

Publication number
CN107784204B
CN107784204B CN201610796499.0A CN201610796499A CN107784204B CN 107784204 B CN107784204 B CN 107784204B CN 201610796499 A CN201610796499 A CN 201610796499A CN 107784204 B CN107784204 B CN 107784204B
Authority
CN
China
Prior art keywords
file
application
executable file
executable
shell application
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.)
Active
Application number
CN201610796499.0A
Other languages
English (en)
Other versions
CN107784204A (zh
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.)
Baidu Online Network Technology Beijing Co Ltd
Original Assignee
Baidu Online Network Technology Beijing 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 Baidu Online Network Technology Beijing Co Ltd filed Critical Baidu Online Network Technology Beijing Co Ltd
Priority to CN201610796499.0A priority Critical patent/CN107784204B/zh
Publication of CN107784204A publication Critical patent/CN107784204A/zh
Application granted granted Critical
Publication of CN107784204B publication Critical patent/CN107784204B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了应用脱壳方法和装置。该方法的一具体实施方式包括:确定已加载在内存中的加壳应用的可执行文件的文件内容的位置,加壳应用为在源代码中加入防止反编译的代码的应用;在解析可执行文件的文件内容之前,基于位置,复制可执行文件的文件内容至预设目录。从而获取到加壳应用的可执行文件完整的可执行文件的文件内容,完成加壳应用的脱壳。

Description

应用脱壳方法和装置
技术领域
本申请涉及计算机领域,具体涉及领域,尤其涉及应用脱壳方法和装置。
背景技术
随着互联网的快速发展,应用的类型也越来越丰富。在应用发布时,通常利用加壳技术在应用的外部加入一段代码,保护应用的源代码不被非法修改或反编译。在对加壳的应用进行分析时,需要进行脱壳,即去除加入的代码,获取应用的可执行文件的文件内容。目前,通常采用的方式为:通过hook方式进行脱壳,即通过钩取加载可执行文件的函数来获取可执行文件的信息。
然而,当采用上述方式对加壳的应用进行脱壳时,加壳的应用可以通过用于检查进程地址空间的模块,发现被hook而不释放可执行文件,导致脱壳失败。
发明内容
本申请提供了应用脱壳方法和装置,用于解决上述背景技术部分存在的技术问题。
第一方面,本申请提供了应用脱壳方法,该方法包括:确定已加载在内存中的加壳应用的可执行文件的文件内容的位置,加壳应用为在源代码中加入防止反编译的代码的应用;在解析可执行文件的文件内容之前,基于位置,复制可执行文件的文件内容至预设目录。
在一些实施例中,操作系统为安卓系统,可执行文件包括:dex文件、odex文件。
在一些实施例中,在确定已加载在内存中的加壳应用的可执行文件的文件内容的位置之前,还包括:确定加壳应用运行在的操作系统的动态链接库中用于解析加壳应用的可执行文件的函数的内存地址;在内存地址之前,加入用于复制可执行文件的文件内容至预设目录的代码。
在一些实施例中,确定已加载在内存中的加壳应用的可执行文件的文件内容的位置包括:获取用于解析加壳应用的可执行文件的函数的输入参数,输入参数包括:加壳应用的可执行文件的文件内容的内存地址的指针;基于指针,确定加壳应用的可执行文件的文件内容的内存地址。
在一些实施例中,还包括:在加入用于复制可执行文件的文件内容至预设目录的代码之后,重新编译动态链接库。
第二方面,本申请提供了应用脱壳装置,该装置包括:确定单元,配置用于确定已加载在内存中的加壳应用的可执行文件的文件内容的位置,加壳应用为在源代码中加入防止反编译的代码的应用;复制单元,配置用于在解析可执行文件的文件内容之前,基于位置,复制可执行文件的文件内容至预设目录。
在一些实施例中,操作系统为安卓系统,可执行文件包括:dex文件、odex文件。
在一些实施例中,装置还包括:地址确定单元,配置用于在确定已加载在内存中的加壳应用的可执行文件的文件内容的位置之前,确定加壳应用运行在的操作系统的动态链接库中用于解析加壳应用的可执行文件的函数的内存地址;加入单元,配置用于在内存地址之前,加入用于复制可执行文件的文件内容至预设目录的代码。
在一些实施例中,确定单元包括:参数获取子单元,配置用于获取用于解析加壳应用的可执行文件的函数的输入参数,输入参数包括:加壳应用的可执行文件的文件内容的内存地址的指针;内存地址确定子单元,配置用于基于指针,确定加壳应用的可执行文件的文件内容的内存地址。
在一些实施例中,装置还包括:编译单元,配置用于在加入用于复制可执行文件的文件内容至预设目录的代码之后,重新编译动态链接库。
本申请提供的应用脱壳方法和装置,通过确定已加载在内存中的加壳应用的可执行文件的文件内容的位置,加壳应用为在源代码中加入防止反编译的代码的应用;在解析可执行文件的文件内容之前,基于位置,复制可执行文件的文件内容至预设目录。从而获取到加壳应用的可执行文件完整的可执行文件的文件内容,完成加壳应用的脱壳。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了可以应用于本申请的应用脱壳方法或装置的示例性系统架构;
图2示出了根据本申请的应用脱壳方法的一个实施例的流程图;
图3示出了根据本申请的应用脱壳方法的另一个实施例的流程图;
图4示出了根据本申请的应用脱壳装置的一个实施例的结构示意图;
图5示出了适于用来实现本申请实施例的应用脱壳装置的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的应用脱壳方法或装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端101,网络103和多个终端102。网络103用以在终端101和终端102之间提供传输链路的介质。网络103可以为有线传输链路,例如USB(Universal Serial Bus,通用串行)总线。
终端101、终端102可以是具有显示屏并且支持网络通信的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。终端101、终端102上可以安装有各种通讯应用,例如网络安全类应用、浏览器类应用、即时通信工具等。
终端101可以通过网络103与终端102进行交互。终端102可以运行不同版本的操作系统例如不同版本的安卓操作系统。终端101可以根据终端102运行的操作系统的版本,对操作系统中动态链接库中的源代码进行修改,进行重新编译后生成新的动态链接库。终端101可以向终端102发送重新编译后生成新的动态链接库。终端102可以利用重新编译后生成新的动态链接库替换当前运行的动态链接库。终端102在运行待脱壳的应用时,可以利用重新编译后生成新的动态链接库进行脱壳。
请参考图2,其示出了根据本申请的应用脱壳方法的一个实施例的流程200。需要说明的是,本申请实施例所提供的应用脱壳方法可以由图1中的终端102执行。该方法包括以下步骤:
步骤201,确定已加载在内存中的加壳应用的可执行文件的文件内容的位置。
在本实施例中,加壳应用为在应用的源代码之前加入防止反编译的代码的应用。应用的可执行文件可以是指可在应用所运行在的操作系统中执行的文件。
在本实施例中,为获取到加壳应用的源代码即加壳应用的可执行文件的文件内容完成脱壳,可以在加壳应用的可执行文件的文件内容加载在内存中之后,首先确定已加载在内存中的加壳应用的可执行文件的文件内容的位置。加壳应用的可执行文件的文件内容的位置包含可执行文件的文件内容在内存中的起始位置和结束位置。
步骤202,在解析可执行文件的文件内容之前,基于位置,复制可执行文件的文件内容至预设目录。
在本实施例中,在通过步骤201确定已加载在内存中的加壳应用的可执行文件的文件内容的位置之后,由于加壳应用中的源代码即可执行文件的文件内容已在内存中,可以在加壳应用运行在的操作系统解析加载在内存中的可执行文件之前,基于加壳应用的可执行文件的文件内容在内存中的起始位置和结束位置,将加壳应用的可执行文件复制到预设目录。从而,在预设目录中存储应用的源代码完成脱壳。
请参考图3,其示出了根据本申请的应用脱壳方法的另一个实施例的流程300。需要说明的是,本申请实施例所提供的应用脱壳方法可以由图1中的终端102执行。该方法包括以下步骤:
步骤301,在动态链接库中加入用于复制可执行文件的文件内容至预设目录的代码。
在本实施例中,加壳应用运行在的操作系统可以为安卓系统。加壳应用的可执行文件可以为APK(Android Package,安卓安装包)文件中的dex(Dalvik VM executes)文件、对dex文件进行优化得到的odex文件。dex文件、odex文件包含可被安卓系统的DalVik虚拟机执行Dalvik字节码。
应用在安卓系统上加载时,安卓系统可以首先初始化一个虚拟机,对应用的可执行文件dex文件或odex文件进行字节重排序、结构对齐等优化。当优化成功时,可以调用解析可执行文件dex文件或odex文件的函数解析dex文件或odex文件。用于解析可执行文件dex文件或odex文件的函数中的参数包含dex文件或odex文件的起始位置的指针、dex文件或odex文件的大小。
在本实施例中,在加壳应用运行在的操作系统的动态链接库例如libdvm.so库中加入用于复制可执行文件的文件内容至预设目录的代码时,可以首先确定加壳应用运行在的操作系统的动态链接库中用于解析加壳应用的可执行文件的函数的内存地址。然后,可以在动态链接库中用于解析加壳应用的可执行文件的函数的内存地址之前,加入用于复制可执行文件的文件内容至预设目录的代码。
在本实施例中,可以首先在动态链接库中用于解析加壳应用的可执行文件dex文件或odex文件的函数的内存地址之前,加入用于复制可执行文件的文件内容至预设目录的代码。当安卓系统通过动态链接库调用用于解析加壳应用的可执行文件的函数时,会首先调用用于复制可执行文件dex文件或odex文件的代码至预设目录的代码。从而,可以在解析dex文件或odex文件,运行用于复制可执行文件dex文件或odex文件的代码至预设目录的代码,将dex文件或odex文件复制到预设目录。
在本实施例中,在动态链接库中用于解析加壳应用的可执行文件的函数的内存地址之前,加入用于复制可执行文件的文件内容至预设目录的代码之后,可以重新编译动态链接库。然后,可以利用编译后的动态链接库替换加壳应用当前所运行在的操作系统的当前动态链接库。
当加壳应用的安卓操作系统运行时,会运行替换后的动态链接库,加壳应用的安卓操作系统在调用替换后的动态链接库中的调用用于解析加壳应用的可执行文件的函数解析dex文件或odex文件时,会首先调用用于复制可执行文件dex文件或odex文件的代码至预设目录的代码。从而,可以运行用于复制可执行文件dex文件或odex文件的代码至预设目录的代码,将dex文件或odex文件复制到预设目录。从而,可以获取到加壳应用的源代码,加壳应用在其运行的操作系统上完成脱壳。
步骤302,确定已加载在内存中的加壳应用的可执行文件的文件内容的位置。
在本实施例中,可以在加壳应用的可执行文件dex文件或odex文件的代码加载在内存中之后,首先确定加载在内存中的加壳应用的可执行文件dex文件或odex文件的代码的位置即内存地址。
在本实施例中,确定已加载在内存中的加壳应用的可执行文件的文件内容的位置包括:获取用于解析加壳应用的可执行文件的函数的输入参数,输入参数包含:加壳应用的可执行文件的文件内容的内存地址的指针;基于指针,确定加壳应用的可执行文件的文件内容的内存地址。
在本实施例中,可以获取用于解析加壳应用的可执行文件dex文件或odex文件的函数中的输入参数,输入参数包含dex文件或odex文件加载在内存中的起始位置的指针、dex文件或odex的大小。可以根据dex文件或odex文件加载在内存中的起始位置的指针,确定加载在内存中的dex文件或odex的起始位置。可以根据dex文件或odex文件的大小,计算出dex文件或odex文件的结束地址。然后,可以确定加壳应用的可执行文件dex文件或odex的代码在内存中的的位置即在内存中的内存地址。
步骤303,在解析可执行文件的文件内容之前,基于位置,复制可执行文件的文件内容至预设目录。
在本实施例中,在通过步骤302确定已加载在内存中的加壳应用的可执行文件的文件内容的位置之后,可以在加壳应用运行在的安卓系统用于解析可执行文件的文件内容执行之前,基于加壳应用的源代码即可执行文件的文件内容在内存中的起始位置和结束位置,将加壳应用的可执行文件复制到预设目录。从而,在预设目录中存储应用的源代码,完成加壳应用的脱壳。
下面结合应用场景说明本申请中的应用脱壳方法:以加壳应用为运行在安卓系统上的加壳app(Application,应用程序)为例,可以将加壳app所在的终端称之为目标终端,可以将修改动态链接库的源代码来完成脱壳的终端称之为脱壳终端。在目标终端运行待脱壳的加壳应用之前,脱壳终端可以根据目标终端运行的安卓系统的版本,首先查找出该版本的安卓系统的动态链接库中的用于解析加壳应用的可执行文件的函数的内存地址,在该内存地址之前,加入用于复制可执行文件的文件内容至预设目录的代码。然后,脱壳终端重新编译该动态链接库生成新的动态链接库。脱壳终端可以向目标终端发送重新编译后的新的动态链接库来替换目标终端的安卓系统中当前运行的动态链接库。同时,脱壳终端可以向目标终端发送用于确定已加载在内存中的加壳应用的可执行文件的文件内容的位置的代码。目标终端在安卓系统启动后,会运行重新编译后生成的新的动态链接库。从而,在调用替换后的重新编译后生成的新的动态链接库中的用于解析加壳app的可执行文件的函数解析dex文件或odex文件之前,会首先调用用于复制可执行文件dex文件或odex文件的代码至预设目录的代码。同时,可以利用用于确定已加载在内存中的加壳应用的可执行文件的文件内容的位置的代码确定可执行文件的位置。可以在预设目录例如/data/data/<应用包名>/目录下生成以当前时间为文件名的至少一个odex文件。可以将安卓系统中的/system/framework文件夹和生成的odex拖住到电脑上本地,使用baksmali和smali工具,将odex文件转换成dex文件。从而,可以成功获取app隐藏的dex文件,完成加壳app的脱壳。
请参考图4,其示出了根据本申请的应用脱壳装置的一个实施例的结构示意图。该装置实施例与图2所示的方法实施例相对应。
如图4所示,本实施例的应用脱壳装置400包括:确定单元401,复制单元402。其中,确定单元401配置用于确定已加载在内存中的加壳应用的可执行文件的文件内容的位置,加壳应用为在源代码中加入防止反编译的代码的应用;复制单元402配置用于在解析可执行文件的文件内容之前,基于位置,复制可执行文件的文件内容至预设目录。
在本实施例的一些可选的实现方式中,加壳应用运行在的操作系统为安卓系统,可执行文件包括:dex文件、odex文件。
在本实施例的一些可选的实现方式中,装置400还包括:地址确定单元(未示出),配置用于在确定已加载在内存中的加壳应用的可执行文件的文件内容的位置之前,确定加壳应用运行在的操作系统的动态链接库中用于解析加壳应用的可执行文件的函数的内存地址;加入单元(未示出),配置用于在内存地址之前,加入用于复制可执行文件的文件内容至预设目录的代码。
在本实施例的一些可选的实现方式中,确定单元401包括:参数获取子单元(未示出),配置用于获取用于解析加壳应用的可执行文件的函数的输入参数,输入参数包括:加壳应用的可执行文件的文件内容的内存地址的指针;内存地址确定子单元(未示出),配置用于基于指针,确定加壳应用的可执行文件的文件内容的内存地址。
在本实施例的一些可选的实现方式中,装置400还包括:编译单元(未示出),配置用于在加入用于复制可执行文件的文件内容至预设目录的代码之后,重新编译动态链接库。
图5示出了适于用来实现本申请实施例的应用脱壳装置的计算机系统的结构示意图。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有系统500操作所需的各种程序和数据。CPU501、ROM 502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述设备中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:确定已加载在内存中的加壳应用的可执行文件的文件内容的位置,所述加壳应用为在源代码中加入防止反编译的代码的应用;在解析所述可执行文件的文件内容之前,基于所述位置,复制所述可执行文件的文件内容至预设目录。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (8)

1.一种应用脱壳方法,其特征在于,所述方法包括:
确定加壳应用运行在的操作系统的动态链接库中用于解析所述加壳应用的可执行文件的函数的内存地址;
在所述内存地址之前,加入用于复制所述可执行文件的文件内容至预设目录的代码;
确定已加载在内存中的加壳应用的可执行文件的文件内容的位置,所述加壳应用为在源代码中加入防止反编译的代码的应用,所述源代码即所述可执行文件的文件内容;
在解析所述可执行文件的文件内容之前,基于所述位置,复制所述可执行文件的文件内容至预设目录。
2.根据权利要求1所述的方法,其特征在于,所述加壳应用运行在的操作系统为安卓系统,所述可执行文件包括:dex文件、odex文件。
3.根据权利要求1所述的方法,其特征在于,确定已加载在内存中的加壳应用的可执行文件的文件内容的位置包括:
获取用于解析所述加壳应用的可执行文件的函数的输入参数,所述输入参数包括:加壳应用的可执行文件的文件内容的内存地址的指针;
基于所述指针,确定加壳应用的可执行文件的文件内容的内存地址。
4.根据权利要求3所述的方法,其特征在于,在加入用于复制所述可执行文件的文件内容至预设目录的代码之后,所述方法还包括:
重新编译所述动态链接库。
5.一种应用脱壳装置,其特征在于,所述装置包括:
地址确定单元,配置用于在确定已加载在内存中的加壳应用的可执行文件的文件内容的位置之前,确定加壳应用运行在的操作系统的动态链接库中用于解析所述加壳应用的可执行文件的函数的内存地址;
加入单元,配置用于在所述内存地址之前,加入用于复制所述可执行文件的文件内容至预设目录的代码;
确定单元,配置用于确定已加载在内存中的加壳应用的可执行文件的文件内容的位置,所述加壳应用为在源代码中加入防止反编译的代码的应用,所述源代码即所述可执行文件的文件内容;
复制单元,配置用于在解析所述可执行文件的文件内容之前,基于所述位置,复制所述可执行文件的文件内容至预设目录。
6.根据权利要求5所述的装置,其特征在于,所述加壳应用运行在的操作系统为安卓系统,所述可执行文件包括:dex文件、odex文件。
7.根据权利要求5所述的装置,其特征在于,确定单元包括:
参数获取子单元,配置用于获取用于解析所述加壳应用的可执行文件的函数的输入参数,所述输入参数包括:加壳应用的可执行文件的文件内容的内存地址的指针;
内存地址确定子单元,配置用于基于所述指针,确定加壳应用的可执行文件的文件内容的内存地址。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
编译单元,配置用于在加入用于复制所述可执行文件的文件内容至预设目录的代码之后,重新编译所述动态链接库。
CN201610796499.0A 2016-08-31 2016-08-31 应用脱壳方法和装置 Active CN107784204B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610796499.0A CN107784204B (zh) 2016-08-31 2016-08-31 应用脱壳方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610796499.0A CN107784204B (zh) 2016-08-31 2016-08-31 应用脱壳方法和装置

Publications (2)

Publication Number Publication Date
CN107784204A CN107784204A (zh) 2018-03-09
CN107784204B true CN107784204B (zh) 2021-10-22

Family

ID=61451658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610796499.0A Active CN107784204B (zh) 2016-08-31 2016-08-31 应用脱壳方法和装置

Country Status (1)

Country Link
CN (1) CN107784204B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131845A (zh) * 2006-08-25 2008-02-27 吉林省圣伦计算机信息安全有限公司 存储介质的防复制方法
CN102004884A (zh) * 2009-08-28 2011-04-06 华为技术有限公司 一种获取可执行文件输入表的方法及装置
CN102184363A (zh) * 2011-05-21 2011-09-14 电子科技大学 基于综合处理的软件壳自动脱壳方法
CN103064687A (zh) * 2012-12-28 2013-04-24 北京神州绿盟信息安全科技股份有限公司 一种程序入口点oep的确定方法及装置
CN104156481A (zh) * 2014-08-26 2014-11-19 北京软安科技有限公司 基于动态链接库注入的Android加密通信检测装置和方法
CN104462959A (zh) * 2014-12-04 2015-03-25 北京奇虎科技有限公司 一种安卓应用的加固保护方法、服务器和系统
CN104484585A (zh) * 2014-11-26 2015-04-01 北京奇虎科技有限公司 一种应用程序安装包的处理方法、装置及移动设备
CN104504310A (zh) * 2015-01-15 2015-04-08 深圳市东信时代信息技术有限公司 基于壳技术的软件保护方法和装置
CN105068932A (zh) * 2015-08-25 2015-11-18 北京安普诺信息技术有限公司 一种Android应用程序加壳的检测方法
CN105574411A (zh) * 2015-12-25 2016-05-11 北京奇虎科技有限公司 一种动态脱壳方法、装置和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10121002B2 (en) * 2014-08-31 2018-11-06 Solebit Labs Ltd. Detecting executable code within a data entity
CN104239757B (zh) * 2014-09-30 2017-04-19 北京奇虎科技有限公司 应用程序防止逆向的方法及装置、运行方法及终端

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131845A (zh) * 2006-08-25 2008-02-27 吉林省圣伦计算机信息安全有限公司 存储介质的防复制方法
CN102004884A (zh) * 2009-08-28 2011-04-06 华为技术有限公司 一种获取可执行文件输入表的方法及装置
CN102184363A (zh) * 2011-05-21 2011-09-14 电子科技大学 基于综合处理的软件壳自动脱壳方法
CN103064687A (zh) * 2012-12-28 2013-04-24 北京神州绿盟信息安全科技股份有限公司 一种程序入口点oep的确定方法及装置
CN104156481A (zh) * 2014-08-26 2014-11-19 北京软安科技有限公司 基于动态链接库注入的Android加密通信检测装置和方法
CN104484585A (zh) * 2014-11-26 2015-04-01 北京奇虎科技有限公司 一种应用程序安装包的处理方法、装置及移动设备
CN104462959A (zh) * 2014-12-04 2015-03-25 北京奇虎科技有限公司 一种安卓应用的加固保护方法、服务器和系统
CN104504310A (zh) * 2015-01-15 2015-04-08 深圳市东信时代信息技术有限公司 基于壳技术的软件保护方法和装置
CN105068932A (zh) * 2015-08-25 2015-11-18 北京安普诺信息技术有限公司 一种Android应用程序加壳的检测方法
CN105574411A (zh) * 2015-12-25 2016-05-11 北京奇虎科技有限公司 一种动态脱壳方法、装置和设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
APK脱壳的一点小总结;未知;《URL:http://www.bubuko.com/infodetail-1575733.html》;20160520;文档第1-3页 *
恶意代码自动脱壳技术研究;彭小详 等;《信息网络安全》;20140531(第05期);第41-45页 *

Also Published As

Publication number Publication date
CN107784204A (zh) 2018-03-09

Similar Documents

Publication Publication Date Title
CN109117169B (zh) 用于修复内核漏洞的方法和装置
US10795652B2 (en) Generating native code from intermediate language code for an application
CN107451474B (zh) 用于终端的软件漏洞修复方法和装置
CN109062617B (zh) 一种支持多类型设备的平台的应用方法、移动终端
CN105786538B (zh) 基于安卓系统的软件升级方法和装置
TWI715762B (zh) 虛擬機器創建方法和裝置
KR20150024842A (ko) 적응식 이식가능 라이브러리
CN105068932A (zh) 一种Android应用程序加壳的检测方法
CN107797820B (zh) 用于生成补丁的方法和装置
US20170124306A1 (en) Method and apparatus for preventing application from being deciphered
CN108089870B (zh) 用于修复应用的方法和装置
CN110609687A (zh) 一种编译方法、装置、电子设备和存储介质
CN112882694A (zh) 一种程序编译方法、装置、电子设备及可读存储介质
CN112612502A (zh) 补丁生成方法、装置、设备及存储介质
CN112667246A (zh) 应用功能扩展的方法、装置及电子设备
WO2019237239A1 (zh) 数据测试方法、装置、设备/终端/服务器及计算机可读存储介质
US10552135B1 (en) Reducing a size of an application package
CN107784204B (zh) 应用脱壳方法和装置
US20160085523A1 (en) Selectively loading precompiled header(s) and/or portion(s) thereof
CN112148318B (zh) 应用包发布方法、应用方法、装置、介质、服务器及设备
CN106897588B (zh) 一种标签函数的处理方法及装置
CN112596751A (zh) 应用程序安装包的编译方法、终端、服务器及存储介质
CN110825417A (zh) 应用程序更新方法及系统
KR102310766B1 (ko) 어플리케이션의 무결성 검사방법
CN112612754A (zh) 一种文件搜索方法、系统、装置及计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant