CN107315951B - 一种程序安装包反拦截方法及装置 - Google Patents

一种程序安装包反拦截方法及装置 Download PDF

Info

Publication number
CN107315951B
CN107315951B CN201610263539.5A CN201610263539A CN107315951B CN 107315951 B CN107315951 B CN 107315951B CN 201610263539 A CN201610263539 A CN 201610263539A CN 107315951 B CN107315951 B CN 107315951B
Authority
CN
China
Prior art keywords
program
installation package
executable program
program installation
icon resource
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
CN201610263539.5A
Other languages
English (en)
Other versions
CN107315951A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610263539.5A priority Critical patent/CN107315951B/zh
Publication of CN107315951A publication Critical patent/CN107315951A/zh
Application granted granted Critical
Publication of CN107315951B publication Critical patent/CN107315951B/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种程序安装包反拦截方法,包括:获取程序安装包,所述程序安装包包括可执行程序;根据随机分配的图片属性信息生成得到随机图标资源,并使用所述随机图标资源替换所述可执行程序中配置的原图标资源;根据预先生成的数据映射文件,确定所述可执行程序中的代码插入位置,并在确定的所述代码插入位置处插入无效代码;根据配置所述随机图标资源以及插入所述无效代码的所述可执行程序,生成得到新的程序安装包。本发明实施例还公开了一种程序安装包反拦截装置。采用本发明实施例,可以降低程序安装包被拦截的机率。

Description

