一种保护应用程序的方法和装置与流程

文档序号:13678441阅读:来源:国知局
技术特征:
1.一种保护应用程序的方法,其特征在于,包括:在运行应用程序之前,获取隐藏在所述应用程序中的敏感数据;其中,所述敏感数据是为保护所述应用程序而需要隐藏的数据,且所述应用程序中的当前可执行程序文件无法正常运行;根据所述敏感数据,判断所述应用程序是否被篡改;当判断出所述应用程序被篡改时,输出预警提示;当判断出所述应用程序未被篡改时,根据所述敏感数据对所述当前可执行程序文件进行修复,得到可以正常运行的原可执行程序文件。2.如权利要求1所述的方法,其特征在于,所述当前可执行程序文件按照如下方式获得:解析应用程序中可以正常运行的原可执行程序文件,对所述原可执行程序文件中的预设字符进行修改,得到修改后的当前可执行程序文件。3.如权利要求2所述的方法,其特征在于,对所述原可执行程序文件中的预设字符进行修改,具体包括:当所述预设字符包含所述原可执行程序文件中指定字符串的索引值时,将所述原可执行程序文件中指定字符串的索引值修改为无效索引值或指向其它内容的索引值;当所述预设字符包含指定结构在所述原可执行程序文件中的偏移地址时,将所述指定结构在所述原可执行程序文件中的偏移地址修改为无效地址或其它内容的地址;当所述预设字符包含指定结构在所述原可执行程序文件中的指令编号时,将所述指定结构在所述原可执行程序文件中的指令编号修改为无效指令编号或其它指令编号。4.如权利要求1所述的方法,其特征在于,所述敏感数据按照如下方式隐藏:将所述敏感数据转换成图片数据;将所述图片数据隐藏在所述应用程序的文件中。5.如权利要求4所述的方法,其特征在于,将所述图片数据隐藏在所述应用程序的文件中,具体包括:将所述图片数据隐藏在所述应用程序的图片资源文件中的伪png格式的图片中;其中,所述伪png格式的图片是预先存储在所述应用程序的图片资源文件中的。6.如权利要求4所述的方法,其特征在于,在运行应用程序之前,获取隐藏在所述应用程序中的敏感数据,具体包括:在运行应用程序之前,获取隐藏在所述应用程序的文件中的图片数据;从所述图片数据中获取敏感数据。7.如权利要求6所述的方法,其特征在于,所述敏感数据包括:所述当前可执行程序文件的哈希值和用于对所述当前可执行程序文件进行解密的解密密钥;则根据所述敏感数据,判断所述应用程序是否被篡改,具体包括:根据所述敏感数据中的解密密钥,对所述当前可执行程序文件进行解密,得到解密后的当前可执行程序文件;计算所述解密后的当前可执行程序文件的哈希值;当所述解密后的当前可执行程序文件的哈希值和所述敏感数据中的哈希值不相同时,确定所述应用程序被篡改;当所述解密后的当前可执行程序文件的哈希值和所述敏感数据中的哈希值相同时,确定所述应用程序未被篡改。8.如权利要求2所述的方法,其特征在于,所述敏感数据包括:所述预设字符修改后的字符对应的偏移位置和所述预设字符修改之前的原始值;则根据所述敏感数据对所述当前可执行程序文件进行修复,得到可以正常运\t行的原可执行程序文件,具体包括:根据所述敏感数据中的所述预设字符修改后的字符对应的偏移位置和所述预设字符修改之前的原始值,对所述当前可执行程序文件进行修复,得到可以正常运行的原可执行程序文件。9.一种保护应用程序的装置,其特征在于,包括:敏感数据获取单元,用于在运行应用程序之前,获取隐藏在所述应用程序中的敏感数据;其中,所述敏感数据是为保护所述应用程序而需要隐藏的数据,且所述应用程序中的当前可执行程序文件无法正常运行;判断单元,用于根据所述敏感数据获取单元获取的敏感数据,判断所述应用程序是否被篡改;预警单元,用于当所述判断单元判断出所述应用程序被篡改时,输出预警提示;修复单元,用于当所述判断单元判断出所述应用程序未被篡改时,根据所述敏感数据对所述当前可执行程序文件进行修复,得到可以正常运行的原可执行程序文件。10.如权利要求9所述的装置,其特征在于,所述装置还包括:当前可执行程序获得单元,用于解析应用程序中可以正常运行的原可执行程序文件,对所述原可执行程序文件中的预设字符进行修改,得到修改后的当前可执行程序文件。11.如权利要求10所述的装置,其特征在于,所述当前可执行程序获得单元,具体用于:当所述预设字符包含所述原可执行程序文件中指定字符串的索引值时,将所述原可执行程序文件中指定字符串的索引值修改为无效索引值或指向其它内容的索引值;当所述预设字符包含指定结构在所述原可执行程序文件中的偏移地址时,将所述指定结构在所述原可执行程序文件中的偏移地址修改为无效地址或其\t它内容的地址;当所述预设字符包含指定结构在所述原可执行程序文件中的指令编号时,将所述指定结构在所述原可执行程序文件中的指令编号修改为无效指令编号或其它指令编号。12.如权利要求9所述的装置,其特征在于,所述装置还包括:敏感数据隐藏单元,用于将所述敏感数据转换成图片数据;将所述图片数据隐藏在所述应用程序的文件中。13.如权利要求12所述的装置,其特征在于,所述敏感数据隐藏单元,具体用于:将所述图片数据隐藏在所述应用程序的图片资源文件中的伪png格式的图片中;其中,所述伪png格式的图片是预先存储在所述应用程序的图片资源文件中的。14.如权利要求12所述的装置,其特征在于,所述敏感数据获取单元,具体用于:在运行应用程序之前,获取隐藏在所述应用程序的文件中的图片数据;从所述图片数据中获取敏感数据。15.如权利要求14所述的装置,其特征在于,所述敏感数据包括:所述当前可执行程序文件的哈希值和用于对所述当前可执行程序文件进行解密的解密密钥;则所述判断单元,具体包括:解密模块,用于根据所述敏感数据中的解密密钥,对所述当前可执行程序文件进行解密,得到解密后的当前可执行程序文件;哈希值计算模块,用于计算所述解密模块解密后的当前可执行程序文件的哈希值;判断结果处理模块,用于当所述哈希值计算模块计算的解密后的当前可执行程序文件的哈希值和所述敏感数据中的哈希值不相同时,确定所述应用程序\t被篡改;当所述哈希值计算模块计算的解密后的当前可执行程序文件的哈希值和所述敏感数据中的哈希值相同时,确定所述应用程序未被篡改。16.如权利要求11所述的装置,其特征在于,所述敏感数据包括:所述预设字符修改后的字符对应的偏移位置和所述预设字符修改之前的原始值;则所述修复单元,具体用于:根据所述敏感数据中的所述预设字符修改后的字符对应的偏移位置和所述预设字符修改之前的原始值,对所述当前可执行程序文件进行修复,得到可以正常运行的原可执行程序文件。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1