前往Shuct.Net首页

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

关于反编译的搜索

C++反编译技术研究及应用--《南京大学》2012年硕士论文 收藏本站 首页 期刊全文库 学位论文库 会议论文库 年鉴全文库 学术百科 工具书 CNKI学问 注册|登录|我的账户 基础科学|工程科技I辑|工程科技II辑|医药卫生科技|信息科技|农业科技|哲学与人文科学|社会科学I辑|社会科学II辑|经济管理 高级搜索:用" 软件逆向工程 MSTS "到知网平台检索,点击这里搜索更多... 《南京大学》 2012年 加入收藏 获取最新 C++反编译技术研究及应用 邢锐 【摘要】:随着计算机技术在各种领域中的广泛应用,特别是软件开发技术的迅猛发展,基于特定软件,以反汇编的方式去推断它的数据结构、体系结构和程序设计的信息已经成为软件逆向工程技术主要关注的方向。软件逆向工程是从可运行的程序系统出发,分析对应的源程序、系统结构以及相关设计原理和算法思想的文档等。它具有重大研究价值,可以避免重复劳动,提高软件的生产效率和质量。 虽然当前对软件逆向工程的研究已经很多,但其仍属于一个尚未充分发展的领域,并没有形成统一的标准、方法和过程,有必要进行深入研究。在反编译领域,对于Java、基于.NET的C#以及PB语言,反编译工具的技术已比较成熟,而对于C和C++语言,由于其本身的复杂性,并没有对应的工具。现有的是一些分阶段的软件逆向工程辅助工具。仅靠这些工具并不能够系统地完成逆向工程的整体过程。 本文研究了逆向工程的理论和方法,并结合MSTS(微软模拟火车程序),通过分析MSTS内存中数据分布和配置文件等,提出了获取系统结构和获取内存数据的方法,推测出MSTS中的一些设计思路,并分析了MSTS中的一些算法思想,并发现了MSTS软件中的一些漏洞和不足之处。 实践提出的逆向工程方法时,对使用Visual Studio编写的测试程序进行了实验和分析,熟悉了C++语言反编译的基本方法。对MSTS进行分析,获取到MSTS当中用于驾驶的数据和控制方法,并基于该数据完成MSTS辅助驾驶系统,实现了列车自动驾驶功能。 【关键词】:软件逆向工程 MSTS 反汇编 反编译 【学位授予单位】:南京大学【学位级别】:硕士【学位授予年份】:2012【分类号】:TP311.11【目录】: 摘要5-6Abstract6-10图目录10-11表目录11-12第一章 引言12-17 1.1 研究背景12-13 1.2. 研究现状13-15 1.2.1 逆向工程发展历史13 1.2.2 逆向工程的分类13-14 1.2.3 反编译研究现状14-15 1.3 本文的主要工作15 1.4 本文的组织结构15-17第二章 技术和工具介绍及分析17-25 2.1 逆向工程合法性论述17 2.2 读取内存数据的方法17-18 2.3 反汇编器18 2.4 结构体简介18-19 2.5 调用约定简介19-20 2.5.1 cdecl调用约定19 2.5.2 stdcall调用约定19 2.5.3 x86 fastcall调用约定19-20 2.5.4 C++调用约定20 2.6 Microsoft Visual C++虚函数的实现机制分析20-23 2.7 Cheat Engine介绍23-24 2.7.1 查找变化内存数值的流程23 2.7.2 指针搜索功能23-24 2.7.3 跟踪读取修改内存的指令24 2.8 FileMon介绍24-25第三章 获取系统结构的方法及应用25-33 3.1 MSTS简介25 3.2 通过分析文件获取设计信息的方法25-29 3.2.1 TDB文件总体结构结构分析25-26 3.2.2 MSTS对铁轨的抽象化描述26-27 3.2.3 铁轨连接方式的描述27 3.2.4 Trltem的信息27-29 3.2.5 TrVectorNode的简单介绍29 3.3 通过监控文件系统获取处理文件流程的方法29-30 3.4 通过了解领域知识获取设计信息的方法30-31 3.5 通过读取文件模块了解内存结构的方法31-33第四章 获取内存数据的方法及应用33-47 4.1 通过内存搜索查找静态内存数据的方法33 4.2 通过合理推测获取数据结构的方法33-36 4.2.1 MSTS中双链表的表示方法34 4.2.2 MSTS双链表结构34 4.2.3 遍历MSTS中双链表的方法34-36 4.3 通过指针搜索寻找动态分配内存数据的方法36-37 4.4 通过已有数据推测相关信息的方法37-38 4.5 结合系统结构分析内存的方法38-42 4.5.1 TrVectorNode内存分布38-39 4.5.2 TrJunctionNode内存分布39-40 4.5.3 获取下一个SVectorNode的方法40-41 4.5.4 获取路径上所有SVectorNode的方法41-42 4.6 通过反汇编、反编译获取需要信息的方法42-47 4.6.1 获取前方信号灯信息的方法42 4.6.2 获取前方标志限速信息的实现42-44 4.6.3 获取临时限速的方法44-47第五章 MSTS辅助工具的实现47-57 5.1 控制MSTS的方法47-48 5.1.1 模拟按键法47-48 5.1.2 内存改写法48 5.2 控制机车的算法48-51 5.3 自动驾驶系统运行界面图51-52 5.4 改进后的运行监控器52-53 5.5 列车轨道曲线和坡度的获取方法53-57第六章 总结与展望57-59 6.1 总结57 6.2 进一步工作展望57-59参考文献59-61致谢61-62参与项目62-64 下载全文 更多同类文献 团体订阅中心 CAJ全文下载 (如何获取全文? 欢迎:购买知网充值卡、在线充值、在线咨询) CAJViewer阅读器支持CAJ、PDF文件格式 【参考文献】 中国期刊全文数据库 前2条 1 周立萍,陈平;逆向工程发展现状研究[J];计算机工程与设计;2004年10期 2 严秀;李龙澍;;软件逆向工程技术研究[J];计算机技术与发展;2009年04期 中国博士学位论文全文数据库 前1条 1 陈昊鹏;软件逆向工程技术研究[D];西北工业大学;2002年 【共引文献】 中国期刊全文数据库 前8条 1 刘明;;软件逆向工程分析技术研究及应用[J];航空计算技术;2011年02期 2 石泉;;小议软件保护措施中的软件逆向工程技术[J];今日科苑;2010年02期 3 陈浩;王广南;孙建华;;一种基于图的程序行为相似性比较方法[J];计算机应用研究;2010年02期 4 邹俊;;形式化方法应用于软件再工程[J];科技广场;2009年05期 5 王猛;魏强;吴灏;;基于有向图的二进制文件结构化比较机制研究[J];计算机工程与设计;2006年09期 6 严秀;李龙澍;;软件逆向工程技术研究[J];计算机技术与发展;2009年04期 7 叶峰;;应用软件的监控与AOP技术探析[J];中国新技术新产品;2009年24期 8 古辉;马灵春;阳继旭;;一种改进的程序理解信息抽取系统(TSE)设计[J];浙江工业大学学报;2008年02期 中国博士学位论文全文数据库 前2条 1 赵萍;机器视觉测量方法及曲面重构技术研究[D];沈阳农业大学;2011年 2 苏铭;对IA-64结构特性优化代码的二进制翻译技术研究[D];解放军信息工程大学;2006年 中国硕士学位论文全文数据库 前10条 1 汪志成;从单机至分布式架构的遗留系统再工程[D];浙江大学;2011年 2 熊国营;南昌大学鹰潭医院药品管理系统的设计与实现[D];电子科技大学;2010年 3 谢裕敏;Windows应用程序关键函数的逆向定位技术研究[D];解放军信息工程大学;2009年 4 倪敏敏;基于几何型的曲面重构研究[D];江南大学;2010年 5 国鹏飞;基于动态符号执行的二进制代码漏洞挖掘系统研究与设计[D];北京邮电大学;2011年 6 戎韩桃;面向对象逆向工程中动态模型的研究与设计[D];电子科技大学;2011年 7 李兰翠;可信网络客户端完整性度量研究[D];中南民族大学;2010年 8 郜伟;Vista可信机制功能模型研究[D];解放军信息工程大学;2008年 9 姚灵灵;程序理解中支持多语言理解与信息提取技术的研究[D];浙江工业大学;2012年 10 马竹根;形式化技术在逆向工程中的应用研究[D];长沙理工大学;2006年 【二级参考文献】 中国期刊全文数据库 前10条 1 张志猛,庄越挺,潘云鹤;面向对象软件的逆向工程[J];计算机研究与发展;2003年07期 2 陈昊鹏,李伟华;面向对象的软件逆向工程数据库系统设计[J];计算机工程与应用;2001年21期 3 袁望洪;陈向葵;谢涛;郭耀;;逆向工程研究与发展[J];计算机科学;1999年05期 4 郭耀;袁望洪;陈向葵;周欣;;再工程——概念及框架[J];计算机科学;1999年05期 5 陈俊,孙建伶,董金祥;工程数据库管理系统的体系结构[J];软件学报;1999年02期 6 周立萍,陈平;逆向工程发展现状研究[J];计算机工程与设计;2004年10期 7 张锡红,钱莉;LOTUS NOTES在局域网上的应用[J];无锡轻工大学学报;2001年02期 8 王玉英;陈平;方海燕;许人民;;软件逆向工程的研究与发展[J];西安工程科技学院学报;2006年03期 9 陈昊鹏,李伟华,宋杰;智能仪表实时控制软件的设计与实现[J];西北工业大学学报;2001年01期 10 李伟华,李由;实时软件逆向工程技术研究[J];西北工业大学学报;2003年04期 【相似文献】 中国期刊全文数据库 前10条 1 刘宗田;陈福安;;反编译技术研究现状及面临的问题[J];计算机科学;1992年06期 2 朱三元,刘霄;国内外软件逆向工程综述[J];计算机应用与软件;1990年04期 3 陈凯明;刘宗田;;反编译研究现状及其进展[J];计算机科学;2001年05期 4 陈福安,刘宗田,李力;8086 C语言反编译系统的设计及实现技术[J];小型微型计算机系统;1993年04期 5 陈昊鹏,李伟华;面向对象的软件逆向工程数据库系统设计[J];计算机工程与应用;2001年21期 6 刘宗田;68000C反编译系统中的变量类型恢复[J];微计算机应用;1989年06期 7 刘宗田;通过自学习生成库函数识别模板库[J];小型微型计算机系统;1996年09期 8 刘宗田;程序变换的一种规范说明方法[J];计算机研究与发展;1998年01期 9 吴伟峰;赵荣彩;;反编译中用户函数与库函数同名的区分技术研究[J];计算机学报;2011年04期 10 李军,张翰英;C语言反编译系统的研究与实现[J];计算机工程与设计;1991年03期 中国重要会议论文全文数据库 前5条 1 王颖;孙文靖;朱琳;闫昆;;应用软件逆向工程开展大系统软件时序分析[A];第十九届测控、计量、仪器仪表学术年会(MCMI'2009)论文集[C];2009年 2 张延松;于利胜;王珊;陈红;;内存存储模型上的多表连接优化技术研究[A];第26届中国数据库学术会议论文集(A辑)[C];2009年 3 梅宏斌;王德强;;内存数据库技术在期货交易系统中的应用[A];第十九届全国数据库学术会议论文集(技术报告篇)[C];2002年 4 刘东;韩伟红;郑黎明;;基于数据流管理系统的网络安全事件多维分析[A];全国计算机安全学术交流会论文集·第二十五卷[C];2010年 5 韩希先;杨东华;李建中;;DBCC-Join:一种新的高速缓存敏感的磁盘连接算法[A];NDBC2010第27届中国数据库学术会议论文集A辑一[C];2010年 中国重要报纸全文数据库 前10条 1 原诗萌;经销商处境尴尬[N];中国计算机报;2007年 2 杨瑜;内存损坏导致的多项故障[N];中国电脑教育报;2005年 3 大老客;存储换代步入倒计时[N];电脑报;2008年 4 电脑报评测实验室;VIA Apollo KT266A芯片组抢先测试[N];电脑报;2001年 5 本报记者 王昕;炼就火眼金睛 识别假冒产品[N];山西经济日报;2004年 6 余占涛;排除内存插槽弹簧触点故障[N];中国电脑教育报;2002年 7 本报记者 王小庆;内存“跌潮”愈发汹涌 换代“好戏”更为精彩[N];中国电子报;2001年 8 北京 玉米 布丁;硬件选购对对碰 CPU、内存篇[N];中国电脑教育报;2004年 9 硬件沙龙 刘桐;内存市场假货泛滥[N];电脑报;2002年 10 王旭 村长;市场上演“狸猫换太子”七成兼容内存以次充好[N];中国计算机报;2004年 中国博士学位论文全文数据库 前2条 1 王新宇;大型遗留系统再工程研究[D];浙江大学;2007年 2 邹先霞;事务数据流处理的若干关键技术问题研究[D];中南大学;2012年 中国硕士学位论文全文数据库 前10条 1 邢锐;C++反编译技术研究及应用[D];南京大学;2012年 2 王强;基于反编译的可疑行为标注技术的研究与实现[D];解放军信息工程大学;2009年 3 周丽娜;ARM反编译中的类型分析技术研究[D];解放军信息工程大学;2010年 4 刘絮颖;反编译中控制流重构与控制结构恢复技术研究[D];解放军信息工程大学;2011年 5 车少敏;基于逆向工程的工资管理系统的设计与实现[D];南昌大学;2010年 6 张一弛;基于反编译的恶意代码检测关键技术研究与实现[D];解放军信息工程大学;2009年 7 孟凡宇;软件再工程中的类层次重构与简化[D];吉林大学;2005年 8 屈翔珍;基于UML和RUP的逆向工程及其对注塑分析软件(MPI)建模的应用[D];南昌大学;2007年 9 王成;基于Win32的软件逆向工程的研究与应用[D];吉林大学;2008年 10 张晓锋;软件逆向工程相关技术研究与实现[D];电子科技大学;2007年 相关机构 >兰州理工大学 >河南理工大学 >浙江大学 >华东师范大学 >大连理工大学 >南昌大学 >电子科技大学 >北京邮电大学 >长春理工大学 >北京交通大学 相关作者 >张驰 >白伟岐>刘俊 >王平>苏永辉 >陈江婷>张晓锋 >王新宇>郑磊 >洪智华>孟凡宇 >刘星>邹先霞 >邓绍怡>王成 >韩巧玲>滕莉 >周育博>李晶晶 >屈翔珍 快捷付款方式 订购知网充值卡 订购热线 帮助中心 银行卡 支付宝 神州行 知网卡 手机短信 更多>> 免费送卡上门 银行汇款购卡 邮局汇款购卡 400-819-9993 800-810-6613 010-62985026 常见问题 在线咨询 阅读器下载 广告服务 知网卡 关于知网 主办:中国知网 数字出版:《中国学术期刊(光盘版)》电子杂志社 地址:北京清华大学 84-48信箱 知识超市公司京ICP证040431号互联网出版许可证 新出网证(京)字008号 订购热线:400-819-9993 010-62982499 服务热线:800-810-6613 010-62791813 在线咨询:http://help.cnki.net 传真:010-62780361 北京市公安局海淀分局 备案号110 1081725