论文部分内容阅读
随着软件应用领域的不断扩大,软件工程领域有意义和具有挑战性的一面不再仅仅是建立一个全新的软件系统,如何保护现有软件的安全和重构这些既有系统也成为软件工程的重要方向,软件逆向工程就是实现软件保护和重构既有系统的基础。软件逆向工程和再工程成为软件工程领域中的重要研究课题,具有重大的现实意义和经济价值。本文在参阅了国内外大量文献资料的基础上,结合作者的逆向工程经验,详细阐述了软件逆向工程中的多项关键技术,研究了运行在Win32平台的某款商用模拟考试系统。主要工作有:利用侦测工具PEID分析了该软件是否加壳和该软件的编程语言;借助IDA分析工具对该软件进行了静态分析,动态软件逆向分析工具OllyDbg进行了动态调试,分析出该软件的暴力破解位置,写出了文件补丁,成功实现了软件的暴力破解;分析文件完整性校验过程,分析了该软件机器码的生成过程及软件的注册过程,写出了注册机;最后利用软件再工程理论和二次开发技术对原系统增加了菜单,对软件功能进行了简单扩充。