CN109344574A - 一种基于说明书的自适应安卓加固方法 - Google Patents
一种基于说明书的自适应安卓加固方法 Download PDFInfo
- Publication number
- CN109344574A CN109344574A CN201811093850.5A CN201811093850A CN109344574A CN 109344574 A CN109344574 A CN 109344574A CN 201811093850 A CN201811093850 A CN 201811093850A CN 109344574 A CN109344574 A CN 109344574A
- Authority
- CN
- China
- Prior art keywords
- dex
- file
- android
- keyword
- word
- 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
- 230000002787 reinforcement Effects 0.000 title claims abstract description 23
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000005516 engineering process Methods 0.000 claims abstract description 17
- 230000003014 reinforcing effect Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000005259 measurement Methods 0.000 claims description 4
- 238000011160 research Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 4
- 238000013461 design Methods 0.000 abstract description 2
- 230000009545 invasion Effects 0.000 abstract description 2
- 239000012141 concentrate Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于说明书的自适应安卓加固方法,利用TF‑IDF技术提取说明书中的三个权重最大关键词并按权重降序排列,安全等级分为1‑3级,每一级分配不同的加密技术,将安卓APP的原始DEX按照不同的加密技术加密生成新的加密DEX,利用Android应用程序通用自动脱壳方法获取脱壳DEX,将加密DEX文件和文件大小添加到脱壳DEX文件末尾,生成加固DEX,替换原始DEX,删除原始APP签名信息,生成新的APK文件,同时进行签名。本发明,根据不同加密方案进行软件加固,使得软件的安全加固有所侧重点,同时提高代码运行效率;加固技术降低逆向工程的入侵几率和源文件的可读性,最后使得安卓软件使用过程中的安全性得到保证。
Description
技术领域
本发明涉及移动互联网中安卓软件的安全技术,更具体地,本发明涉及一种基于说明书的自适应安卓加固方法。
背景技术
电子技术和互联网的发展,使得安卓APP成为了生活中不可缺少的一部分。安卓软件的说明书文档中又包含着大量的有用信息。随着安卓软件的大量使用,各种恶意软件对用户的隐私进行窃取,造成了极大的安全隐患。如何在用户使用安卓软件的过程中,结合软件说明书,提高软件使用的安全性,保护用户各种信息,但又不影响软件运行效率成为急需解决的问题。
发明内容
为了解决上述问题,本发明的一种实施方式采用以下技术方案:
一种基于说明书的自适应安卓加固方法,包括以下步骤:
(a)利用TF-IDF技术对说明书中的关键词进行提取,并选取权重排名(降序排列)前三位的关键词,将三个关键词根据权重进行降序排列分级,排名第一的关键词为1级,排名第二的关键词为2级,排名第三的关键词为3级;
(b)根据步骤(a)的分级,为每一级的关键词分配不同技术的加密;
(c)解压安卓APK文件,获得DEX文件组,称为“原始DEX”;
(d)根据步骤(b)的加密技术,加密“原始DEX”文件,生成新的“加密DEX”;
(e)利用Android应用程序通用自动脱壳方法获取“脱壳DEX”;
(f)将“加密DEX”文件和文件大小添加到“脱壳DEX”文件末尾,生成“加固DEX”;此步骤为加固过程;
(g)用“加固DEX”替换“原始DEX”;
(h)删除原始APP的签名信息;
(i)生成新的APK文件,同时进行签名。
所述的基于说明书的自适应安卓加固方法,其权重是利用TF-IDF技术在说明书文件集中遍历每一个词语得到每个词语的逆向文件频率与词频,并将选定词语的逆向文件频率与词频相乘所得的值。
所述的基于说明书的自适应安卓加固方法,其词频的计算方法是选定词语出现的次数除以在说明书文件集中选定的测定文件的总词语数。
所述的基于说明书的自适应安卓加固方法,其逆向文件频率的计算方法是说明书文件集包含的文件总数除以说明书文件集中出现了选定词语的文件数。
所述的基于说明书的自适应安卓加固方法,其步骤(b)所述不同的加密技术采用以下加密方案:1级关键词采用“字符混淆、含关键词的无用代码、字节取异或”的加密方案,2级关键词采用“字符混淆、字节取异或”的加密方案,3级关键词采用“字符混淆”的加密方案。
所述的基于说明书的自适应安卓加固方法,其Android应用程序通用自动脱壳方法是杨文博在文件《Android应用程序通用自动脱壳方法研究》中分享的通用脱壳工具获取“脱壳DEX”的方法。
所述的基于说明书的自适应安卓加固方法,其关键词主要是指与用户隐私相关的词语。
利用TF-IDF技术对说明书中的关键词进行提取主要包括以下步骤:
1.在说明书的文档中进行词语检索,用一个“词次字典”保存每个字出现的次数。
2.在所有文件遍历每一个词语,得到每个词语在文档中的逆向文件频率,然后保存每个词语的词频。
3.用一个“词信字典”保存所有的词信息,然后根据权重(逆向文件频率*词频)选取排名前三的词语作为所需的关键词。
与现有技术相比,本发明至少具有以下有益效果:本发明实施例提供了一种基于说明书的自适应安卓加固方法,其能够针对安卓说明书中不同的词的重要性自适应的采用不同加固方法。即首先利用安卓说明书的大量文本信息,采用TF-IDF(term frequency–inverse document frequency)提取算法,提取说明书文本的关键词,将关键词根据权重进行安全分级。然后根据关键字的安全分级确定安卓APP的安全加密方案,根据不同加密方案进行软件加固,使得软件的安全加固有所侧重点,同时提高代码运行效率;加固技术降低逆向工程的入侵几率和源文件的可读性,最后使得安卓软件使用过程中的安全性得到保证。
附图说明
图1为基于说明书的自适应安卓加固方法的流程图。
图2为“加固DEX”的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1是实现本发明所述方法的大体流程。
(a)首先利用TF-IDF(term frequency–inverse document frequency)技术遍历说明书文件集得到每个词语的逆向文件频率与词频,该说明书中与用户隐私相关的关键词有:付款、拨号、读取、拍照;利用逆向文件频率与词频计算各个词语的权重。说明书是一个文件集,里面可能包括需求说明书、使用说明书等,测定文件是指在说明书文件集中选定的某一个说明书文件比如使用说明书。如果说明书文件集只有一个说明书文本比如只有使用说明书,则测定文件和说明书文件集均指同一个文件。词频的计算方法是选定词语出现的次数除以在说明书文件集中选定的测定文件的总词语数,逆向文件频率的计算方法是说明书文件集包含的文件总数除以说明书文件集中出现了选定词语的文件数。
(b)根据步骤(a)提取的关键字根据权重(逆向文件频率*词频)选取排名前三的词语作为所需的关键词。将三个关键词根据权重进行降序排列分级依次为:付款、拨号、拍照,付款为1级,拨号为2级,拍照为3级。为不同关键词分配不同的加密技术,如表1。
(c)解压安卓APK文件,获得DEX文件组,称为“原始DEX”。
(d)根据步骤(b)和表1对应的加密关系,加密DEX文件,生成新的“加密DEX”。此处,“付款”对应的是,出现”付款”处用“ldsgh”字节混淆,并对该字节取异或处理,同时在代码末端添加无用的代码。其中,无用代码内部有原始准确的关键字符,即“付款”。“拨号”对应该字节取异或处理,同时进行代码关键词的混淆,此处用“poyo”混淆。“拍照”对应关键词的混淆,用字母“%%abc%”。
表1分级加密关系
(e)利用杨文博在《Android应用程序通用自动脱壳方法研究》中分享的通用脱壳工具”获取“脱壳DEX”。
(f)将“加密DEX”和文件大小添加到“脱壳DEX”文件末尾,生成“加固DEX”。即在文件末尾追加文件长度值。
其中,此处是在“脱壳DEX”的末尾将之前的“加密DEX”直接粘贴上去,同时在新的程序末尾加入“加密DEX”的大小,最后命名为“newdex”,“加固DEX”的结构如图2所示。完成上述步骤以后,修改DEX的文件头信息:
file_size(newdex);sha1(newdex);check_sum(newdex)。最终生成“加固DEX”。
(g)用“加固DEX”替换“原始DEX”。
(a)删除原始APP的签名信息。
(b)生成新的APK文件,同时进行签名。
完成以上步骤以后,即完成了安卓APP的自适应加固过程。
尽管这里参照本发明的解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。
Claims (7)
1.一种基于说明书的自适应安卓加固方法,其特征在于包括以下步骤:
(a)利用TF-IDF技术对说明书中的关键词进行提取,并选取权重排名前三位的关键词,将三个关键词根据权重进行降序排列分级,排名第一的关键词为1级,排名第二的关键词为2级,排名第三的关键词为3级;
(b)根据步骤(a)的分级,为每一级的关键词分配不同技术的加密;
(c)解压安卓APK文件,获得DEX文件组,称为“原始DEX”;
(d)根据步骤(b)的加密技术,加密“原始DEX”文件,生成新的“加密DEX”;
(e)利用Android应用程序通用自动脱壳方法获取“脱壳DEX”;
(f)将“加密DEX”文件和文件大小添加到“脱壳DEX”文件末尾,生成“加固DEX”;
(g)用“加固DEX”替换“原始DEX”;
(h)删除原始APP的签名信息;
(i)生成新的APK文件,同时进行签名。
2.根据权利要求1所述的基于说明书的自适应安卓加固方法,其特征在于所述权重是利用TF-IDF技术在说明书文件集中遍历每一个词语得到每个词语的逆向文件频率与词频,并将选定词语的逆向文件频率与词频相乘所得的值。
3.根据权利要求2所述的基于说明书的自适应安卓加固方法,其特征在于所述词频的计算方法是选定词语出现的次数除以在说明书文件集中选定的测定文件的总词语数。
4.根据权利要求2所述的基于说明书的自适应安卓加固方法,其特征在于所述逆向文件频率的计算方法是说明书文件集包含的文件总数除以说明书文件集中出现了选定词语的文件数。
5.根据权利要求1所述的基于说明书的自适应安卓加固方法,其特征在于步骤(b)所述不同的加密技术采用以下加密方案:1级关键词采用“字符混淆、含关键词的无用代码、字节取异或”的加密方案,2级关键词采用“字符混淆、字节取异或”的加密方案,3级关键词采用“字符混淆”的加密方案。
6.根据权利要求1所述的基于说明书的自适应安卓加固方法,其特征在于所述Android应用程序通用自动脱壳方法是杨文博在文件《Android应用程序通用自动脱壳方法研究》中分享的通用脱壳工具获取“脱壳DEX”的方法。
7.根据权利要求1所述的基于说明书的自适应安卓加固方法,其特征在于所述关键词主要是指与用户隐私相关的词语。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811093850.5A CN109344574B (zh) | 2018-09-19 | 2018-09-19 | 一种基于说明书的自适应安卓加固方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811093850.5A CN109344574B (zh) | 2018-09-19 | 2018-09-19 | 一种基于说明书的自适应安卓加固方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109344574A true CN109344574A (zh) | 2019-02-15 |
CN109344574B CN109344574B (zh) | 2020-09-22 |
Family
ID=65305617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811093850.5A Active CN109344574B (zh) | 2018-09-19 | 2018-09-19 | 一种基于说明书的自适应安卓加固方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109344574B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544414A (zh) * | 2013-10-25 | 2014-01-29 | 苏州通付盾信息技术有限公司 | 一种Android系统应用的深度代码混淆方法 |
KR101529713B1 (ko) * | 2014-01-07 | 2015-06-17 | 주식회사 텔레칩스 | 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법 및 이를 위한 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 |
CN105426708A (zh) * | 2016-01-19 | 2016-03-23 | 北京鼎源科技有限公司 | 一种Android系统的应用程序的加固方法 |
CN105930745A (zh) * | 2016-04-25 | 2016-09-07 | 北京珊瑚灵御科技有限公司 | 一种基于Android平台的字符串加固方法 |
CN106203122A (zh) * | 2016-07-25 | 2016-12-07 | 西安交通大学 | 基于敏感子图的安卓恶意重打包软件检测方法 |
CN106326694A (zh) * | 2016-08-30 | 2017-01-11 | 北京鼎源科技有限公司 | 一种基于C源代码的混淆的Android应用加固方法 |
CN107122629A (zh) * | 2017-04-19 | 2017-09-01 | 山东省计算中心(国家超级计算济南中心) | 一种基于随机混淆的Android软件协同加固方法 |
-
2018
- 2018-09-19 CN CN201811093850.5A patent/CN109344574B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544414A (zh) * | 2013-10-25 | 2014-01-29 | 苏州通付盾信息技术有限公司 | 一种Android系统应用的深度代码混淆方法 |
KR101529713B1 (ko) * | 2014-01-07 | 2015-06-17 | 주식회사 텔레칩스 | 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법 및 이를 위한 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 |
CN105426708A (zh) * | 2016-01-19 | 2016-03-23 | 北京鼎源科技有限公司 | 一种Android系统的应用程序的加固方法 |
CN105930745A (zh) * | 2016-04-25 | 2016-09-07 | 北京珊瑚灵御科技有限公司 | 一种基于Android平台的字符串加固方法 |
CN106203122A (zh) * | 2016-07-25 | 2016-12-07 | 西安交通大学 | 基于敏感子图的安卓恶意重打包软件检测方法 |
CN106326694A (zh) * | 2016-08-30 | 2017-01-11 | 北京鼎源科技有限公司 | 一种基于C源代码的混淆的Android应用加固方法 |
CN107122629A (zh) * | 2017-04-19 | 2017-09-01 | 山东省计算中心(国家超级计算济南中心) | 一种基于随机混淆的Android软件协同加固方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109344574B (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10778441B2 (en) | Redactable document signatures | |
EP3420508A1 (en) | Consolidated blockchain-based data transfer control method and system | |
US11265148B1 (en) | Blockchain anonymous tokenization system | |
EP0857334B1 (en) | Corporate disclosure and repository system | |
CN109493043A (zh) | 交易记录区块化方法、装置、电子设备及存储介质 | |
CN107679119A (zh) | 生成品牌衍生词的方法和装置 | |
JPWO2004084483A1 (ja) | 情報管理システム | |
WO1998009237A9 (en) | Corporate disclosure and repository system | |
JP2007272539A (ja) | セキュリティ装置およびアプリケーションサーバシステム | |
CN113935059B (zh) | 适用于财务数据的动态加密方法、装置及存储介质 | |
CN104281272A (zh) | 密码输入处理方法及装置 | |
CN103607420A (zh) | 面向云存储的安全电子医疗系统 | |
US7818810B2 (en) | Control of document content having extraction permissives | |
CN114826553A (zh) | 一种群签名和同态加密的云存储数据安全保护方法及装置 | |
CN115795538A (zh) | 脱敏文档的反脱敏方法、装置、计算机设备和存储介质 | |
US20040243627A1 (en) | Chat stream information capturing and indexing system | |
CN111639179A (zh) | 一种银行前端查询系统批量客户信息隐私控制方法和装置 | |
US7818256B1 (en) | Digital receipt for electronic data and methods and systems for generating same | |
US9442898B2 (en) | Electronic document that inhibits automatic text extraction | |
CN109344574A (zh) | 一种基于说明书的自适应安卓加固方法 | |
CN114840634B (zh) | 信息存储方法、装置、电子设备和计算机可读介质 | |
CN108985759B (zh) | 一种加密货币的地址生成方法及系统、设备和存储介质 | |
CN107305552A (zh) | 辅助阅读方法和装置 | |
CN113779198A (zh) | 基于人工智能的电子名片生成方法、装置、设备及介质 | |
CN111859853A (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 |