【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-CrackMe1

举报
剑豪 发表于 2023/06/25 22:20:54 2023/06/25
【摘要】 OllyDbg是一款Windows平台下的32位汇编语言调试器,具有反汇编、单步执行、断点调试、内存分析等功能。常用于软件逆向工程、漏洞分析等方面。

前言

OllyDbg是一款Windows平台下的32位汇编语言调试器,具有反汇编、单步执行、断点调试、内存分析等功能。常用于软件逆向工程、漏洞分析等方面。

其具体功能包括:

  1. 反汇编和调试:对可执行文件进行反汇编并可以在其中设置断点,以方便调试和分析。

  2. 动态调试:可以动态地修改软件的内存和寄存器值,以修改软件的执行流程,达到对软件的修改目的。

  3. 插件支持:OllyDbg支持插件,可以扩展其功能。

  4. 内存查看:可以查看软件运行时的内存状态,并可以修改和搜索内存中的值。

  5. 寄存器查看:可以查看和修改CPU寄存器的状态。

  6. 可视化调试:可以使用多窗口界面,更加方便地查看程序执行状态和内存状态。

基本使用方法如下:

  1. 打开OllyDbg软件,并将需要调试的程序拖进软件中。

  2. 在OllyDbg中设置断点,并运行程序。

  3. 当程序执行到断点处时,会自动暂停。

  4. 可以查看程序运行时的内存状态、寄存器状态等。

  5. 可以修改内存值、寄存器值等,以修改程序的执行流程。

  6. 通过单步执行等方式,逐步调试程序,直至达到预期效果为止。

OllyDbg是一个基于反汇编的调试器,它可以将二进制代码反汇编为汇编代码,并提供给用户进行分析和调试。以下是一些常见的反汇编函数:

  1. MOV - 将数据从一个寄存器、内存或立即数移动到另一个寄存器或内存中。

  2. ADD - 将两个值相加并将结果存储在目标寄存器或内存中。

  3. SUB - 将第二个值从第一个值中减去,并将结果存储在目标寄存器或内存中。

  4. PUSH - 将值压入堆栈中。

  5. POP - 将堆栈中的值弹出并存储到寄存器或内存中。

  6. CALL - 调用一个函数并将程序控制转移到该函数中。

  7. RET - 从函数中返回,并将程序控制转移到调用该函数之后的指令。

  8. CMP - 将两个值进行比较并设置标志寄存器中的相应位。

  9. JMP - 将程序控制转移到另一个位置。

  10. XOR - 对两个值进行异或操作并将结果存储在目标寄存器或内存中。

以上是仅仅是一些常见的反汇编函数,实际上还有很多其他的反汇编函数。熟悉这些函数,有助于我们分析反汇编代码并进行调试。

一、CrackMe1

1.打开题目

在这里插入图片描述

2.解题

将程序拉入OllyDbg,右键搜索字符串

在这里插入图片描述 看到授权失败的字样 在这里插入图片描述 双击,在上面的位置下个断点,运行程序,随便输入内容,在右侧看到flag 在这里插入图片描述 flag为:CFF{FLAG:M_M~~Zzz...KO!}

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。