• 信息安全技术实验:软件的动态分析和破解


    一、实验目的

    1.了解动态分析软件基本功能;
    2.了解动态分析软件破解程序基本方法;
    3.熟悉 OllyDbg 使用。

    二、实验内容与设计思想

    本实验提供了一种破解程序的简单方法。针对不同的软件保护方法,会有很多更复杂分
    析方法,而这些都必须在熟悉OllyDbg使用的情况下才能实现。在实验过程中还要重点熟悉
    OllyDbg功能和使用。建议该实验课时为2个学时。

    三、实验使用环境

    Pentium Ⅲ、600 MHz 以上 CPU,128M 以上内存,10G 以上硬盘,安装 Windows XP 以上
    操作系统,动态分析软件 OllyDbg1.09 调试器。

    四、实验步骤和调试过程

    A.现代汉语词典软件的破解
    1.安装实验目录中的现代汉语词典软件。
    2.用工具软件PEid查找该软件的壳以及编程语言、入口等信息。然后进行脱壳处理。
    3. 执行OllyDbg.exe文件,在OllyDbg窗口上选择“文件(File)”|“打开(Open)”,
    输入调试的主程序。
    4.用OllyDbg查找在注册时出现的错误提示信息,根据提示信息查找关键Call和关键跳
    转指令的位置。
    5.单步执行查找内存中保存的注册码等信息。或对程序的指令代码进行修改;或用
    Keymake制作注册机。
    B.普通注册软件的破解
    对本目录中的Cycle,利用上述工具进行跟踪和破解。

    4.1方法一
    首先初次打开汉语词典,进行注册,无法成功
    在这里插入图片描述
    接着用PEid查找该软件的壳以及编程语言、入口等信息。进行脱壳处理
    在这里插入图片描述
    重启词典,此时仍然无法注册成功

    在这里插入图片描述

    接着打开OllyDbg软件,点击文件打开该应用(现代汉语词典),点击运行

    在这里插入图片描述

    点击插件,点击超级字串查找,点击查找ASCll,查找“注册失败”,结果如下图所示

    在这里插入图片描述

    点击设置断点,再次运行

    在这里插入图片描述

    得到下图所示ASCLL值
    在这里插入图片描述

    0018FBC4 00259840 ASCII “050”
    0018FBC8 0025AAD4 ASCII “73056354”
    0018FBCC 0025AB24 ASCII “36m5w125}f3989”
    0018FBD0 00259820 ASCII “050”
    0018FBD4 0025AB40 ASCII “836m5w125}f3989”
    0018FBD8 0025980C ASCII “123456”
    0018FBDC 002597FC ASCII “050”
    0018FBE0 002350D8 ASCII “123456”
    将这些值逐个代入,最终破解得到正确的注册码为:
    836m5w125}f3989
    在这里插入图片描述

    成功破解
    在这里插入图片描述

    4.2方法二
    与方法一同理,先查找“注册失败”,得到如下汇编语言代码
    在这里插入图片描述

    找到其所对应的“JNZ”代码,双击删除其中的“N”
    在这里插入图片描述

    复制到所有修改,接着保存文件,保存为Unpacked050
    在这里插入图片描述

    运行该软件
    在这里插入图片描述

    点击软件注册,输入任意的注册码都直接可以使用,破解成功
    在这里插入图片描述

    五、实验小结

    通过这次实验,对网络安全的重要性有了更进一步的了解,通过破解注册码意识到了软件也是有缺陷的,需要我们时刻做好软件的安全保护工作。在实验过程中也遇到过一些问题,但在后续的学习中通过互相讨论与通过互联网工具查询相关知识,不断的学习解决该问题,这为我们后续的信息安全技术的学习打下了很好的基础。
    
    • 1
  • 相关阅读:
    OpenAI 再放大招,ChatGPT 正式版 API 就是救世主尼奥,而我们都是愚蠢的人类
    打印剪刀手“耶”(V形)
    LeetCode54螺旋矩阵、59螺旋矩阵II【灵活】
    快速安装redis各种版本
    CAPL学习之路-DoIP相关函数
    hive-学习搜狗日志分析
    Element--生成不定列的表格
    恭喜你~遇到了最有趣的算法(二)
    【Unity3D】动画回调函数、动画事件、动画曲线
    Qt+ECharts开发笔记(五):ECharts的动态排序柱状图介绍、基础使用和Qt封装Demo
  • 原文地址:https://blog.csdn.net/qq_43605229/article/details/126804981