前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于反编译的搜索

基于动态二进制翻译技术的反编译研究--CNKI机构馆在线 机构馆在线首页|学科馆|行业馆 期刊大全|学位论文|会议论文|年鉴|更多>> [登录] [免费注册] 机构馆在线首页|学科馆|行业馆|核心资源|典型用户|订阅中心|帮助中心|关于知网 基于动态二进制翻译技术的反编译研究 CAJ全文下载 PDF全文下载 --> 分享到: 作 者: 张柏年 来 源: 上海交通大学 2008年 摘 要: 反编译是将使用低级语言表示的程序代码变换成与其功能等价的高级语言程序代码的过程,是编译的逆过程。它对于软件的移植、理解喝维护都起着重要作用。反编译的结果可以用于寻找程序中包含的恶意代码、bug和脆弱点,揭示程序的内部互操作机制。现有的基于静态分析技术的二进制代码反编译器具有很多理论上的局限性,包括不能有效的处理间接跳转和间接过程调用,不能进行精确的指针别名分析,需要对目标程序的代码结构做一定的假设等等。本文描述的反编译基础系统采用基于二进制翻译技术的动态分析方法,通过准确地记录程序实际的执行路径和变量关系,能较好地解决控制流混淆和二进制代码的动态指针别名分析问题。 静态反编译由于无法获得程序实际执行时的输入,因此需要假设任何可能的输入和执行路径都是有效的。实际上程序中可能存在不可达路径,反编译器通常只会做保守地选择。保守的分析会使得反编译器产生执行效率较低或者可读性较差的代码,甚至导致分析失败。 与静态反编译不同,本文描述的动态反编译方法可以准确获知程序执行时的输入和执行路径,因此可以针对当前的输入(实际上是与当前输入等价的一类输入)做最优的选择。使用这一方法得到的反编译结果更接近程序实际执行时的逻辑,但可能无法处理未测试的输入。 本研究的主要贡献在于: 1.基于Linux下的动态二进制翻译平台valgrind,实现了反编译器基础平台Dynamic Analyzer,论证了动态反编译器实现的可行性。 2.使用动态控制流图构造方法,与静态构造方法相比能有效地解决目标地址获取和控制流混淆问题。 3.提出了面向二进制代码的动态指针别名分析算法,有效地提高了反编译结果的准确性。 4.改进了影子堆栈技术,能够更精确地识别虚假的子过程调用。 关 键 词: 反编译 动态二进制翻译 动态分析 静态分析 学位级别: 硕士 所属学科馆: 信息科技馆 计算机软件及计算机应用馆 数据库类型: 目 录 ? 摘要5-6 ? ABSTRACT6-10 ? 第一章 绪论10-16 ? 1.1 介绍10-11 ? 1.2 反编译技术的应用11-13 ? 1.3 反编译技术的发展历史13-15 ? 1.4 当前面临的问题15 ? 1.5 本文组织结构15-16 ? 第二章 反编译技术综述16-28 ? 2.1 可执行代码16 ? 2.2 变量分析16-18 ? 2.2.1 二进制代码与源代码变量间的关系17-18 ? 2.3 类型分析18-22 ? 2.3.1 类型信息来源19 ? 2.3.2 指定常量的类型19 ? 2.3.3 类型约束19-20 ? 2.3.4 基于数据流的类型分析20-21 ? 2.3.5 静态变量,动态变量与聚合类型21-22 ? 2.4 表达式分析22-24 ? 2.4.1 表达式融合22-23 ? 2.4.2 表达式传播23 ? 2.4.3 有限传播23-24 ? 2.5 控制结构分析24 ? 2.6 函数,参数/返回值识别24-25 ? 2.6.1 函数识别24-25 ? 2.6.2 参数/返回值识别25 ? 2.7 编译器识别25 ? 2.8 库函数识别25-27 ? 2.8.1 静态库函数识别26 ? 2.8.2 动态库函数识别26-27 ? 2.9 本章小结27-28 ? 第三章 静态反编译及其局限性28-33 ? 3.1 静态分析28 ? 3.2 动态分析28 ? 3.3 静态分析与动态分析比较28-29 ? 3.4 静态反编译的局限性29-32 ? 3.4.1 区分代码和数据30 ? 3.4.2 区别常量与指针30-31 ? 3.4.3 指针别名分析31-32 ? 3.4.4 其他问题32 ? 3.5 本章小结32-33 ? 第四章 DYNAMIC ANALYZER 设计与实现33-49 ? 4.1 可执行代码分析工具DYNAMIC ANALYZER33-34 ? 4.2 动态翻译与调试34-35 ? 4.3 动态构造控制流图35-39 ? 4.4 影子堆栈39-41 ? 4.5 指针别名分析41-46 ? 4.6 异常,线程,和信号处理46-47 ? 4.7 动态反编译得与失47-48 ? 4.8 本章小结48-49 ? 第五章 全文总结49-50 ? 5.1 主要结论49 ? 5.2 研究展望49-50 ? 参考文献50-52 ? 攻读硕士学位期间已发表或录用的论文52-53 ? 攻读硕士学位期间参与的科研项目53-54 ? 致谢54 参考文献 引证文献 二级参考文献 二级引证文献 共引文献 相似文献 同被引文献 中国学术期刊网络出版总库[1] 刘宗田;李力;;8086C逆编译数据类型恢复技术[J];计算机研究与发展;1992年04期[2] 刘宗田;;从机器代码到高级语言程序的转换技术[J];计算机研究与发展;1992年11期[3] 刘宗田;陈福安;;反编译技术研究现状及面临的问题[J];计算机科学;1992年06期[4] 陈福安,刘宗田;8086C反编译系统中库函数识别技术及其实现[J];小型微型计算机系统;1991年11期[5] 陈福安,刘宗田,李力;8086 C语言反编译系统的设计及实现技术[J];小型微型计算机系统;1993年04期[6] 刘宗田;通过自学习生成库函数识别模板库[J];小型微型计算机系统;1996年09期 中国硕士学位论文全文数据库[1] 邓超国;基于虚拟机的关键信息提取与分析[D];上海交通大学;2011年 中国学术期刊网络出版总库[1] 刘宗田;;68000C反编译程序的设计方法[J];计算机研究与发展;1986年06期[2] 刘宗田,兰群;C子集程序到C语言程序的变换[J];计算机研究与发展;1991年03期[3] 刘宗田;李力;;8086C逆编译数据类型恢复技术[J];计算机研究与发展;1992年04期[4] 孙永强,宋国新,杨澜;程序的结构化和变换[J];计算机学报;1987年04期[5] 刘宗田,朱逸芬;符号执行技术在68000C反编译程序中的应用[J];计算机学报;1988年10期[6] 朱三元,刘霄;国内外软件逆向工程综述[J];计算机应用与软件;1990年04期[7] 李军,张翰英;C语言反编译系统的研究与实现[J];计算机工程与设计;1991年03期[8] 刘宗田;68000C反编译系统中的变量类型恢复[J];微计算机应用;1989年06期[9] 周孔伟,蔡经球;符号执行—介于程序验证和程序调试之间的方法[J];小型微型计算机系统;1982年04期[10] 刘宗田;68000C反编译程序中的语句翻译器的设计与实现[J];小型微型计算机系统;1988年02期 中国硕士学位论文全文数据库[1] 孙明;基于虚拟机的软件动态分析方法研究[D];上海交通大学;2011年 中国学术期刊网络出版总库[1] 曹琼;;LL(1)预测分析程序设计与实现[J];重庆工学院学报(自然科学版);2007年08期[2] 未庆超;蔡启仲;李克俭;谢从涩;;PLC手持编程器编译系统的设计[J];自动化与信息工程;2012年06期[3] 夏靓;反编译的基本数据类型恢复技术及Lex和Yacc在其中的应用[J];怀化学院学报;2004年05期[4] 刘宗田;;从机器代码到高级语言程序的转换技术[J];计算机研究与发展;1992年11期[5] 刘宗田;程序变换的一种规范说明方法[J];计算机研究与发展;1998年01期[6] 方霞;尹青;蒋烈辉;黄海;何红旗;;基于数据流分析的寄存器参数恢复方法[J];计算机工程;2009年22期[7] 肖荣;;基于网的寄存器分配冲突图研究[J];计算机工程;2010年11期[8] 牟永敏;姜宇;张志华;;软件自动化测试中热点路径的研究[J];计算机工程与科学;2011年06期[9] 吴伟峰;赵荣彩;;反编译中用户函数与库函数同名的区分技术研究[J];计算机学报;2011年04期[10] 祝宁;张永福;陈性元;;基于领域相关语言的拒绝服务攻击描述语言设计[J];计算机应用;2012年01期 中国博士学位论文全文数据库[1] 陈凯明;逆编译中几项关键技术研究[D];合肥工业大学;2004年 中国硕士学位论文全文数据库[1] 周丽娜;ARM反编译中的类型分析技术研究[D];解放军信息工程大学;2010年[2] 窦增杰;可信机制逆向分析平台的设计与实现[D];解放军信息工程大学;2010年[3] 黄海;基于IDA的代码解析与中间语言翻译[D];解放军信息工程大学;2009年[4] 郭邦财;基于DOM/AST技术的C语言解析器设计[D];武汉理工大学;2011年[5] 徐艳;简单微型编译器Micro-X的设计与实现[D];电子科技大学;2011年[6] 赵亮;基于攻击特征的IDS测试数据生成方法研究与系统实现[D];解放军信息工程大学;2010年[7] 孔凡金;基于值剖视的编译优化研究[D];国防科学技术大学;2010年[8] 吴滨;汇编级程序辅助分析中的库函数识别技术研究[D];解放军信息工程大学;2011年[9] 雷涛;可执行程序的反编译[D];华中科技大学;2004年[10] 厉蒋;SmartASM:面向嵌入式系统的目标代码协同分析工具[D];浙江大学;2006年 中国重要会议论文全文数据库[1] 陈凯明;钱海;张军;王煦法;;获取用户库函数接口及源代码[A];2005年“数字安徽”博士科技论坛论文集[C];2005年 中国学术期刊网络出版总库前10篇[1] 李新良;;基于Java字节码的混淆技术研究[J];北京电子科技学院学报;2010年04期[2] 周明德,王开铸;Turbo C反编译中主要目标的实现技术[J];哈尔滨工业大学学报;1994年04期[3] 赵蕾,王开铸;C反编译控制流恢复的形式描述及算法[J];计算机学报;1998年01期[4] 杨兴平;电子图书反编译全攻略[J];网络与信息;2004年02期[5] 屈晔;张昊;;BugScam自动化静态漏洞检测的分析[J];电子产品可靠性与环境试验;2006年04期[6] 周明德,王开铸,洪海;基于中间语言的C反编译系统的研究与实现[J];哈尔滨工业大学学报;1994年05期[7] 蒋南剑;一种防止反编译.FOX文件的简易方法[J];中国计算机用户;1994年12期[8] 侯文永,徐志宏;反编译过程中的结构变换[J];上海交通大学学报;1996年06期[9] 彭禾;谈谈过程文件(*.FOX)的反编译及分解[J];电脑编程技巧与维护;1996年03期[10] 雷军;如何防止unFoxPro反编译数据库应用程序[J];微电脑世界;1997年01期 中国博士学位论文全文数据库[1] 王祥根;自修改代码逆向分析方法研究[D];中国科学技术大学;2009年[2] 张雪松;软件迷惑技术研究[D];吉林大学;2008年[3] 赵云山;基于符号分析的静态缺陷检测技术研究[D];北京邮电大学;2012年[4] 李仁见;堆操作程序分析验证技术研究[D];国防科学技术大学;2011年[5] 夏一民;缓冲区溢出漏洞的静态检测方法研究[D];国防科学技术大学;2007年[6] 杨学红;BPEL流程的故障模式及其静态分析技术的研究[D];北京邮电大学;2011年[7] 肖庆;提高静态缺陷检测精度的关键技术研究[D];北京邮电大学;2012年[8] 牛飞亮;制度变迁中的城镇居民收入差距分析[D];中国人民大学;2000年[9] 王嘉捷;多重循环程序内存访问越界增量检测方法[D];中国科学技术大学;2009年[10] 姜励;基于程序设计语言的安全降密模型研究[D];浙江大学;2008年 中国硕士学位论文全文数据库[1] 张柏年;基于动态二进制翻译技术的反编译研究[D];上海交通大学;2008年[2] 陈明辉;缓冲区溢出漏洞的测试方法研究[D];中国科学技术大学;2009年[3] 史维芳;考虑非线性的雷达天馈系统稳定平台的有限元分析[D];合肥工业大学;2005年[4] 曲昌荣;汽车车架的轻量化设计[D];西华大学;2006年[5] 刘长国;全钢载重子午线轮胎稳态力学特性有限元分析[D];吉林大学;2006年[6] 曹晋阳;构件化软件测试的静态分析及配置体系研究[D];西安理工大学;2007年[7] 杨显宏;风车式空中车库的结构分析[D];西南交通大学;2005年[8] 彭铁文;基于CAE技术的运动型多功能车整车结构静态与动态响应分析[D];中南大学;2004年[9] 刘元林;阀口动压反馈直动式溢流阀的动态特性分析[D];辽宁工程技术大学;2005年[10] 赵全亮;PZT驱动的微泵研制及特性分析[D];黑龙江大学;2006年 中国重要会议论文全文数据库[1] 陈思;赵冬岩;;新规范中海底管道稳定性半动态分析方法的比较研究[A];2009年度海洋工程学术会议论文集(下册)[C];2009年[2] 王晓光;;投资方案静态分析方法的改进[A];管理科学与系统科学进展——全国青年管理科学与系统科学论文集(第4卷)[C];1997年[3] 包芸;叶浩;康雅乔;;采用动态方法研究磨刀门水道盐水强烈上溯运动规律[A];第九届全国水动力学学术会议暨第二十二届全国水动力学研讨会论文集[C];2009年[4] 林锦滨;张晓菲;刘晖;;符号执行技术研究[A];全国计算机安全学术交流会论文集(第二十四卷)[C];2009年[5] 张威;薛廷梅;卢庆龄;;软件内存泄漏缺陷分析与测试方法研究[A];第十届全国容错计算学术会议论文集[C];2003年[6] 苏娟;杜普选;崔欣;姜道勇;;铁路FSK信号静态分析系统研究[A];'2006系统仿真技术及其应用学术交流会论文集[C];2006年[7] 江雷;朱建平;;基于静态分析的软件安全检测技术研究[A];全国计算机安全学术交流会论文集(第二十四卷)[C];2009年[8] 肖庆;杨朝红;毕学军;;基于静态分析的面向故障测试方法[A];第四届中国测试学术会议论文集[C];2006年[9] 王雅文;宫云战;肖庆;杨朝红;;区间运算在软件缺陷检测中的应用[A];第五届中国测试学术会议论文集[C];2008年[10] 黄勇;李显方;;圆柱形梁弯曲和横向振动的精确分析[A];中国力学学会学术大会'2009论文摘要集[C];2009年 中国学术期刊网络出版总库[1] 李必信,郑国梁,王云峰,李宣东;一种分析和理解程序的方法──程序切片[J];计算机研究与发展;2000年03期[2] 张勇翔;李必信;郑国梁;;程序切片技术的研究与应用[J];计算机科学;2000年01期[3] 罗宏;蒋剑琴;曾庆凯;;用于软件保护的代码混淆技术[J];计算机工程;2006年11期[4] 蒋烈辉;陈亮;吴金波;何红旗;费勤福;赵荣彩;;基于控制流和数据段分析的反汇编策略研究[J];计算机工程;2007年02期[5] 李卷孺;谷大武;陆海宁;;一种精简二进制代码的程序理解方法[J];计算机应用;2008年10期[6] 尚涛;谷大武;;软件防反汇编技术研究[J];计算机应用研究;2009年12期[7] 纳荣;在程序理解中使用切片技术[J];计算机工程与设计;2003年01期[8] 王伟,陈平;程序切片技术综述[J];微电子学与计算机;2002年08期 中国博士学位论文全文数据库[1] 王祥根;自修改代码逆向分析方法研究[D];中国科学技术大学;2009年 中国硕士学位论文全文数据库[1] 张毅超;基于指令执行记录的二进制程序动态切片技术[D];浙江大学;2008年[2] 舒柏程;指令级恶意代码动态监控平台的研究与实现[D];电子科技大学;2009年[3] 吴超;Windows环境下隐蔽调试器的设计与实现[D];电子科技大学;2009年[4] 张艳;虚拟机环境中基于网络的虚拟存储方法的研究与验证[D];吉林大学;2010年[5] 伊腾飞;基于硬件虚拟化反调试的软件保护设计[D];上海交通大学;2010年 机构馆推荐 >> 相关学科馆>> 工业经济馆 民商法馆 自动化技术馆 计算机硬件技术馆 宏观经济管理与可持续发展馆 航空航天科学与工程馆 武器工业与军事技术馆 互联网技术馆 相关行业馆>> 电子行业馆 机械行业馆 汽车企业馆 船舶企业馆 热门机构馆 石油行业馆 石油行业馆 银行业馆 银行业馆 医药企业馆 医药企业馆 机电行业馆 机电行业馆 水力发电业馆 水力发电业馆 建筑行业馆 建筑行业馆 证券行业馆 证券行业馆 机械行业馆 机械行业馆 电子行业馆 电子行业馆 疾控中心馆 疾控中心馆 石油行业馆 银行业馆 医药企业馆 机电行业馆 水力发电业馆 建筑行业馆 证券行业馆 机械行业馆 电子行业馆 疾控中心馆 --> 帮助中心 1、如何找到想要的机构数字图书馆? 2、如何预览机构数字图书馆? 3、如何购买机构数字图书馆? 4、购买后如何登录机构馆? 5、为什么馆内文章下载不了? 6、阅读文章前先下载安装阅读器? 充值中心 银行卡 会员卡 支付宝 银行汇款 神州行卡 邮局汇款 团体订购 订阅中心 核心资源 典型用户 订购热线 400-819-9993 800-810-6613 010-62985026 帮助中心 关于我们 广告服务 常见问题 阅读器下载 意见反馈 在线咨询 主办:中国知网 数字出版:《中国学术期刊(光盘版)》电子杂志社 互联网出版许可证 新出网证(京)字008号 地址:北京清华大学 84-48信箱 知识超市公司 京ICP证040431号 订购热线:400-819-9993 010-62982499 服务热线:800-810-6613 010-62791813 在线咨询:http://help.cnki.net/ 传真:010-62780361 北京市公安局海淀分局 备案号110 1081725