java语言的技术可行性_面向Java语言逆向技术的研究与实现

摘要:针对软件工程领域开发过程中存在的问题,比如程序软件源代码或者设计文档的丢失,对一些遗产系统程序的理解和读取变得越来越难,因此逆向技术成为计算机领域日益关注的对象之一。在软件许可的前提下,开发者选择以反编译或者抽象方法去得到原系统程序的源代码或者结构信息,这不仅节约开发成本,而且很大程度上提高了开发的效率。以往的逆向技术工具在基本功能实现上已经设计的比较完善,但是还是需要因地制宜,针对不同的环境不同的群体满足不同的需求。首先,许多反编译工具只针对由目标执行文件反编译得到源代码,UML类图绘制工具只针对目标文件进行绘制类图,没有提供给用户源代码。其次,对于大多数新用户显得较为复杂,许多逆向工具需要复杂特殊的环境作为支撑,对于刚接触逆向技术领域的学生或者新用户而言,选择一个简单易用、操作方便不需要复杂的环境作支撑的逆向工具是首要解决的问题。此外,随着越来越成熟的反逆向技术的产生,需要实现一些破译反逆向技术的方法,例如破译混淆、加壳等问题势在必行。因此,需要一个工具实现这些需求和功能。既能够实现反编译工作,又能够在此基础上抽象出该系统程序的结构信息,不仅可以利用遗产系统程序再改造,也可以符合大多数用户的需求,实现中文界面,简单运行环境,集反编译和UML类图可视化为一体的逆向工具。本文的实现工具是面向对象语言Java来实现逆向技术,分为两大功能模块,第一:实现对Java类文件的反编译。主要研究工作:通过对面向对象语言Java及其类文件的结构和功能分析,研究逆向反编译技术的具体过程,在实现基本反编译技术的基础上生成符合大多数用户需求的中文人机交互界面,阐述实现破译混淆代码的方法,并在基本功能之外增加了新的功能点,比如删除编译器加入的冗余注释、标注行号等功能。第二:在反编译出源代码之后生成UML类图抽象出结构信息。主要研究工作:通过词法分析、语法分析得到基本的源代码程序结构资源,进一步研究抽象机制和类静态信息获取的规则,最终实现UML类图可视化,即类图的建立,反映系统程序的整体结构信息。结合两部分的大功能模块开发出逆向技术工具MyRec,最后用实验进行验证此逆向工具的可行性和有效性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 可行性研究报告   可行性研究报告的编写目的是:说明该软件开发项目实现技术、经济和社会条件方面的可行性;评述为了合理地达到开发目标而可能先择的各种方案;说明论证所选定的方案。 可行性研究报告的编写内容要求如下: 1.1 引言   1.1.1 编写目的   1.1.2 背景   1.1.3 定义   1.1.4 参考资料 1.2 可行性研究的前提   1.2.1 要求   1.2.2 目标   1.2.3 条件、假定和限制   1.2.4 进行可行性研究的方法   1.2.5 评价尺度 1.3 对现有系统的分析   1.3.1 数据流程和处理流程   1.3.2 工作负荷   1.3.3 费用开支   1.3.4 人员   1.3.5 设备   1.3.6 局限性 1.4 所建议的系统   1.4.1 对所建议系统的说明   1.4.2 数据流程各处理流程   1.4.3 改进之处   1.4.4 影响   1.4.4.1 对象设备的影响   1.4.4.2 对软件的影响   1.4.4.3 对用户单位机构的影响   1.4.4.4 对系统动行的影响   1.4.4.5 对开发的影响   1.4.4.6 对地点和设施的影响   1.4.4.7 对经费开支的影响   1.4.5 局限性   1.4.6 技术条件方面的可行性 1.5 可选择其他系统方案   1.5.1 可选择的系统方案1   1.5.2 可选择的系统方案2 1.6 投资及收益分析   1.6.1 支出   1.6.1.1 基本建设投资
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值