一种程序安装包反拦截方法及装置
技术领域
本发明涉及数据处理技术领域,尤其涉及一种程序安装包反拦截方法及装置。
背景技术
随着智能终端技术的不断发展,人们越来越多的从应用市场上下载各种层序安装包,但是有些程序安装包很容易被杀毒软件检测出安装包的特征码,导致程序安装包被攻击拦截。在现有技术方案中,为了防止程序安装包被拦截,通常对程序的数据和代码进行压缩或加入干扰代码,并在程序最开头插入解压或恢复代码,然后重新打包生成程序,但是,在对该程序进行压缩变形操作时会产生固定的可识别的特征,因而还是会很容易被检测出来,导致程序安装包被拦截的机率很高。
发明内容
本发明实施例提供一种程序安装包反拦截方法及装置。可以降低程序安装包被拦截的机率。
本发明第一方面提供了一种程序安装包反拦截方法,包括:
获取程序安装包,所述程序安装包包括可执行程序;
根据随机分配的图片属性信息生成得到随机图标资源,并使用所述随机图标资源替换所述可执行程序中配置的原图标资源;
根据预先生成的数据映射文件,确定所述可执行程序中的代码插入位置,并在确定的所述代码插入位置处插入无效代码;
根据配置所述随机图标资源以及插入所述无效代码的所述可执行程序,生成得到新的程序安装包。
其中,所述根据随机分配的图片属性信息生成得到随机图标资源之前,还包括:
检查所述程序安装包上是否存在数字签名;
若所述程序安装包上存在数字签名,则删除所述程序安装包上的数字签名。
其中,所述图片属性信息包括多边形位置、形状、颜色以及画布的背景颜色;
所述根据随机分配的图片属性信息生成得到随机图标资源,并使用所述随机图标资源替换所述可执行程序中配置的原图标资源包括:
根据随机分配的所述多边形位置、形状、颜色以及所述画布的背景颜色,在所述画布上绘制所述多边形得到所述随机图标资源;
通过操作系统的接口调用函数,将所述可执行程序中配置的所述原图标资源替换为所述随机图标资源。
其中,所述程序安装包还包括附加安装数据,所述根据配置所述随机图标资源以及插入所述无效代码的所述可执行程序,生成得到新的程序安装包包括:
确定配置所述随机图标资源以及插入所述无效代码的所述可执行程序是否符合预置的文件格式;
若符合,则将所述附加安装数据拼接到配置所述随机图标资源以及插入所述无效代码的所述可执行程序后得到所述新的程序安装包。
其中,所述配置所述随机图标资源以及插入所述无效代码的所述可执行程序,生成得到新的程序安装包之后,还包括:
将所述新的程序安装包发送到签名服务器,以使所述签名服务器对所述新的程序安装包括进行数字签名。
相应地,本发明第二方面提供了一种程序安装包反拦截装置,包括:
程序获取模块,用于获取程序安装包,所述程序安装包包括可执行程序;
图标替换模块,用于根据随机分配的图片属性信息生成得到随机图标资源,并使用所述随机图标资源替换所述可执行程序中配置的原图标资源;
代码插入模块,用于根据预先生成的数据映射文件,确定所述可执行程序中的代码插入位置,并在确定的所述代码插入位置处插入无效代码;
程序生成模块,用于根据配置所述随机图标资源以及插入所述无效代码的所述可执行程序,生成得到新的程序安装包。
其中,所述装置还包括签名删除模块,所述签名删除模块包括:
检查所述程序安装包上是否存在数字签名;
若所述程序安装包上存在数字签名,则删除所述程序安装包上的数字签名。
其中,所述图片属性信息包括多边形位置、形状、颜色以及画布的背景颜色;
所述图标替换模块具体用于:
根据随机分配的所述多边形位置、形状、颜色以及所述画布的背景颜色,在所述画布上绘制所述多边形得到所述随机图标资源;
通过操作系统的接口调用函数,将所述可执行程序中配置的所述原图标资源替换为所述随机图标资源。
其中,所述程序安装包还包括附加安装数据,所述程序生成模块具体用于:
确定配置所述随机图标资源以及插入所述无效代码的所述可执行程序是否符合预置的文件格式;
若符合,则将所述附加安装数据拼接到配置所述随机图标资源以及插入所述无效代码的所述可执行程序后得到所述新的程序安装包。
其中,所述装置还包括:
程序发送模块,用于将所述新的程序安装包发送到签名服务器,以使所述签名服务器对所述新的程序安装包括进行数字签名。
相应地,本发明第三方面提供了一种程序安装包反拦截装置,所述装置包括接口电路、存储器以及处理器,其中,存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:
获取程序安装包,所述程序安装包包括可执行程序;
根据随机分配的图片属性信息生成得到随机图标资源,并使用所述随机图标资源替换所述可执行程序中配置的原图标资源;
根据预先生成的数据映射文件,确定所述可执行程序中的代码插入位置,并在确定的所述代码插入位置处插入无效代码;
根据配置所述随机图标资源以及插入所述无效代码的所述可执行程序,生成得到新的程序安装包。
实施本发明实施例,首先获取程序安装包,然后根据随机分配的图片属性信息生成得到随机图标资源,并使用随机图标资源替换可执行程序中配置的原图标资源;其次根据预先生成的数据映射文件,确定可执行程序中的代码插入位置,并在确定的代码插入位置处插入无效代码;最后根据配置随机图标资源以及插入无效代码的可执行程序,生成得到新的程序安装包,从而通过随机生成的图标资源替换程序安装包的原图标资源,并在执行程序中插入干扰代码是的程序局部特征变化,进而可以降低程序安装包被拦截的机率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提出的一种程序安装包反拦截方法的第一实施例流程图;
图2是本发明提出的一种程序安装包反拦截方法的第二实施例流程图;
图3是本发明实施例提出的一种程序安装包反拦截装置的结构示意图;
图4是本发明实施例提出的另一种程序安装包反拦截装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1是本发明提出的一种程序安装包反拦截方法的第一实施例流程图。如图所示,本发明实施例中的方法包括:
S101,获取程序安装包,所述程序安装包包括可执行程序。
具体实现中,可以使用任意一个未经处理的原始程序安装包,该程序安装包可以包括可执行程序以及附加安装数据,其中,可执行程序可以包括PE(Portable Executable)文件,如EXE、DLL、OCX、SYS、COM格式文件等等,附加安装数据可以包括CHM帮助文件、TXT说明文件等等。
可选的,在获取到程序安装包之后,可以检查所述程序安装包上是否存在数字签名;若所述程序安装包上存在数字签名,则删除所述程序安装包上的数字签名。
具体的,可执行程序具有文件格式,文件格式由一个MS-DOS头部开始,然后是一个实模式的程序残余以及一个PE文件标志,紧接着是PE文件头和可选头部,再接着是所有的段头部,段头部之后是所有的段实体。其中,可选头的数据目录里,字段DataDirectory[IMAGE_DIRECTORY_ENTRY_SECURITY]保存着数字签名的位置和大小,可以查找到该字段的位置,再将该字段清零并保存,从而删除数字签名。
S102,根据随机分配的图片属性信息生成得到随机图标资源,并使用所述随机图标资源替换所述可执行程序中配置的原图标资源。
具体实现中,所述图片属性信息包括多边形位置、形状、颜色以及画布的背景颜色,可以根据随机分配的所述多边形位置、形状、颜色以及所述画布的背景颜色,在所述画布上绘制所述多边形得到所述随机图标资源,并将所述随机图标资源保存为ICO文件;通过操作系统的接口调用函数(如Windows操作系统的API函数),将所述可执行程序中配置的所述原图标资源替换为所述随机图标资源。
S103,根据预先生成的数据映射文件,确定所述可执行程序中的代码插入位置,并在确定的所述代码插入位置处插入无效代码。
具体实现中,所述数据映射文件可以为MAP文件,在编译创建程序安装包时会生成MAP信息并保存在MAP文件中,MAP文件中包含可执行程序中的各个函数和变量的位置。可以首先选择出可执行程序中需要插入无效代码的函数和变量,然后根据所述数据映射文件,在选择出的函数和变量中插入无效代码,其中,无效代码可以包括空指令(执行后不起任何效果的指令)、同义转换(将一些指令改为与其等价的指令组)等等。
S104,根据配置所述随机图标资源以及插入所述无效代码的所述可执行程序,生成得到新的程序安装包。
具体实现中,可以确定配置所述随机图标资源以及插入所述无效代码的所述可执行程序是否符合预置的文件格式;若符合,则将所述附加安装数据拼接到配置所述随机图标资源以及插入所述无效代码的所述可执行程序后得到所述新的程序安装包,若不符合,则可执行程序处理错误。
在本发明实施例中,首先获取程序安装包,然后根据随机分配的图片属性信息生成得到随机图标资源,并使用随机图标资源替换可执行程序中配置的原图标资源;其次根据预先生成的数据映射文件,确定可执行程序中的代码插入位置,并在确定的代码插入位置处插入无效代码;最后根据配置随机图标资源以及插入无效代码的可执行程序,生成得到新的程序安装包,从而通过随机生成的图标资源替换程序安装包的原图标资源,并在执行程序中插入干扰代码是的程序局部特征变化,进而可以降低程序安装包被拦截的机率。
请参考图2,图2是本发明提出的一种程序安装包反拦截方法的第二实施例流程图。如图所示,本发明实施例中的方法包括:
S201,获取程序安装包,所述程序安装包包括可执行程序。
具体实现中,可以使用任意一个未经处理的原始程序安装包,该程序安装包可以包括可执行程序以及附加安装数据,其中,可执行程序可以包括PE(Portable Executable)文件,如EXE、DLL、OCX、SYS、COM格式文件等等,附加安装数据可以包括CHM帮助文件、TXT说明文件等等。
可选的,在获取到程序安装包之后,可以检查所述程序安装包上是否存在数字签名;若所述程序安装包上存在数字签名,则删除所述程序安装包上的数字签名。
具体的,可执行程序具有文件格式,文件格式由一个MS-DOS头部开始,然后是一个实模式的程序残余以及一个PE文件标志,紧接着是PE文件头和可选头部,再接着是所有的段头部,段头部之后是所有的段实体。其中,可选头的数据目录里,字段DataDirectory[IMAGE_DIRECTORY_ENTRY_SECURITY]保存着数字签名的位置和大小,可以查找到该字段的位置,再将该字段清零并保存,从而删除数字签名。
S202,根据随机分配的图片属性信息生成得到随机图标资源,并使用所述随机图标资源替换所述可执行程序中配置的原图标资源。
具体实现中,所述图片属性信息包括多边形位置、形状、颜色以及画布的背景颜色,可以根据随机分配的所述多边形位置、形状、颜色以及所述画布的背景颜色,在所述画布上绘制所述多边形得到所述随机图标资源,并将所述随机图标资源保存为ICO文件;通过操作系统的接口调用函数(如Windows操作系统的API函数),将所述可执行程序中配置的所述原图标资源替换为所述随机图标资源。
S203,根据预先生成的数据映射文件,确定所述可执行程序中的代码插入位置,并在确定的所述代码插入位置处插入无效代码。
具体实现中,所述数据映射文件可以为MAP文件,在编译创建程序安装包时会生成MAP信息并保存在MAP文件中,MAP文件中包含可执行程序中的各个函数和变量的位置。可以首先选择出可执行程序中需要插入无效代码的函数和变量,然后根据所述数据映射文件,在选择出的函数和变量中插入无效代码,其中,无效代码可以包括空指令(执行后不起任何效果的指令)、同义转换(将一些指令改为与其等价的指令组)等等。
S204,根据配置所述随机图标资源以及插入所述无效代码的所述可执行程序,生成得到新的程序安装包。
具体实现中,可以确定配置所述随机图标资源以及插入所述无效代码的所述可执行程序是否符合预置的文件格式;若符合,则将所述附加安装数据拼接到配置所述随机图标资源以及插入所述无效代码的所述可执行程序后得到所述新的程序安装包,若不符合,则可执行程序处理错误。
S205,将所述新的程序安装包发送到签名服务器,以使所述签名服务器对所述新的程序安装包括进行数字签名。其中,数字签名可以保证程序安装包的完整性和真实性,如果经过数字签名的程序安装包被修改,则在文件属性中提示程序安装包已经被更改。
在本发明实施例中,首先获取程序安装包,然后根据随机分配的图片属性信息生成得到随机图标资源,并使用随机图标资源替换可执行程序中配置的原图标资源;其次根据预先生成的数据映射文件,确定可执行程序中的代码插入位置,并在确定的代码插入位置处插入无效代码;最后根据配置随机图标资源以及插入无效代码的可执行程序,生成得到新的程序安装包,从而通过随机生成的图标资源替换程序安装包的原图标资源,并在执行程序中插入干扰代码是的程序局部特征变化,进而可以降低程序安装包被拦截的机率。
请参考图3,图3是本发明实施例提出的一种程序安装包反拦截装置的结构示意图。如图所示,本发明实施例中的装置包括:
程序获取模块301,用于获取程序安装包,所述程序安装包包括可执行程序。
具体实现中,可以使用任意一个未经处理的原始程序安装包,该程序安装包可以包括可执行程序以及附加安装数据,其中,可执行程序可以包括PE(Portable Executable)文件,如EXE、DLL、OCX、SYS、COM格式文件等等,附加安装数据可以包括CHM帮助文件、TXT说明文件等等。
图标替换模块302,用于根据随机分配的图片属性信息生成得到随机图标资源,并使用所述随机图标资源替换所述可执行程序中配置的原图标资源。
具体实现中,所述图片属性信息包括多边形位置、形状、颜色以及画布的背景颜色,可以根据随机分配的所述多边形位置、形状、颜色以及所述画布的背景颜色,在所述画布上绘制所述多边形得到所述随机图标资源,并将所述随机图标资源保存为ICO文件;通过操作系统的接口调用函数(如Windows操作系统的API函数),将所述可执行程序中配置的所述原图标资源替换为所述随机图标资源。
代码插入模块303,用于根据预先生成的数据映射文件,确定所述可执行程序中的代码插入位置,并在确定的所述代码插入位置处插入无效代码。
具体实现中,所述数据映射文件可以为MAP文件,在编译创建程序安装包时生成MAP信息并保存在MAP文件中,MAP文件中包含可执行程序中的各个函数和变量的位置。可以首先选择出可执行程序中需要插入无效代码的函数和变量,然后根据所述数据映射文件,在选择出的函数和变量中插入无效代码,其中,无效代码可以包括空指令(执行后不起任何效果的指令)、同义转换(将一些指令改为与其等价的指令组)等等。
程序生成模块304,用于根据配置所述随机图标资源以及插入所述无效代码的所述可执行程序,生成得到新的程序安装包。
具体实现中,可以确定配置所述随机图标资源以及插入所述无效代码的所述可执行程序是否符合预置的文件格式;若符合,则将所述附加安装数据拼接到配置所述随机图标资源以及插入所述无效代码的所述可执行程序后得到所述新的程序安装包,若不符合,则可执行程序处理错误。
可选的,如图3所示,本发明实施例中的装置还可以包括:
签名删除模块305,用于检查所述程序安装包上是否存在数字签名;若所述程序安装包上存在数字签名,则删除所述程序安装包上的数字签名。
具体的,可执行程序具有文件格式,文件格式由一个MS-DOS头部开始,然后是一个实模式的程序残余以及一个PE文件标志,紧接着是PE文件头和可选头部,再接着是所有的段头部,段头部之后是所有的段实体。其中,可选头的数据目录里,字段DataDirectory[IMAGE_DIRECTORY_ENTRY_SECURITY]保存着数字签名的位置和大小,可以查找到该字段的位置,再将该字段清零并保存,从而删除数字签名。
可选的,如图3所示,本发明实施例中的装置还可以包括:
程序发送模块306,用于将所述新的程序安装包发送到签名服务器,以使所述签名服务器对所述新的程序安装包括进行数字签名。其中,数字签名可以保证程序安装包的完整性和真实性,如果经过数字签名的程序安装包被修改,则在文件属性中提示程序安装包已经被更改。
在本发明实施例中,首先获取程序安装包,然后根据随机分配的图片属性信息生成得到随机图标资源,并使用随机图标资源替换可执行程序中配置的原图标资源;其次根据预先生成的数据映射文件,确定可执行程序中的代码插入位置,并在确定的代码插入位置处插入无效代码;最后根据配置随机图标资源以及插入无效代码的可执行程序,生成得到新的程序安装包,从而通过随机生成的图标资源替换程序安装包的原图标资源,并在执行程序中插入干扰代码是的程序局部特征变化,进而可以降低程序安装包被拦截的机率。
请继续参考图4,图4是本发明实施例提出的另一种程序安装包反拦截装置的结构示意图。如图4所示,该装置包括处理器401和接口电路402,图中还给出了存储器403和总线404,该处理器401、接口电路402和存储器403通过总线404连接并完成相互间的通信。
其中,处理器401用于执行如下操作步骤:
获取程序安装包,所述程序安装包包括可执行程序;
根据随机分配的图片属性信息生成得到随机图标资源,并使用所述随机图标资源替换所述可执行程序中配置的原图标资源;
根据预先生成的数据映射文件,确定所述可执行程序中的代码插入位置,并在确定的所述代码插入位置处插入无效代码;
根据配置所述随机图标资源以及插入所述无效代码的所述可执行程序,生成得到新的程序安装包。
其中,处理器401还用于执行如下操作步骤:
检查所述程序安装包上是否存在数字签名;
若所述程序安装包上存在数字签名,则删除所述程序安装包上的数字签名。
其中,所述图片属性信息包括多边形位置、形状、颜色以及画布的背景颜色;
其中,处理器401还用于执行如下操作步骤:
根据随机分配的所述多边形位置、形状、颜色以及所述画布的背景颜色,在所述画布上绘制所述多边形得到所述随机图标资源;
通过操作系统的接口调用函数,将所述可执行程序中配置的所述原图标资源替换为所述随机图标资源。
其中,处理器401还用于执行如下操作步骤:
确定配置所述随机图标资源以及插入所述无效代码的所述可执行程序是否符合预置的文件格式;
若符合,则将所述附加安装数据拼接到配置所述随机图标资源以及插入所述无效代码的所述可执行程序后得到所述新的程序安装包。
其中,处理器401还用于执行如下操作步骤:
将所述新的程序安装包发送到签名服务器,以使所述签名服务器对所述新的程序安装包括进行数字签名。
需要说明的是,这里的处理器401可以是一个处理元件,也可以是多个处理元件的统称。例如,该处理元件可以是中央处理器(Central Processing Unit,CPU),也可以是特定集成电路(Application Specific Integrated Circuit,ASIC),
该装置还可以包括输入输出装置,连接于总线404,以通过总线与处理器401等其它部分连接。该输入输出装置可以为操作人员提供一输入界面,以便操作人员通过该输入界面选择布控项,还可以是其它接口,可通过该接口外接其它设备。
或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(FieldProgrammable Gate Array,FPGA)。
存储器403可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码或应用程序运行装置运行所需要参数、数据等。且存储器1503可以包括随机存储器(RAM),也可以包括非易失性存储器(non-volatile memory),例如磁盘存储器,闪存(Flash)等。
总线404可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。该总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例所提供的内容下载方法及相关设备、系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种程序安装包反拦截方法,其特征在于,所述方法包括:
获取程序安装包,所述程序安装包包括可执行程序;
根据随机分配的图片属性信息,在所述图片属性信息指定的画布背景颜色所对应的画布上绘制得到随机图标资源,并通过操作系统的接口调用函数,将所述可执行程序中配置的原图标资源替换为所述随机图标资源;
根据选择出的可执行程序中需要插入无效代码的函数和变量,并根据预先生成的数据映射文件,确定所述可执行程序中的代码插入位置,并在确定的所述代码插入位置处插入无效代码,所述数据映射文件中包括所述可执行程序中的各个函数和变量的位置,所述无效代码包括空指令和/或同义转换指令;
确定配置所述随机图标资源以及插入所述无效代码的所述可执行程序是否符合预置的文件格式;若符合,则将所述程序安装包中包括的附加安装数据拼接到配置所述随机图标资源以及插入所述无效代码的所述可执行程序,得到新的程序安装包。
2.如权利要求1所述的方法,其特征在于,所述根据随机分配的图片属性信息生成得到随机图标资源之前,还包括:
检查所述程序安装包上是否存在数字签名;
若所述程序安装包上存在数字签名,则删除所述程序安装包上的数字签名。
3.如权利要求1所述的方法,其特征在于,所述图片属性信息包括多边形位置、形状、颜色以及画布的背景颜色;
所述根据随机分配的图片属性信息生成得到随机图标资源,并通过操作系统的接口调用函数,将所述可执行程序中配置的原图标资源替换为所述随机图标资源包括:
根据随机分配的所述多边形位置、形状、颜色以及所述画布的背景颜色,在所述画布上绘制所述多边形得到所述随机图标资源;
通过操作系统的接口调用函数,将所述可执行程序中配置的所述原图标资源替换为所述随机图标资源。
4.如权利要求1-3任意一项所述的方法,其特征在于,所述配置所述随机图标资源以及插入所述无效代码的所述可执行程序,生成得到新的程序安装包之后,还包括:
将所述新的程序安装包发送到签名服务器,以使所述签名服务器对所述新的程序安装包括进行数字签名。
5.一种程序安装包反拦截装置,其特征在于,所述装置包括:
程序获取模块,用于获取程序安装包,所述程序安装包包括可执行程序;
图标替换模块,用于根据随机分配的图片属性信息,在所述图片属性信息指定的画布背景颜色所对应的画布上绘制得到随机图标资源,并通过操作系统的接口调用函数,将所述可执行程序中配置的原图标资源替换为所述随机图标资源;
代码插入模块,用于根据选择出的可执行程序中需要插入无效代码的函数和变量,并根据预先生成的数据映射文件,确定所述可执行程序中的代码插入位置,并在确定的所述代码插入位置处插入无效代码,所述数据映射文件中包括所述可执行程序中的各个函数和变量的位置,所述无效代码包括空指令和/或同义转换指令;
程序生成模块,用于确定配置所述随机图标资源以及插入所述无效代码的所述可执行程序是否符合预置的文件格式;若符合,则将所述程序安装包中包括的附加安装数据拼接到配置所述随机图标资源以及插入所述无效代码的所述可执行程序,得到新的程序安装包。
6.如权利要求5所述的装置,其特征在于,所述装置还包括签名删除模块,所述签名删除模块具体用于:
检查所述程序安装包上是否存在数字签名;
若所述程序安装包上存在数字签名,则删除所述程序安装包上的数字签名。
7.如权利要求5所述的装置,其特征在于,所述图片属性信息包括多边形位置、形状、颜色以及画布的背景颜色;
所述图标替换模块,用于:
根据随机分配的所述多边形位置、形状、颜色以及所述画布的背景颜色,在所述画布上绘制所述多边形得到所述随机图标资源;
通过操作系统的接口调用函数,将所述可执行程序中配置的所述原图标资源替换为所述随机图标资源。
8.如权利要求5-7任意一项所述的装置,其特征在于,所述装置还包括:
程序发送模块,用于将所述新的程序安装包发送到签名服务器,以使所述签名服务器对所述新的程序安装包括进行数字签名。
9.一种程序安装包反拦截装置,其特征在于,所述装置包括接口电路、存储器以及处理器,其中,存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:
获取程序安装包,所述程序安装包包括可执行程序;
根据随机分配的图片属性信息,在所述图片属性信息指定的画布背景颜色所对应的画布上绘制得到随机图标资源,并使用所述随机图标资源替换所述可执行程序中配置的原图标资源通过操作系统的接口调用函数,将所述可执行程序中配置的原图标资源替换为所述随机图标资源;
根据选择出的可执行程序中需要插入无效代码的函数和变量,并根据预先生成的数据映射文件,确定所述可执行程序中的代码插入位置,并在确定的所述代码插入位置处插入无效代码,所述数据映射文件中包括所述可执行程序中的各个函数和变量的位置,所述无效代码包括空指令和/或同义转换指令;
确定配置所述随机图标资源以及插入所述无效代码的所述可执行程序是否符合预置的文件格式;若符合,则将所述程序安装包中包括的附加安装数据拼接到配置所述随机图标资源以及插入所述无效代码的所述可执行程序,得到新的程序安装包。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序,所述计算机程序被执行时,如权利要求1-4任一项所述的程序安装包反拦截方法被实现。
CN201610263539.5A 2016-04-26 2016-04-26 一种程序安装包反拦截方法及装置 Active CN107315951B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610263539.5A CN107315951B (zh) 2016-04-26 2016-04-26 一种程序安装包反拦截方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610263539.5A CN107315951B (zh) 2016-04-26 2016-04-26 一种程序安装包反拦截方法及装置

