CN105740659A - 一种数据隐藏方法、应用程序防篡改方法及相关装置 - Google Patents
一种数据隐藏方法、应用程序防篡改方法及相关装置 Download PDFInfo
- Publication number
- CN105740659A CN105740659A CN201410767690.3A CN201410767690A CN105740659A CN 105740659 A CN105740659 A CN 105740659A CN 201410767690 A CN201410767690 A CN 201410767690A CN 105740659 A CN105740659 A CN 105740659A
- Authority
- CN
- China
- Prior art keywords
- data
- application program
- color value
- file
- matrix
- 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.)
- Granted
Links
Landscapes
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据隐藏方法和装置,用以解决现有技术中存在的应用程序的安全性较差的问题。该方法将为保护应用程序而需要隐藏的敏感数据转换成图片数据,并将该图片数据隐藏在应用程序的文件中,由于敏感数据不是以明文形式存在,而是转换成隐蔽性能更好的图片格式,从而不容易被破解,提高了应用程序的安全性。另外,本发明还公开了一种应用程序防篡改方法和装置。
Description
技术领域
本发明涉及软件安全技术领域,尤其涉及一种数据隐藏方法、应用程序防篡改方法及相关装置。
背景技术
现有的安卓软件保护技术中,软件加壳(即加入预启动程序)较为常见。加入了预启动程序的安卓软件中,应用程序被加密保护。破解者的目标就是获取解密后的应用程序。因此,在安卓软件保护技术中,敏感数据(比如用于解密应用程序的解密密钥)的隐藏,就成为了迷惑破解者的重要手段。
理论上不论加密手段如何巧妙,加密算法如何复杂,具备专业技术的高水平破解者总能获得解密后的应用程序。在使用了复杂加密算法或繁琐隐藏方法的情况下,获取解密后的应用程序的开销大于破解者的回报,此时破解者往往会放弃破解行为。但这种情况下,起保护作用的预启动程序在解密时所花费的时间也将大幅增加,降低了应用程序的启动速度,为用户带来不便。
因此,在安卓软件保护技术中,一般选用巧妙但执行起来简单快速的数据隐藏方案。目前的方案是将解密密钥打散,插入到应用软件中某个或某几个文件中。预启动程序在解密时依次读取这些数据,拼凑出完整的解密密钥,再利用该解密密钥对加密的应用程序进行解密。
这种方案的缺点在于,尽管解密密钥被打散隐藏,但其内容是以明文形式插入到应用程序的文件中。而且,应用程序的文件中可以插入冗余数据的位置相对固定,熟悉安卓文件结构的破解者已经了解这样的隐藏方式,可以较为快速的获得完整的解密密钥,再利用该解密密钥获得解密后的应用程序,进而对其进行篡改。
发明内容
本发明实施例提供一种数据隐藏方法、应用程序防篡改方法及相关装置,用以解决现有技术中存在的应用程序的安全性较差的问题。
本发明实施例采用以下技术方案:
本发明实施例提供了一种数据隐藏方法,包括:
将为保护应用程序而需要隐藏的敏感数据转换成图片数据;
将所述图片数据隐藏在所述应用程序的文件中。
其中,将为保护应用程序而需要隐藏的敏感数据转换成图片数据,具体包括:
将所述敏感数据转换为数据矩阵;
将所述数据矩阵中的矩阵元素转换为颜色值;
根据矩阵元素转换后的颜色值,生成像素图;其中,矩阵元素转换后的每个颜色值为所述像素图的一个像素点的颜色值;
将所述像素图确定为所述敏感数据转换后的图片数据。
其中,将所述数据矩阵中的矩阵元素转换为颜色值,具体包括:
按照所述数据矩阵中的每个矩阵元素对应至少一个颜色值的转换规则,将所述数据矩阵中的矩阵元素转换为颜色值;或者
按照所述数据矩阵中的每至少两个矩阵元素对应一个颜色值的转换规则,将所述数据矩阵中的矩阵元素转换为颜色值。
其中,将所述图片数据隐藏在应用程序的文件中,具体包括:
将所述图片数据伪装成所述应用程序的安装包文件的图片资源,并隐藏在所述应用程序的安装包文件的资源文件中。
本发明实施例提供了一种应用程序防篡改的方法,包括:
在运行应用程序之前,从所述应用程序的文件中,获取图片数据;其中,所述图片数据是由为保护应用程序而需要隐藏的敏感数据转换,并隐藏在所述应用程序的文件中的;
将所述图片数据转换为所述敏感数据;
当根据所述敏感数据,判断出所述应用程序被篡改时,输出预警信息。
其中,所述敏感数据包括:
所述应用程序的可执行程序文件的哈希值和用于对所述可执行程序文件进行解密的解密密钥;则
当根据所述敏感数据,判断出所述应用程序被篡改时,输出预警信息,具体包括:
根据所述敏感数据中的解密密钥,对所述应用程序中的可执行程序文件进行解密,得到解密后的可执行程序文件;
计算所述解密后的可执行程序文件的哈希值;
当所述解密后的可执行程序文件的哈希值和所述敏感数据中的哈希值不相同时,确定所述应用程序被篡改;
输出预警信息。
其中,将所述图片数据转换为所述敏感数据,具体包括:
获取所述图片数据中每个像素点的颜色值;
将每个像素点的颜色值转换为矩阵元素,生成数据矩阵;
从所述数据矩阵中读取所述敏感数据。
本发明实施例提供了一种数据隐藏装置,包括:
转换单元,用于将为保护应用程序而需要隐藏的敏感数据转换成图片数据;
隐藏单元,用于将所述转换单元得到的图片数据隐藏在所述应用程序的文件中。
其中,所述转换单元,具体包括:
数据矩阵转换模块,用于将所述敏感数据转换为数据矩阵;
颜色值转换模块,用于将所述数据矩阵转换模块得到的数据矩阵中的矩阵元素转换为颜色值;
像素图生成模块,用于根据所述颜色值转换模块得到的颜色值,生成像素图;其中,矩阵元素转换后的每个颜色值为所述像素图的一个像素点的颜色值;
图片数据确定模块,用于将所述像素图生成模块生成的像素图确定为所述敏感数据转换后的图片数据。
其中,所述颜色值转换模块,具体用于:
按照所述数据矩阵中的每个矩阵元素对应至少一个颜色值的转换规则,将所述数据矩阵中的矩阵元素转换为颜色值;或者
按照所述数据矩阵中的每至少两个矩阵元素对应一个颜色值的转换规则,将所述数据矩阵中的矩阵元素转换为颜色值。
其中,所述隐藏单元,具体用于:
将所述图片数据伪装成所述应用程序的安装包文件的图片资源,并隐藏在所述应用程序的安装包文件的资源文件中。
本发明实施例提供了一种应用程序防篡改的装置,包括:
图片数据获取单元,用于在运行应用程序之前,从所述应用程序的文件中,获取图片数据;其中,所述图片数据是由为保护应用程序而需要隐藏的敏感数据转换,并隐藏在所述应用程序的文件中的;
敏感数据转换单元,用于将所述图片数据获取单元获取的图片数据转换为所述敏感数据;
预警单元,用于当根据所述敏感数据转换单元得到的敏感数据,判断出所述应用程序被篡改时,输出预警信息。
其中,所述敏感数据包括:
所述应用程序的可执行程序文件的哈希值和用于对所述可执行程序文件进行解密的解密密钥;则
所述预警单元,具体包括:
解密模块,用于根据所述敏感数据中的解密密钥,对所述应用程序中的可执行程序文件进行解密,得到解密后的可执行程序文件;
哈希值计算模块,用于计算所述解密模块解密后的可执行程序文件的哈希值;
判断模块,用于当所述哈希值计算模块计算的哈希值和所述敏感数据中的哈希值不相同时,确定所述应用程序被篡改;
输出模块,用于输出预警信息。
其中,所述敏感数据转换单元,具体包括:
颜色值获取模块,用于获取所述图片数据中每个像素点的颜色值;
数据矩阵生成模块,用于将所述颜色值获取模块获取的每个像素点的颜色值转换为矩阵元素,生成数据矩阵;
敏感数据读取模块,用于从所述数据矩阵生成模块生成的数据矩阵中读取所述敏感数据。
本发明实施例的有益效果如下:
本发明实施例中,通过将为保护应用程序而需要隐藏的敏感数据转换成图片数据,并将图片数据隐藏在应用程序的文件中,由于该敏感数据不是以明文形式存在,而是转换成隐蔽性能更好的图片格式,从而不容易被破解,提高了应用程序的安全性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中,一种数据隐藏方法的实现流程图;
图2为本发明实施例中,一种应用程序防篡改方法的实现流程图;
图3为本发明实施例中,在具体应用场景下的数据隐藏方法的实现流程图;
图4为本发明实施例中,在具体应用场景下的应用程序防篡改方法的实现流程图;
图5为本发明实施例提供的一种数据隐藏装置的结构示意图;
图6为本发明实施例提供的一种应用程序防篡改装置的结构示意图。
具体实施方式
为了解决现有技术中存在的应用程序的安全性较差的问题,本发明实施例提供了一种数据隐藏方案。该技术方案中,通过将为保护应用程序而需要隐藏的敏感数据转换成图片数据,并将该图片数据隐藏在应用程序的文件中,由于该敏感数据不是以明文形式存在,而是转换成隐蔽性能更好的图片格式,从而不容易被破解,提高了应用程序的安全性。另外,本发明实施例还提供了一种应用程序防篡改的方案。
以下结合说明书附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限制本发明。并且在不冲突的情况下,本发明中的实施例及实施例的特征可以互相结合。
本发明实施例提供了一种数据隐藏方法,如图1所示,为该方法的实现流程图,具体包括下述步骤:
步骤11,将为保护应用程序而需要隐藏的敏感数据转换成图片数据。
本发明实施例中的敏感数据可以包含用于解密应用程序的可执行程序文件的解密密钥;还可以包含应用程序的可执行程序文件的哈希值,该哈希值可以用于后续对应用程序是否被篡改进行校验;另外,还可以包含其它需要隐藏的数据,比如应用程序的开发者的个人水印等。
步骤11将敏感数据转换成图片数据可以但不限于按照如下方法实现:
首先,将敏感数据转换为数据矩阵;
其次,将数据矩阵中的矩阵元素转换为颜色值;
具体的,可以按照数据矩阵中的每个矩阵元素对应至少一个颜色值的转换规则,将数据矩阵中的矩阵元素转换为颜色值;或者按照数据矩阵中的每至少两个矩阵元素对应一个颜色值的转换规则,将数据矩阵中的矩阵元素转换为颜色值。
其中,颜色值可以是预先设置的颜色模式(比如红绿蓝RGB颜色模式)下的颜色通道的值。
再次,根据矩阵元素转换后的颜色值,生成像素图;其中,矩阵元素转换后的每个颜色值为该像素图的一个像素点的颜色值。
最后,将生成的像素图确定为上述敏感数据转换后的图片数据。
需要说明的是,上述转换过程均为可逆的,即数据矩阵也可以逆向读取出原始的敏感数据,颜色值也可以逆向读取出原始的矩阵元素。
步骤12,将图片数据隐藏在应用程序的文件中。
其中,可以将图片数据伪装成应用程序的安装包(apk)文件的图片资源,并隐藏在应用程序的apk文件的资源文件中。
具体的,如果图片数据是根据不同的数据分别生成的,比如敏感数据中用于解密应用程序的可执行程序文件的解密密钥、应用程序的可执行程序文件的哈希值以及其它需要隐藏的数据分别生成图片数据,则可以将生成的多个图片数据分散隐藏在apk文件的不同资源文件中;又或者可以将某个图片数据再分成多个图片进行隐藏。
本发明实施例中对其具体实现方式不做限定。
本发明实施例中,通过将为保护应用程序而需要隐藏的敏感数据转换成图片数据,并将该图片数据隐藏在应用程序的文件中,由于该敏感数据不是以明文形式存在,而是转换成隐蔽性能更好的图片格式,从而不容易被破解,提高了应用程序的安全性。
基于上述构思,本发明实施例中还提供了一种应用程序防篡改方法,如图2所示,为该方法的实现示意图,具体包括如下步骤:
步骤21,在运行应用程序之前,从应用程序的文件中,获取图片数据;其中,该图片数据是由为保护应用程序而需要隐藏的敏感数据转换,并隐藏在应用程序的文件中的。
步骤22,将获取的图片数据转换为敏感数据。
其中,步骤22可以但不限于按照如下方式实现:
首先获取图片数据中每个像素点的颜色值,再将每个像素点的颜色值转换为矩阵元素,生成数据矩阵,最后从数据矩阵中读取上述敏感数据。
需要说明的是,该步骤22的转换过程为上述步骤12的逆过程。
步骤23,当根据敏感数据,判断出应用程序被篡改时,输出预警信息。
在敏感数据包含用于解密应用程序的可执行程序文件的解密密钥和应用程序的可执行程序文件的哈希值的情况下,步骤23可以但不限于包括:
根据敏感数据中的解密密钥,对应用程序中的可执行程序文件进行解密,得到解密后的可执行程序文件,并计算得到解密后的可执行程序文件的哈希值;
当解密后的可执行程序文件的哈希值和敏感数据中的哈希值不相同时,确定应用程序被篡改;
输出预警信息。
至此,实现了应用程序防篡改的功能。
为了更好的理解本发明实施例,以下结合具体的实施对本发明实施例的具体实施过程进行说明。
如图3和图4所示,分别为本发明实施例在具体应用场景下的数据隐藏方法及应用程序防篡改方法的实现流程图。本发明实施例以安卓Android系统下的应用程序为例。
数据隐藏过程:
步骤31,计算应用程序的可执行程序classes.dex文件的哈希值,或classes.dex文件中的关键代码的哈希值。其中,哈希值为需隐藏的数据。
步骤32,对classes.dex文件进行加密。其中,解密密钥为需隐藏的数据。
步骤33,获取其它需隐藏的数据,如开发者的个人水印等。
步骤34,将需隐藏的数据转换为数据矩阵,该转换过程是可逆的,可以从数据矩阵中逆向读出原始数据。
步骤35,将数据矩阵中的矩阵元素的值转换为RGB颜色模式中颜色通道的值。该过程也是可逆的,可以将颜色通道的值转换回矩阵元素的值。
其中,可以将数据矩阵中的某个矩阵元素的值,转换为RGB颜色模式中某个或某几个颜色通道的值,构成一个颜色值;也可以同时将某几个矩阵元素的值转换成一个颜色值。
步骤36,根据矩阵元素转换后的颜色值,生成像素图。
将矩阵元素转换成的每个颜色值,设置成一个像素点的颜色值,生成一个像素点,而所有像素点组成一张像素图。该像素图中隐藏了数据矩阵。
步骤37,将像素图伪装成apk文件的图片资源,并隐藏到apk文件的资源文件中。
具体的,可以将生成的像素图保存到res目录下,并从名称上伪装成apk文件的图片资源。其中,不同数据生成的像素图可分散保存到res文件中不同的目录下,也可以将隐藏了同一段数据的像素图分为多个图片进行保存。
应用程序防篡改过程:
在应用程序中加入一个预启动程序,当用户运行应用程序之前,该预启动程序预先完成下述过程:
步骤41,通过Android的图像处理接口或第三方提供的工具等,使用与转换时相同的颜色模式,获取隐藏了数据矩阵的像素图中每个像素点的颜色值。
步骤42,将每个像素点的颜色值转换为矩阵元素的值,读出数据矩阵。
步骤43,从数据矩阵中读出原始的敏感数据,包括classes.dex文件的解密密钥、classes.dex文件的哈希值及其他需要隐藏的数据等。
其中,每部分数据可以在其被调用时分别读取。
步骤44,通过读出的解密密钥,对classes.dex文件进行解密,得到解密后的classes.dex文件。
步骤45,计算解密后的classes.dex文件或关键代码的哈希值;
步骤46,将计算的哈希值与从数据矩阵中读出的哈希值进行对比,当对比一致时,执行步骤47,当对比不一致时,说明软件可能被攻击者篡改,执行步骤48;
步骤47,启动应用程序。流程结束。
步骤48,预启动程序向用户或后台服务器发出预警信息,或停止运行被篡改过的应用程序。流程结束。
本发明实施例中,将为保护应用程序而需要隐藏的敏感数据转换成图片数据,并将该图片数据隐藏在应用程序的文件中,由于敏感数据不是以明文形式存在,而是转换成隐蔽性能更好的图片格式,从而不容易被破解,提高了应用程序的安全性。
另外,本发明实施例中还能够根据以图片形式隐藏的敏感数据对应用程序是否被篡改进行校验,当发现应用程序被篡改时,进行预警,进一步的提高了应用程序的安全性。
基于同一发明构思,本发明实施例中还分别提供了一种数据隐藏装置及应用程序防篡改装置,由于上述装置与数据隐藏方法和应用程序防篡改方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,为本发明实施例提供的一种数据隐藏装置的结构示意图,包括:
转换单元51,用于将为保护应用程序而需要隐藏的敏感数据转换成图片数据;
隐藏单元52,用于将所述转换单元51得到的图片数据隐藏在所述应用程序的文件中。
其中,所述转换单元51,具体包括:
数据矩阵转换模块511,用于将所述敏感数据转换为数据矩阵;
颜色值转换模块512,用于将所述数据矩阵转换模块511得到的数据矩阵中的矩阵元素转换为颜色值;
像素图生成模块513,用于根据所述颜色值转换模块512得到的颜色值,生成像素图;其中,矩阵元素转换后的每个颜色值为所述像素图的一个像素点的颜色值;
图片数据确定模块514,用于将所述像素图生成模块513生成的像素图确定为所述敏感数据转换后的图片数据。
其中,所述颜色值转换模块512,具体用于:
按照所述数据矩阵中的每个矩阵元素对应至少一个颜色值的转换规则,将所述数据矩阵中的矩阵元素转换为颜色值;或者
按照所述数据矩阵中的每至少两个矩阵元素对应一个颜色值的转换规则,将所述数据矩阵中的矩阵元素转换为颜色值。
其中,所述隐藏单元52,具体用于:
将所述图片数据伪装成所述应用程序的安装包文件的图片资源,并隐藏在所述应用程序的安装包文件的资源文件中。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
如图6所示,为本发明实施例提供的一种应用程序防篡改装置的结构示意图,包括:
图片数据获取单元61,用于在运行应用程序之前,从所述应用程序的文件中,获取图片数据;其中,所述图片数据是由为保护应用程序而需要隐藏的敏感数据转换,并隐藏在所述应用程序的文件中的;
敏感数据转换单元62,用于将所述图片数据获取单元61获取的图片数据转换为所述敏感数据;
预警单元63,用于当根据所述敏感数据转换单元62得到的敏感数据,判断出所述应用程序被篡改时,输出预警信息。
其中,所述敏感数据包括:
所述应用程序的可执行程序文件的哈希值和用于对所述可执行程序文件进行解密的解密密钥;则
所述预警单元63,具体包括:
解密模块631,用于根据所述敏感数据中的解密密钥,对所述应用程序中的可执行程序文件进行解密,得到解密后的可执行程序文件;
哈希值计算模块632,用于计算所述解密模块631解密后的可执行程序文件的哈希值;
判断模块633,用于当所述哈希值计算模块632计算的哈希值和所述敏感数据中的哈希值不相同时,确定所述应用程序被篡改;
输出模块634,用于输出预警信息。
其中,所述敏感数据转换单元62,具体包括:
颜色值获取模块621,用于获取所述图片数据中每个像素点的颜色值;
数据矩阵生成模块622,用于将所述颜色值获取模块621获取的每个像素点的颜色值转换为矩阵元素,生成数据矩阵;
敏感数据读取模块623,用于从所述数据矩阵生成模块622生成的数据矩阵中读取所述敏感数据。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种数据隐藏方法,其特征在于,包括:
将为保护应用程序而需要隐藏的敏感数据转换成图片数据;
将所述图片数据隐藏在所述应用程序的文件中。
2.如权利要求1所述的方法,其特征在于,将为保护应用程序而需要隐藏的敏感数据转换成图片数据,具体包括:
将所述敏感数据转换为数据矩阵;
将所述数据矩阵中的矩阵元素转换为颜色值;
根据矩阵元素转换后的颜色值,生成像素图;其中,矩阵元素转换后的每个颜色值为所述像素图的一个像素点的颜色值;
将所述像素图确定为所述敏感数据转换后的图片数据。
3.如权利要求2所述的方法,其特征在于,将所述数据矩阵中的矩阵元素转换为颜色值,具体包括:
按照所述数据矩阵中的每个矩阵元素对应至少一个颜色值的转换规则,将所述数据矩阵中的矩阵元素转换为颜色值;或者
按照所述数据矩阵中的每至少两个矩阵元素对应一个颜色值的转换规则,将所述数据矩阵中的矩阵元素转换为颜色值。
4.如权利要求1所述的方法,其特征在于,将所述图片数据隐藏在应用程序的文件中,具体包括:
将所述图片数据伪装成所述应用程序的安装包文件的图片资源,并隐藏在所述应用程序的安装包文件的资源文件中。
5.一种应用程序防篡改的方法,其特征在于,包括:
在运行应用程序之前,从所述应用程序的文件中,获取图片数据;其中,所述图片数据是由为保护应用程序而需要隐藏的敏感数据转换,并隐藏在所述应用程序的文件中的;
将所述图片数据转换为所述敏感数据;
当根据所述敏感数据,判断出所述应用程序被篡改时,输出预警信息。
6.如权利要求5所述的方法,其特征在于,所述敏感数据包括:
所述应用程序的可执行程序文件的哈希值和用于对所述可执行程序文件进行解密的解密密钥;则
当根据所述敏感数据,判断出所述应用程序被篡改时,输出预警信息,具体包括:
根据所述敏感数据中的解密密钥,对所述应用程序中的可执行程序文件进行解密,得到解密后的可执行程序文件;
计算所述解密后的可执行程序文件的哈希值;
当所述解密后的可执行程序文件的哈希值和所述敏感数据中的哈希值不相同时,确定所述应用程序被篡改;
输出预警信息。
7.如权利要求5所述的方法,其特征在于,将所述图片数据转换为所述敏感数据,具体包括:
获取所述图片数据中每个像素点的颜色值;
将每个像素点的颜色值转换为矩阵元素,生成数据矩阵;
从所述数据矩阵中读取所述敏感数据。
8.一种数据隐藏装置,其特征在于,包括:
转换单元,用于将为保护应用程序而需要隐藏的敏感数据转换成图片数据;
隐藏单元,用于将所述转换单元得到的图片数据隐藏在所述应用程序的文件中。
9.如权利要求8所述的装置,其特征在于,所述转换单元,具体包括:
数据矩阵转换模块,用于将所述敏感数据转换为数据矩阵;
颜色值转换模块,用于将所述数据矩阵转换模块得到的数据矩阵中的矩阵元素转换为颜色值;
像素图生成模块,用于根据所述颜色值转换模块得到的颜色值,生成像素图;其中,矩阵元素转换后的每个颜色值为所述像素图的一个像素点的颜色值;
图片数据确定模块,用于将所述像素图生成模块生成的像素图确定为所述敏感数据转换后的图片数据。
10.如权利要求9所述的装置,其特征在于,所述颜色值转换模块,具体用于:
按照所述数据矩阵中的每个矩阵元素对应至少一个颜色值的转换规则,将所述数据矩阵中的矩阵元素转换为颜色值;或者
按照所述数据矩阵中的每至少两个矩阵元素对应一个颜色值的转换规则,将所述数据矩阵中的矩阵元素转换为颜色值。
11.如权利要求8所述的装置,其特征在于,所述隐藏单元,具体用于:
将所述图片数据伪装成所述应用程序的安装包文件的图片资源,并隐藏在所述应用程序的安装包文件的资源文件中。
12.一种应用程序防篡改的装置,其特征在于,包括:
图片数据获取单元,用于在运行应用程序之前,从所述应用程序的文件中,获取图片数据;其中,所述图片数据是由为保护应用程序而需要隐藏的敏感数据转换,并隐藏在所述应用程序的文件中的;
敏感数据转换单元,用于将所述图片数据获取单元获取的图片数据转换为所述敏感数据;
预警单元,用于当根据所述敏感数据转换单元得到的敏感数据,判断出所述应用程序被篡改时,输出预警信息。
13.如权利要求12所述的装置,其特征在于,所述敏感数据包括:
所述应用程序的可执行程序文件的哈希值和用于对所述可执行程序文件进行解密的解密密钥;则
所述预警单元,具体包括:
解密模块,用于根据所述敏感数据中的解密密钥,对所述应用程序中的可执行程序文件进行解密,得到解密后的可执行程序文件;
哈希值计算模块,用于计算所述解密模块解密后的可执行程序文件的哈希值;
判断模块,用于当所述哈希值计算模块计算的哈希值和所述敏感数据中的哈希值不相同时,确定所述应用程序被篡改;
输出模块,用于输出预警信息。
14.如权利要求12所述的装置,其特征在于,所述敏感数据转换单元,具体包括:
颜色值获取模块,用于获取所述图片数据中每个像素点的颜色值;
数据矩阵生成模块,用于将所述颜色值获取模块获取的每个像素点的颜色值转换为矩阵元素,生成数据矩阵;
敏感数据读取模块,用于从所述数据矩阵生成模块生成的数据矩阵中读取所述敏感数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410767690.3A CN105740659B (zh) | 2014-12-11 | 2014-12-11 | 一种数据隐藏方法、应用程序防篡改方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410767690.3A CN105740659B (zh) | 2014-12-11 | 2014-12-11 | 一种数据隐藏方法、应用程序防篡改方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105740659A true CN105740659A (zh) | 2016-07-06 |
CN105740659B CN105740659B (zh) | 2019-06-25 |
Family
ID=56241502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410767690.3A Active CN105740659B (zh) | 2014-12-11 | 2014-12-11 | 一种数据隐藏方法、应用程序防篡改方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105740659B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271596A (zh) * | 2018-08-15 | 2019-01-25 | 深圳点猫科技有限公司 | 一种基于教育云平台的缓存数据的方法及电子设备 |
CN111868724A (zh) * | 2017-12-12 | 2020-10-30 | 约翰·阿尔梅达 | 病毒免疫计算机系统和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847249A (zh) * | 2009-03-27 | 2010-09-29 | 上海德通能源环保科技有限公司 | 一种图像数字水印的实现方法 |
CN103559251A (zh) * | 2013-11-03 | 2014-02-05 | 广西师范大学 | 基于信息隐藏的数据安全保护方法 |
CN103778590A (zh) * | 2012-10-24 | 2014-05-07 | 航天信息股份有限公司 | 利用数字图像存储和传输信息的方法和装置 |
-
2014
- 2014-12-11 CN CN201410767690.3A patent/CN105740659B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847249A (zh) * | 2009-03-27 | 2010-09-29 | 上海德通能源环保科技有限公司 | 一种图像数字水印的实现方法 |
CN103778590A (zh) * | 2012-10-24 | 2014-05-07 | 航天信息股份有限公司 | 利用数字图像存储和传输信息的方法和装置 |
CN103559251A (zh) * | 2013-11-03 | 2014-02-05 | 广西师范大学 | 基于信息隐藏的数据安全保护方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111868724A (zh) * | 2017-12-12 | 2020-10-30 | 约翰·阿尔梅达 | 病毒免疫计算机系统和方法 |
CN109271596A (zh) * | 2018-08-15 | 2019-01-25 | 深圳点猫科技有限公司 | 一种基于教育云平台的缓存数据的方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105740659B (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109829269A (zh) | 基于电子印章验证电子文档的方法、装置及系统 | |
CN105408912B (zh) | 处理认证和资源许可 | |
CA3023939C (en) | Method and apparatus for dynamic executable verification | |
CN104318135B (zh) | 一种基于可信执行环境的Java代码安全动态载入方法 | |
CN106055936A (zh) | 可执行程序数据包加密/解密方法及装置 | |
CN104657670A (zh) | 一种基于数据加密的配置文件安全使用方法 | |
CN104866739A (zh) | 安卓系统中应用程序加密方法及系统 | |
CN105740661B (zh) | 一种保护应用程序的方法和装置 | |
CN104123488A (zh) | 应用程序的验证方法和装置 | |
US9268713B2 (en) | Methods, systems and apparatus for managing data entries on a database | |
CN107317806A (zh) | 一种电子证照应用副本的安全生成方法及装置 | |
Kim et al. | Anti-reversible dynamic tamper detection scheme using distributed image steganography for IoT applications | |
US8918653B2 (en) | Protection of interpreted source code in virtual appliances | |
US8677503B2 (en) | Mechanism for embedding device identification information into graphical user interface objects | |
CN106203141A (zh) | 一种应用的数据处理方法和装置 | |
Mainka et al. | Shadow Attacks: Hiding and Replacing Content in Signed PDFs. | |
CN105740659A (zh) | 一种数据隐藏方法、应用程序防篡改方法及相关装置 | |
KR102417814B1 (ko) | 회원 식별 정보에 기반하여 전자 문서에 삽입된 일부 콘텐츠에 대한 보안 설정을 지원하는 전자 문서 관리 서버 및 그 동작 방법 | |
KR101497067B1 (ko) | 디지털 포렌식 기반의 전자기록물 이관 방법 및 이관 장치 | |
CN107133539B (zh) | 智能卡个人化方法及相关装置与系统 | |
KR101630462B1 (ko) | 키보드 보안 장치 및 방법 | |
JP2012059258A (ja) | 電子キー保護システム及びその方法 | |
CN105426702A (zh) | 基于安卓操作系统的应用程序加密解密方法和装置 | |
TWI465956B (zh) | 追蹤電子文件外洩源頭之方法及其裝置 | |
CN107026841B (zh) | 在网络中发布作品的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |