文章目录

  • 前言
  • 一、分析工具
  • 二、实验步骤记录
    • 1.看看破解软件长啥样!
    • 2.尝试进行破解吧!
  • 总结

前言

作者在复习软件安全这门课是所写


处于学习阶段,有什么错误,请各位大佬指正。

一、分析工具

OllyDbg,Visual C++ 6.0

二、实验步骤记录

1.看看破解软件长啥样!

(1)用OllyDbg打开DemoD_简版.exe

fig1.破解软件长得还挺酷的嘛
(2)点击运行按钮试一试吧

fig2.运行窗口好像不酷了
弹出运行窗口,观察到我们的攻击目标,找出验证序列号。
(3)常用的按钮有哪些:

—快乐老家按钮,回到最初的起点,误操作之后请按它。

—开始运行按钮,莽就完了,反正可以用快乐老家撤回。

F7执行单步执行。
F8按行执行,遇到函数的时候用这个很有效
就教四个吧,多的我也不会了。更多的知识菲菲子可以自行探索。

2.尝试进行破解吧!

(1)先使用快乐老家按钮,在反汇编区域内右键,选择中文搜索引擎->智能搜索。我们可以得到下图:
fig3.搜索结果,聚焦目标代码
(2)在合适的位置添加端点,之后点开始运行按钮。

fig4.仔细阅读汇编代码,看不懂的话可以右键**选择汇编(A)**查看更加详细的汇编指令

再次弹出运行结果的窗口,此时我们在序列号的位置,输入0000-0000-0000-0000,开始验证序列号,返回ODllyDbg。发现程序已经被顺利截断。

(3)开始一路F7,变按变关注寄存器的变化,菲菲加油!

分析汇编代码,我们可以看到EAX代表的是我们的输入,ECX是内存中的一个值。
注意:如果菲菲子仔细的话,应该已经发现了,ECX中的值不一定和我展示的一样,这是因为序列号是变化的。如果关闭应用,重启之后,序列号要重新寻找

【补充说明】
关键性代码:cmp eax,ecx 如果两者相同,则不会执行跳转指令;不同,则跳转。此时如果继续F7下去,直接会跳转到序列号错误。菲菲子可以大胆尝试一下。
内存地址展示区,右键->转到->表达式,输入要查看的地址。
这也代表着第一个序列号的值应该就是ecx中的值,此时为F8BE。

(4)举一反三,菲菲子可以自主进行序列号2、3、4的尝试

提示:每一次找到序列号之后,需要使用快乐老家按钮,回到开始;再点击运行,别忘了在序列号中输入已经确定的值哦

做出来了吗?做不出来吧。嘿嘿,不然我也不会破防了。
妙计1:点击验证序列号开始运行,而不是回车开始运行哦
妙计2:用过的端点用同样的方法去掉,可以跳过中间繁琐的函数调用过程哦
妙计3:使用F8运行,菲菲子有没有感觉被欺骗了呀hhh

炫耀一下我的图:


由于一些失误,序列号又改变了,我重做了一遍,第一个序列号是D620
、第二个序列号BCAD、第三个序列号CCAB

(5)突破难点第四个序列号
仔细阅读前三个序列号的汇编指令,不难发现其中的操作运算越来越复杂了,从开始的读一个内存的值,到向右移动,到两个内存的数值相加。
没有改变的是直接通过cmp的语句,我们可以直接找到对应的序列号结果,但第四个序列号不太一样,需要仔细分析上面的汇编代码。

分析mov eax,[local.86],将内存中esp-0x158的地址取了出来。
思考1、程序中取了别的地址的值,当做我们输入了?
很显然这个想法不对,那我们的输入就和答案无关了呀!
通过汇编代码查看,



读取的内存地址按顺序排布,没有问题!
思考2、程序内部对我们的输入进行了运算?
在附近的代码没有发现问题,究竟在哪里对内存中esp-0x158的值做了修改呢。

向上查看,我们可以看到这样一块可疑的代码,仔细阅读,分析含义:


代码含义是将19f288的一个字的内容,送到了19f278中,而19f278中的值就是我们输入的值。
貌似进行了简单的数值覆盖,接下来我们思考,19f288中的值是怎么来的呢?我们可以发现19f288其实等于[local.82],[local.82]=(eax+[local.78]) and 0xAFDA,其中eax的值
就是我们输入的第四个序列号,而[local.78]的值为D620,所以我们可以知道最后参与比较的表达式第一个序列号+第四个序列号的值,与上AFDA的值,等于25F7
由于A是1010,7是0111。所以此时无解。
做到这里就差不多可以了,我们已经知道方法了!

总结

复习了一个实验用了俩个小时,考试周我真浪啊

华中科技大学软件安全实验一【破解Demo简易】相关推荐

  1. 计算机网络实验华中科技大学,华中科技大学计算机网络实验报告.pdf

    华中科技大学计算机网络实验报告.pdf <计算机网络> 课程实验报告 姓名 院系 学号 南六楼 实验地点 实验时间 2013 年4 月21 日 计算机开放实验室 出勤.表现得分 实验报告 ...

  2. 华中科技大学微波实验报告2

    华中科技大学的第二个微波实验 一.实验项目 微波元件特性参数测量 二.实验目的 1.学习矢量利用矢量网络分析仪扫频测量微带谐振器Q值的方法: 2.学会使用矢量网络分析仪测量微波定向耦合器的特性参数: ...

  3. 华中科技大学微波实验报告1

    华中科技大学的第一个微波实验 实验项目 矢量网络分析仪的使用及传输线的测量 实验目的 1.学习矢量网络分析仪的基本工作原理: 2.初步掌握AV36580矢量网络分析仪的操作使用方法: 3.掌握使用矢量 ...

  4. 华中科技大学计算机网络实验_第四届江苏省计算机网络与云计算新技术研讨会在南京召开...

    第四届江苏省计算机网络与云计算新技术研讨会于2020年12月12日在南京喜马拉雅假日酒店成功召开,100多位来自全省产学研各界专家学者参加了本次会议.本次会议由江苏省计算机学会网络与分布计算专委会和云 ...

  5. 华中科技大学操作系统实验课 实验四

    一.实验目的 (1)理解设备是文件的概念. (2)掌握Linux模块.驱动的概念和编程流程 (3)Windows /Linux下掌握文件读写基本操作 二.实验内容 (1)编写一个Linux内核模块,并 ...

  6. 华科 计算机网络实验,华中科技大学计算机网络实验(二)报告.doc

    计算机网络课程实验报告 实验2:抗干扰编码 姓名 李蓝鑫 院系 自动化学院 学号 U201514280 实验地点 科技楼十二楼机房 实验时间 2018年5月3日 实验目的: 1. 了解抗干扰编码原理. ...

  7. 华中科技大学操作系统实验课 实验三

    一.实验目的 (1)理解页面淘汰算法原理,编写程序演示页面淘汰算法. (2)验证Linux虚拟地址转化为物理地址的机制 (3)理解和验证程序运行局部性的原理. (4)理解和验证缺页处理的流程. 二.实 ...

  8. 华科计算机电路理论实验报告,华中科技大学组成原理实验报告单周期MIPS CPU数据表示实验.docx...

    文档介绍: 专业:计算机科学与技术班级:CS1502学号U201414596姓名:卢振兴电话:**********邮件:476134013@数据表示实验 2设计要求 2方案设计 213 实验步骤 7故 ...

  9. c语言实验与课程设计 李开,华中科技大学C语言课程设计实验报告及源代码.doc...

    华中科技大学C语言课程设计实验报告及源代码 课 程 设 计 报 告 题目: 航班时刻表信息查询系统 课程名称: C语言程序设计 专业班级: 学 号: 姓 名: 指导教师: 报告日期: 计算机科学与技术 ...

最新文章

  1. 7软件质量与测试规范
  2. 阿里平头哥首款CPU芯片发布!5nm倚天710,128核单片600亿晶体管,无人能与争锋...
  3. Linux常用命令——压缩与解压缩命令
  4. 3,SQL语句及数据库优化
  5. linux显示存储与标定不符,找到了linux分区顺序错乱修复方法
  6. django中collectstatic的使用(亲测)
  7. 人类一败涂地做图教程_《人类一败涂地》形象绘画技巧图文指南
  8. Sparklens:Spark应用程序优化工具
  9. shell中的expect命令
  10. 可变模糊集理论matlab程序,可变模糊集理论的哲学基础
  11. oracle查参数,各种oracle参数查询语句
  12. 高频小信号谐振放大器的matlab仿真,高频小信号谐振放大器的MATLAB仿真
  13. idear配置工具上传Jar包到服务器并运行
  14. 域名遭到劫持怎么办?
  15. 七种策略助企业成功转型数字化
  16. c语言实现逻辑谓词编程,头脑风暴-逻辑编程语言Prolog(01)
  17. 试客行销盛行国内试客族突破300万
  18. ssis ssrs mysql_【软件】SSIS vs SSAS vs SSRS
  19. html模板引擎的作用,如何用javascript实现一个模板引擎
  20. CTF比赛中常见的MISC解题方法

热门文章

  1. 详解W形状的栅栏密码
  2. 电脑w ndows系统设置,电脑技术_20招Wndows XP操作系统注册表优化技巧.doc
  3. 红青3D立体图像的原理
  4. Google面试题之100层仍两个棋子
  5. 神经网络软件系统应用,神经网络软件有哪些
  6. 银行数字化转型导师坚鹏:金融科技与银行转型
  7. 家庭相片管理策略(家庭相片管理工具之二)
  8. 2003.3.30 晚笔
  9. APP界面设计之页面布局的22条基本原则
  10. 格物钛数据平台国内外经典开源数据汇总(自动驾驶、目标检测、人脸识别、人体姿态估计、文本检测、NLP、医疗)