Publications (2)

Publication Number Publication Date
CN107315951A CN107315951A (zh) 2017-11-03
CN107315951B true CN107315951B (zh) 2021-04-30

Family

ID=60184921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610263539.5A Active CN107315951B (zh) 2016-04-26 2016-04-26 一种程序安装包反拦截方法及装置

Country Status (1)

Country Link
CN (1) CN107315951B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254347A (zh) * 2021-06-21 2021-08-13 南京统信软件技术有限公司 一种日志函数添加方法、计算设备及储存介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104091121A (zh) * 2014-06-12 2014-10-08 上海交通大学 对Android重打包恶意软件的恶意代码的检测、切除和恢复的方法
CN104123166A (zh) * 2014-08-06 2014-10-29 浪潮软件股份有限公司 一种非Xcode环境下ipa安装包生成方法
CN104484585A (zh) * 2014-11-26 2015-04-01 北京奇虎科技有限公司 一种应用程序安装包的处理方法、装置及移动设备
CN104657634A (zh) * 2015-02-28 2015-05-27 百度在线网络技术(北京)有限公司 盗版应用的识别方法和装置
CN105204823A (zh) * 2014-05-29 2015-12-30 腾讯科技(深圳)有限公司 生成应用程序安装包的方法及装置
CN105389508A (zh) * 2015-11-10 2016-03-09 工业和信息化部电信研究院 一种安卓重打包应用的检测方法及装置
CN105468391A (zh) * 2014-09-09 2016-04-06 北京金山安全软件有限公司 App图标的替换方法、装置和移动终端
CN105512521A (zh) * 2015-12-25 2016-04-20 北京奇虎科技有限公司 一种软件安装包的加固保护方法和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105204823A (zh) * 2014-05-29 2015-12-30 腾讯科技(深圳)有限公司 生成应用程序安装包的方法及装置
CN104091121A (zh) * 2014-06-12 2014-10-08 上海交通大学 对Android重打包恶意软件的恶意代码的检测、切除和恢复的方法
CN104123166A (zh) * 2014-08-06 2014-10-29 浪潮软件股份有限公司 一种非Xcode环境下ipa安装包生成方法
CN105468391A (zh) * 2014-09-09 2016-04-06 北京金山安全软件有限公司 App图标的替换方法、装置和移动终端
CN104484585A (zh) * 2014-11-26 2015-04-01 北京奇虎科技有限公司 一种应用程序安装包的处理方法、装置及移动设备
CN104657634A (zh) * 2015-02-28 2015-05-27 百度在线网络技术(北京)有限公司 盗版应用的识别方法和装置
CN105389508A (zh) * 2015-11-10 2016-03-09 工业和信息化部电信研究院 一种安卓重打包应用的检测方法及装置
CN105512521A (zh) * 2015-12-25 2016-04-20 北京奇虎科技有限公司 一种软件安装包的加固保护方法和系统

