CN103793209A - 一种修改Android程序执行流程的方法及系统 - Google Patents
一种修改Android程序执行流程的方法及系统 Download PDFInfo
- Publication number
- CN103793209A CN103793209A CN201210418124.2A CN201210418124A CN103793209A CN 103793209 A CN103793209 A CN 103793209A CN 201210418124 A CN201210418124 A CN 201210418124A CN 103793209 A CN103793209 A CN 103793209A
- Authority
- CN
- China
- Prior art keywords
- android program
- android
- program
- assembling
- dis
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明属于病毒防御技术领域,具体公开了一种修改Android程序执行流程的方法及系统。该方法包括以下步骤:解包并反汇编所述Android程序;修改反汇编后的Android程序以满足其运行的各个条件;汇编并打包修改后的Android程序;运行重新汇编后的Android程序,并获取该Android程序的运行行为数据。本发明通过修改反汇编后的Android程序以满足其运行的各个条件以改变其执行流程,进而可以在其运行过程中获取其所有运行行为数据,使得任何恶意行为无法隐藏,提高病毒程序识别率。
Description
技术领域
本发明属于病毒防御技术领域,具体涉及一种修改Android程序执行流程的方法及系统。
背景技术
Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由AndyRubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。
反汇编:把目标代码转为汇编代码的过程,也可说是把机器语言转为汇编语言代码,低级转高级的意思,常用于软件破解(例如找到它是如何注册的,从而解出它的注册码或者编写注册机。),外挂技术,病毒分析,逆向工程,软件汉化。通常,编写程序是利用高级语言如C,pascal等高级语言进行编程的,然后再经过编译程序生成可以被计算机系统直接执行的文件(机器语言)。反汇编即是指将这些执行文件反编译还原成汇编语言或其他高级语言。但通常反编译出来的程序与原程序会存在些许不同,虽然执行效果相同,但程序代码 会发生很大的变化,要读懂反汇编需要有扎实的高级语言编写功底,和汇编功底。目前网络上的免费软件,PSP PS NDS游戏机的破解和苹果iOS系统的越狱都跟反汇编息息相关。
随着Android系统的不断普及,各种Android病毒程序也日渐兴起。目前面对这些程序的分析方法通常就是将其反编译成明文或者让其在设备模拟器或者真实设备中运行,然后通过人工分析反编译的明文或者获取在设备模拟器或者真实设备中运行的数据,进而判断其是否具有一些恶意行为,比如:删除系统文件等等。
然而通过反编译成明文后人工分析,效率低下不太可取。同样,在设备模拟器或者真实设备中运行以分析其运行行为是否存在恶意行为,这种方法看似比较合理,但是很多病毒程序在设备正常运行过程中可能不会有恶意行为,只有其设定的某种特定条件满足的情况下才执行这些恶意行为。因此,现有的两种方法要么效率低下,要么可能无法分析出其是否具有恶意行为,也即是无法准确判断出该程序是否为病毒程序。
发明内容
为了解决上述问题,本发明的目的在于提供一种修改Android程序执行流程的方法及系统,在提高程序分析效率的同时,获取该Android程序的所有运行行为。
为了实现上述发明目的,基于上述研究发现,得到了以下技术方案:
一种修改Android程序执行流程的方法,包括以下步骤:
解包并反汇编所述Android程序;
修改反汇编后的Android程序以满足其运行的各个条件;
汇编并打包修改后的Android程序;
运行重新汇编后的Android程序,并获取该Android程序的运行行为数据。
进一步的,所述修改反汇编后的Android程序,具体是:修改Android程序的函数代码、传入参数、传出参数或返回值。
进一步的,所述运行重新汇编后的Android程序,具体是:将重新汇编后的Android程序置于设备模拟器或真实设备中运行。
一种修改Android程序执行流程的系统,包括以下模块:
解包和反汇编模块,解包并反汇编所述Android程序;
程序修改模块,修改反汇编后的Android程序以满足其运行的各个条件;
汇编和打包模块,汇编并打包修改后的Android程序;
模拟运行模块,运行重新汇编后的Android程序,并获取该Android程序的运行行为数据。
进一步的,所述修改反汇编后的Android程序,具体是:修改Android程序的函数代码、传入参数、传出参数或返回值。
进一步的,所述运行重新汇编后的Android程序,具体是:将重新汇编后的Android程序置于设备模拟器或真实设备中运行。
本发明通过修改反汇编后的Android程序以满足其运行的各个条件以改变其执行流程,进而可以在其运行过程中获取其所有运行行为数据,使得任何恶意行为无法隐藏,提高病毒程序识别率。
附图说明
此附图说明所提供的图片用来辅助对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的不当限定,在附图中:
图1是本发明方法对应的流程图;
图2是本发明系统对应的框图。
具体实施方式
如图1所示,本实施例公开了一种修改Android程序执行流程的方法,包括以下步骤:
Step1:解包并反汇编所述Android程序;所谓的解包就是压包的反过程,即将压包文件还原成原来的文件;所谓的反汇编就是把目标代码转为汇编代码的过程,也可说是把机器语言转为汇编语言代码,低级转高级的意思;本步骤采用现有的解包和反汇编各种方法,即可完成。
Step2:修改反汇编后的Android程序以满足其运行的各个条件,具体可以是修改Android程序的函数代码、传入参数、传出参数或返回值;比如:该Android程序只有在用户发邮件是才启动转发邮件的动作,那么就需要修改其中的参数或者给其中的输入某个条件数值以使其运行过程中触发该转发邮件动作。
Step3:汇编并打包修改后的Android程序,本步骤就是将其转换成目标代码以供机器执行。
Step4:运行重新汇编后的Android程序,并获取该Android程序的运行行为数据。具体可以是:将重新汇编后的Android程序置于设备模拟器或真实设备中运行,以获取该Android程序的运行行为数据,进而直观分析出该Android程序是否为病毒程序。
本实施例还公开了一种修改Android程序执行流程的系统,包括以下模块:
解包和反汇编模块1,解包并反汇编所述Android程序;
程序修改模块2,修改反汇编后的Android程序以满足其运行的各个条件;所述修改反汇编后的Android程序,具体可以是:修改Android程序的函数代码、传入参数、传出参数或返回值;
汇编和打包模块3,汇编并打包修改后的Android程序;
模拟运行模块4,运行重新汇编后的Android程序,并获取该Android程序的运行行为数据;所述运行重新汇编后的Android程序,具体可是:将重新汇编后的Android程序置于设备模拟器或真实设备中运行。
本发明通过修改反汇编后的Android程序以满足其运行的各个条件,进而使得任何恶意行为无法隐藏,提高病毒程序识别率。
以上详细描述了本发明的较佳具体实施例,应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明构思在现有技术基础上通过逻辑分析、推理或者根据有限的实验可以得到的技术方案,均应该在由本权利要求书所确定的保护范围之中。
Claims (6)
1.一种修改Android程序执行流程的方法,其特征在于包括以下步骤:
解包并反汇编所述Android程序;
修改反汇编后的Android程序以满足其运行的各个条件;
汇编并打包修改后的Android程序;
运行重新汇编后的Android程序,并获取该Android程序的运行行为数据。
2.根据权利要求1所述的修改Android程序执行流程的方法,其特征在于:
所述修改反汇编后的Android程序,具体是:修改Android程序的函数代码、传入参数、传出参数或返回值。
3.根据权利要求1所述的修改Android程序执行流程的方法,其特征在于:
所述运行重新汇编后的Android程序,具体是:将重新汇编后的Android程序置于设备模拟器或真实设备中运行。
4.一种修改Android程序执行流程的系统,其特征在于包括以下模块:
解包和反汇编模块,解包并反汇编所述Android程序;
程序修改模块,修改反汇编后的Android程序以满足其运行的各个条件;
汇编和打包模块,汇编并打包修改后的Android程序;
模拟运行模块,运行重新汇编后的Android程序,并获取该Android程序的运行行为数据。
5.根据权利要求4所述的修改Android程序执行流程的系统,其特征在于:
所述修改反汇编后的Android程序,具体是:修改Android程序的函数代码、传入参数、传出参数或返回值。
6.根据权利要求4所述的修改Android程序执行流程的系统,其特征在于:
所述运行重新汇编后的Android程序,具体是:将重新汇编后的Android程序置于设备模拟器或真实设备中运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210418124.2A CN103793209A (zh) | 2012-10-26 | 2012-10-26 | 一种修改Android程序执行流程的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210418124.2A CN103793209A (zh) | 2012-10-26 | 2012-10-26 | 一种修改Android程序执行流程的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103793209A true CN103793209A (zh) | 2014-05-14 |
Family
ID=50668929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210418124.2A Pending CN103793209A (zh) | 2012-10-26 | 2012-10-26 | 一种修改Android程序执行流程的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103793209A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760379A (zh) * | 2020-05-20 | 2021-12-07 | 武汉斗鱼鱼乐网络科技有限公司 | 一种在已发布程序中增加参数的方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070106958A1 (en) * | 2005-11-08 | 2007-05-10 | Ricoh Company, Ltd. | Document management apparatus, document management program product, and computer-readable recording medium recorded with document management program |
US20100223498A1 (en) * | 2009-03-02 | 2010-09-02 | Microsoft Corporation | Operating system-based application recovery |
CN102034047A (zh) * | 2010-12-21 | 2011-04-27 | 姚志浩 | 一种计算机病毒自动防护方法 |
CN102053906A (zh) * | 2009-10-30 | 2011-05-11 | 国际商业机器公司 | 用于收集程序运行时信息的系统和方法 |
CN102082802A (zh) * | 2011-03-01 | 2011-06-01 | 陈彪 | 一种基于行为的移动终端的安全防护系统和方法 |
US20120210443A1 (en) * | 2011-02-11 | 2012-08-16 | Mocana Corporation | Securing and managing apps on a device |
-
2012
- 2012-10-26 CN CN201210418124.2A patent/CN103793209A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070106958A1 (en) * | 2005-11-08 | 2007-05-10 | Ricoh Company, Ltd. | Document management apparatus, document management program product, and computer-readable recording medium recorded with document management program |
US20100223498A1 (en) * | 2009-03-02 | 2010-09-02 | Microsoft Corporation | Operating system-based application recovery |
CN102053906A (zh) * | 2009-10-30 | 2011-05-11 | 国际商业机器公司 | 用于收集程序运行时信息的系统和方法 |
CN102034047A (zh) * | 2010-12-21 | 2011-04-27 | 姚志浩 | 一种计算机病毒自动防护方法 |
US20120210443A1 (en) * | 2011-02-11 | 2012-08-16 | Mocana Corporation | Securing and managing apps on a device |
CN102082802A (zh) * | 2011-03-01 | 2011-06-01 | 陈彪 | 一种基于行为的移动终端的安全防护系统和方法 |
Non-Patent Citations (1)
Title |
---|
DAVID BRUMLEY: "《Botnet Detection:Countering the Largest Security Threat(Advances in Information Securit)》", 31 December 2008 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760379A (zh) * | 2020-05-20 | 2021-12-07 | 武汉斗鱼鱼乐网络科技有限公司 | 一种在已发布程序中增加参数的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104834859B (zh) | 一种Android应用中恶意行为的动态检测方法 | |
TWI687867B (zh) | 用於可信執行環境的可信應用產生及安裝方法 | |
CN102663285B (zh) | 一种apk病毒特征码的提取方法及装置 | |
CN105204913A (zh) | 一种在Android操作系统上运行Linux应用程序的方法及系统 | |
CN107729725A (zh) | 一种基于虚拟机指令修改的Android应用加固系统及方法 | |
CN105975816A (zh) | 移动终端下基于虚拟技术的代码保护方法及系统 | |
CN101976187B (zh) | 反编译过程中的堆栈跟踪方法、装置及反编译器 | |
CN104298534B (zh) | 基于Lua语言的编程方法和装置 | |
WO2014048215A1 (zh) | 一种应用的开发、编译和调试方法以及装置 | |
CN103902729A (zh) | 一种应用程序推荐的方法及装置 | |
CN105468428B (zh) | 一种安卓源代码编译方法及系统 | |
WO2016095570A1 (zh) | 一种嵌入式系统的调试方法及装置、存储介质 | |
CN103051711B (zh) | 基于spice协议的嵌入式云终端系统的构建方法 | |
CN102819527A (zh) | 在移动通信系统中匹配规则的方法和系统 | |
CN103902890A (zh) | 一种Android程序行为的监控方法及监控系统 | |
CN106293849A (zh) | 一种应用更新方法和终端 | |
CN109388435A (zh) | 实现app同时多次开启操作的方法和装置 | |
CN103793209A (zh) | 一种修改Android程序执行流程的方法及系统 | |
CN103415085B (zh) | 一种通用mac协议处理器的自动生成方法 | |
CN103793317A (zh) | 一种跟踪Android程序行为的方法及系统 | |
CN106294181B (zh) | 智能卡软件使用寿命测试方法 | |
CN103677767A (zh) | 一种处理应用程序的方法、操作系统及电子设备 | |
CN109460280B (zh) | 运行程序的方法、终端 | |
CN104850561A (zh) | 一种Android APK文件自适应压缩方法 | |
CN104751026A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140514 |
|
RJ01 | Rejection of invention patent application after publication |