目标代码混淆加壳关键技术的设计与分析

目标代码混淆加壳关键技术的设计与分析

论文摘要

软件是人类智慧的结晶,也是一种特殊商品。其核心技术若被破解,将是一种重大的损失,因此软件保护至关重要。加壳是一种最常用的软件保护方式,但一旦壳被脱掉,软件就无任何保护措施。针对这一问题,本文将目标代码混淆与加壳技术相结合,实现了一种脱壳后难修复的加壳技术,并对其中的关键问题进行了设计和分析。采用混合扫描算法最大限度的保证反汇编结果的正确性,并对反汇编结果进行扫描校验。如果反汇编代码块校验正确,则分析并记录转移指令信息。扫描完毕后输出记录的转移指令信息。采用一种不可逆的控制混淆方式对目标代码的转移指令进行修改,使转移指令执行时必须经过壳段,有效控制了转移指令的执行,也达到了防止反向追踪指令的目的。在读取转移指令信息(反汇编结果)之后,计算每条指令新的目的地址,并修改原程序,最后生成壳代码段中新的正确跳转指令(混淆数据)。将输出的混淆数据放入壳中,并对它和代码段进行压缩处理。既保护了混淆数据,又防止了静态反汇编分析。即使壳被脱掉,程序也不能正常运行。这种不可逆的跳转,使得脱壳后的程序很难修复,从而达到了保护软件的目的。本文最终实现了一个目标代码混淆型的防修复加壳系统。系统集成了反汇编、代码混淆、加壳和可执行文件(PE)信息对比功能。

论文目录

  • 摘要
  • Abstract
  • 图表目录
  • 第1章 引言
  • 1.1 研究背景
  • 1.2 国内外研究现状
  • 1.2.1 加壳技术
  • 1.2.2 代码混淆技术
  • 1.2.3 反汇编技术
  • 1.3 本文研究的主要内容
  • 1.4 本文结构安排
  • 第2章 软件保护与破解相关技术
  • 2.1 软件保护技术
  • 2.2 软件破解技术
  • 2.2.1 软件破解概述
  • 2.2.2 分析技术
  • 2.2.3 破解方式
  • 2.3 脱壳技术
  • 2.3.1 脱壳概述
  • 2.3.2 脱壳步骤
  • 2.3.3 脱壳方式
  • 2.4 反脱壳技术
  • 2.4.1 反-反汇编
  • 2.4.2 反调试
  • 2.4.3 反DUMP
  • 第3章 反汇编引擎设计与目标代码混淆
  • 3.1 反汇编技术
  • 3.1.1 反汇编的原理
  • 3.1.2 Intel指令格式分析
  • 3.1.3 反汇编扫描算法
  • 3.2 代码混淆技术
  • 3.2.1 代码混淆的原理
  • 3.2.2 代码混淆的分类
  • 3.2.3 代码混淆的性能指标
  • 3.3 设计框架
  • 3.3.1 反汇编框架
  • 3.3.2 不可逆控制混淆技术
  • 3.3.3 壳与代码的交互
  • 3.4 关键技术分析
  • 3.4.1 指令识别模块
  • 3.4.2 反汇编主函数
  • 3.4.3 指令转移控制
  • 3.4.4 转移指令表
  • 3.4.5 混淆数据计算与保护
  • 3.4.6 不可逆分析
  • 第4章 加壳的设计
  • 4.1 加壳技术
  • 4.1.1 PE文件格式
  • 4.1.2 加壳概述
  • 4.2 加壳系统框架
  • 4.3 关键技术分析
  • 4.3.1 代码段
  • 4.3.2 壳代码段
  • 4.3.3 附加数据
  • 4.3.4 文件输出
  • 第5章 系统实现与数据分析
  • 5.1 系统总体框架及实现
  • 5.2 界面设计
  • 5.3 系统运行测试
  • 5.4 实验数据对比
  • 5.4.1 PE信息对比
  • 5.4.2 反汇编分析对比
  • 5.5 防修复效果分析
  • 第6章 总结与展望
  • 6.1 本文工作总结
  • 6.2 进一步工作展望
  • 参考文献
  • 攻读硕士学位期间公开发表的论文
  • 致谢
  • 相关论文文献

    • [1].一种Linux平台下的可执行文件防篡改方法[J]. 杭州电子科技大学学报 2011(05)
    • [2].VFP中生成可执行文件的方法和技巧[J]. 电脑与电信 2018(03)
    • [3].基于可执行文件的数据安全隐密写入探究[J]. 湖南工业职业技术学院学报 2015(04)
    • [4].浅谈可执行文件格式发展历程[J]. 电子测试 2016(19)
    • [5].组合式软件接口技术的研究与应用[J]. 计算机与数字工程 2008(04)
    • [6].高效可执行文件后门隐写算法[J]. 计算机应用研究 2013(04)
    • [7].Windows环境下可执行文件操作痕迹分析方法[J]. 刑事技术 2013(04)
    • [8].Matlab在测量实习教学中的应用[J]. 测绘通报 2009(12)
    • [9].IOS APP安全杂谈[J]. 计算机与网络 2015(16)
    • [10].在Linux内核上实现Windows进程的研究[J]. 湖州师范学院学报 2008(02)
    • [11].安全互动[J]. 电脑迷 2010(10)
    • [12].找回Windows 7以兼容方式运行软件的选项[J]. 网络与信息 2009(12)
    • [13].JAVA生成可执行文件方式探索[J]. 今日科苑 2009(12)
    • [14].基于粒度抽取的ELF文件完整性校验方法[J]. 信息网络安全 2016(09)
    • [15].PE文件分析器的设计与实现[J]. 长沙航空职业技术学院学报 2012(02)
    • [16].新产品&新工具[J]. 程序员 2010(01)

    标签:;  ;  ;  ;  ;  

    目标代码混淆加壳关键技术的设计与分析
    下载Doc文档

    猜你喜欢