电子科技大学逆向工程实验报告作业.doc
《电子科技大学逆向工程实验报告作业.doc》由会员分享,可在线阅读,更多相关《电子科技大学逆向工程实验报告作业.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电子科技大学实验报告 学生姓名:马侬学 号:20152*03*0* 指导教师:何兴高 日 期:2016.7.15一 题目名称:简易记事本软件逆向分析二 题目内容由于记事本功能简单,稍有经验的程序员都可以开发出与记事本功能近似的小软件,所以在一些编程语言工具书上也会出现仿照记事本功能作为参考的示例。为了便于分析因此选取了一个简易的记事本,因此本实验将着重研究从源程序到机器码的详细过程而不注重程序本身的功能。另一方面简易源程序代码约130多行。本实验目的是了解源程序是怎么一步步变成机器码的又是怎么在计算机上运行起来的。 三 知识点及介绍利用逆向工程技术,从可运行的程序系统出发,运用解密、反汇编、系
2、统分析、程序理解等多种计算机技术,对软件的结构、流程、算法、代码等进行逆向拆解和分析,推导出软件产品的源代码、设计原理、结构、算法、处理过程、运行方法及相关文档等。随着用户需求的复杂度越来越高软件开发的难度也在不断地上升快速高效的软件开发已成为项目成败的关键之一。为了提高程序员的产品率开发工具的选择尤为重要因为开发工具的自动化程度可以大大减少程序员繁琐重复的工作使其集中关注他所面临的特定领域的问题。为此当前的IDE不可避地要向用户隐藏着大量的操作细节而这些细节包含了大量的有价值的技术。 四 工具及介绍:在对软件进行逆向工程时,不可避免地需要用到多种工具,工具的合理使用,可以加快调试速度,提高逆
3、向工程的效率。对于逆向工程的调试环节来说,没有动态调试器将使用的调试工作很难进行。可以看出,各种有效的工具在逆向工程中占据着相当重要的地位,有必要对它们的用法做一探讨。PE Explorer简介:PE Explorer是功能超强的可视化Delphi、C+、VB程序解析器,能快速对32位可执行程序进行反编译,并修改其中资源。功能极为强大的可视化汉化集成工具,可直接浏览、修改软件资源,包括菜单、对话框、字符串表等; 另外,还具备有 W32DASM 软件的反编译能力和PEditor 软件的 PE 文件头编辑功能,可以更容易的分析源代码,修复损坏了的资源,可以处理 PE 格式的文件如:EXE、DLL、
4、DRV、BPL、DPL、SYS、CPL、OCX、SCR 等 32 位可执行程序。该软件支持插件,你可以通过增加插件加强该软件的功能, 原公司在该工具中捆绑了 UPX 的脱壳插件、扫描器和反汇编器.,出口,进口和延迟导入表的功能,使您可以查看所有的可执行文件使用的外部功能,和其中包含的DLL或库的基础上进行分类的结果。 这里一个非常有用的功能是语法的Viewer,它显示功能的调用语法,它知道和可以让你扩大自己的定义的语法数据库。非常好用。Dumpbin是VC自带的二进制转储工具可以将PE/COFF文件以文字可读的方式显示出来。Microsoft COFF 二进制文件转储器 (DUMPBIN.EX
5、E) 显示有关通用对象文件格式 (COFF) 二进制文件的信息。可以使用 DUMPBIN 检查 COFF 对象文件、标准 COFF 对象库、可执行文件和动态链接库 (DLL)。具有提供此DLL中所输出的符号的清单的功能。LINK.exe 将通用对象文件格式 (COFF) 对象文件和库链接起来,以创建可执行 (.exe) 文件或动态链接库 (DLL)。 五 源程序notepad.cpp:notepad:notepad(QWidget *parent) : QMainWindow(parent), ui(new Ui:notepad) ui-setupUi(this); this-setWindo
6、wTitle(new file); QObject:connect(ui-NewFileaction, SIGNAL(triggered(), this, SLOT(NewFile(); QObject:connect(ui-OpenFileaction, SIGNAL(triggered(), this, SLOT(OpenFile(); QObject:connect(ui-SaveFileaction, SIGNAL(triggered(), this, SLOT(SaveFile(); QObject:connect(ui-SaveAsFileaction, SIGNAL(trigge
7、red(), this, SLOT(SaveAsFile(); QObject:connect(ui-Coloraction, SIGNAL(triggered(), this, SLOT(SetColor(); QObject:connect(ui-Fontaction, SIGNAL(triggered(), this, SLOT(SetFont(); QObject:connect(ui-Aboutaction, SIGNAL(triggered(), this, SLOT(About(); QObject:connect(ui-Helpaction, SIGNAL(triggered(
8、), this, SLOT(Help();notepad:notepad() delete ui;void notepad:changeEvent(QEvent *e) QMainWindow:changeEvent(e); switch (e-type() case QEvent:LanguageChange: ui-retranslateUi(this); break; default: break; void notepad:NewFile() this-setWindowTitle(new file); ui-Text-clear();void notepad:OpenFile() Q
9、String filename = QFileDialog:getOpenFileName ( this, get file,QDir:currentPath(), (*.*); if (!filename.isEmpty() QFile *file = new QFile; file-setFileName(filename); if (file-open(QIODevice:ReadOnly) = true) QTextStream in(file); ui-Text-setText(in.readAll(); this-setWindowTitle(filename); else QMe
10、ssageBox:information(this, ERROR Occurs, file not exist); file-close(); delete file; void notepad:SaveFile() QString filename = this-windowTitle();/ if (pare(new file) != 0) / QFile *file = new QFile; file-setFileName(filename); if (file-open(QIODevice:WriteOnly) = true) QTextStream out(file); outto
11、PlainText(); file-close(); delete file; else QMessageBox:information(this, ERROR Occurs, file open error); / void notepad:SaveAsFile() QString filename = QFileDialog:getSaveFileName ( this, save file,QDir:currentPath(); QFile *file = new QFile; file-setFileName(filename); if (file-open(QIODevice:Wri
12、teOnly) = true) QTextStream out(file); outtoPlainText(); file-close(); delete file; else QMessageBox:information(this, ERROR Occurs, file open error); void notepad:SetColor() QColor color = QColorDialog:getColor(Qt:white, this); if (color.isValid() = true) ui-Text-setTextColor(color); else QMessageB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子科技大学 逆向 工程 实验 报告 作业
限制150内