情境 8 : DOS 下应用 软件分析技术破解密码
情境 8 : DOS 下应用 软件分析技术破解密码. http://www.zjjy.com.cn:88/xgx/kc/jsjjmjm/index.asp. 重点、难点. 重点掌握: 汇编的测试指令、比较指令和转移指令 Debug 命令 D 、 G 、 T 、 U 、 Q 等命令 难点: 断点的设置 判断模块的调用关系. 预备知识. 软件分析技术 软件的破解技术与保护技术这两者之间本身就是矛与盾的关系 静态反汇编 W32DASM 、 IDA 和 HIEW 动态跟踪分析 对软件进行粗跟踪 对关键部分进行细跟踪. 操作过程与要点.
情境 8 : DOS 下应用 软件分析技术破解密码
E N D
Presentation Transcript
情境8:DOS下应用软件分析技术破解密码 http://www.zjjy.com.cn:88/xgx/kc/jsjjmjm/index.asp
重点、难点 • 重点掌握: • 汇编的测试指令、比较指令和转移指令 • Debug命令 D、G、T、U、Q等命令 • 难点: • 断点的设置 • 判断模块的调用关系 计算机信息加密与解密
预备知识 • 软件分析技术 • 软件的破解技术与保护技术这两者之间本身就是矛与盾的关系 • 静态反汇编 • W32DASM、IDA和HIEW • 动态跟踪分析 • 对软件进行粗跟踪 • 对关键部分进行细跟踪 计算机信息加密与解密
操作过程与要点 • 80x86汇编命令简介 • AND 操作数1,操作数2 [将操作数2的值与操作数1的值做AND运算,结果存回操作数1] • TEST操作数1,操作数2 [与AND运算一样,但结果不存回操作数1] • CMP 操作数1,操作数2 [操作数1―操作数2,结果存于标志位之中] • JMP 操作数 [转移到操作数指定的位置执行程序] • Jcc 操作数 [依条件cc的值的真或假转移到操作数指定的位置执行程序] • CALL 操作数 [转移到以操作数指定的子程序开始的位置执行程序,当遇到RET语句返回到CALL语句的下一条指令执行] • LOOP 操作数 [当CX(计数寄存器)不为零,转到操作数指定的位置执行程序] 计算机信息加密与解密
操作过程与要点 • Debug 命令简介 • U [地址] [反汇编命令,从“地址”开始,反汇编32个字节] • D [地址] [从“地址”开始,显示80个字节的内容] • T [地址] [值] [从“地址”开始,执行“值”条指令,值为0时执行1条] • G [地址1] [地址2] [从“地址1”开始执行,到“地址2”为止。当只有“地址1”时,从当前地址执行到“地址1”] • Q [退出debug程序] 计算机信息加密与解密
操作过程与要点 • “超级无敌硬盘加密锁”的破解 • 确定了密码处理模块应该在 0091到00ff之间 • 我们转到0120处查看(键入U 120命令),再次键入U命令 • 子程序 0149 • 子程序 0158 • 子程序 015C位于0158的子程序调用语句:CALL 0373调用的是密码处理模块 • 0373开始处是密码处理子程序 计算机信息加密与解密
操作过程与要点 • 键入 G38B、G392、G39D、G3A7,四个子程序依次是:清屏、显示提示信息Pleas input the password:、接收一个字符且显示“*”号,都不是密码处理语句 • 从03B2开始,连续8个比较语句: • CMP BYTE PIR [BP-0A],38 • 该段程序是内存中的8个字(从[BP-0A]到[BP-03])与字符“8”比较,如有一个不相等则显示密码错误(在0AC7处),所以该程序的密码为“88888888”。 计算机信息加密与解密