Also Published As

Publication number Publication date
CN107315951A (zh) 2017-11-03

Similar Documents

Publication Publication Date Title
CN105867947B (zh) 预置应用程序升级后的数据处理方法及装置
US11221838B2 (en) Hot update method, operating system, terminal device, system, and computer-readable storage medium for a system process
CN105786538B (zh) 基于安卓系统的软件升级方法和装置
CN109933350B (zh) 在应用中嵌入代码的方法、装置及电子设备
CN111444453A (zh) 页面回传数据处理方法及其装置
US10503430B2 (en) Method and device for clearing data and electronic device
WO2020006911A1 (zh) 混合型应用的接口调用方法、装置及计算机可读存储介质
CN107315951B (zh) 一种程序安装包反拦截方法及装置
CN107301053B (zh) 图片配置方法、装置和电子终端
CN107528713B (zh) 一种数据转移sdk的升级方法及装置
CN104346460A (zh) 进行文件下载的方法、装置及浏览器客户端
CN111596931A (zh) 应用程序封装方法、装置、电子设备及可读存储介质
CN108959915B (zh) 一种rootkit检测方法、装置及服务器
CN110045966A (zh) 安装器的处理方法、装置及设备
CN114237407A (zh) 一种字体图标处理方法、装置及计算机可读存储介质
CN113282363A (zh) 一种优化混合app的方法及装置
CN113377376A (zh) 数据包生成方法、数据包生成装置、电子设备及存储介质
CN105068832A (zh) 一种生成可执行文件的方法和装置
CN113515299A (zh) 软件开发工具包sdk热升级方法、装置、设备及存储介质
CN112714148A (zh) 一种界面配置方法、装置、设备及介质
CN104484198A (zh) 一种安装应用程序的方法和装置
CN113641989B (zh) 应用管理方法、装置及系统、电子设备
CN113722715B (zh) 一种导入文件检查方法、检查系统及计算设备
CN114185602B (zh) 操作系统的启动方法、装置和终端
CN110099096B (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