【Try to Hack】OllyDbg反汇编

📒博客主页:开心星人的博客主页
🔥系列专栏:Try to Hack
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2023年2月21日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

OD简介

OllyDbg是一款反汇编工具,一个新的动态追踪工具。它将IDA与SoftICE结合起来的思想,Ring 3 级的调试器,己代替SoftICE成为当今最为流行的调试解密工具了。同时还支持插件扩展功能,是目前最强大的调试工具。

相关基础知识

静态分析和动态调试:
静态分析技术是指破解者利用反汇编工具将二进制的可执行文件翻译成汇编代码,通过对代码的分析来破解软件;而动态调试则是指破解者利用调试器跟踪软件的运行,寻求破解的途径。

动态链接
动态链接,在可执行文件装载时或运行时,由操作系统的装载程序加载库。大多数操作系统将解析外部引用(比如库)作为加载过程的一部分。在这些系统上,可执行文件包含一个叫做import directory的表,该表的每一项包含一个库的名字。根据表中记录的名字,装载程序在硬盘上搜索需要的库,然后将其加载到内存中预先不确定的位置,之后根据加载库后确定的库的地址更新可执行程序。
可执行程序根据更新后的库信息调用库中的函数或引用库中的数据。这种类型的动态加载成为装载时加载 ,被包括Windows和Linux的大多数系统采用。操作系统在加载应用软件时要完成的最复杂的工作之一就是加载时链接。其他操作系统可能在运行时解析引用。在这些系统上,可执行程序调用操作系统API,将库的名字,函数在库中的编号和函数参数一同传递。
操作系统负责立即解析然后代表应用调用合适的函数。这种动态链接叫做运行时链接 。因为每个调用都会有系统开销,运行时链接要慢得多,对应用的性能有负面影响。现代操作系统已经很少使用运行时链接。可以动态链接的库,在Windows上是dynamic link library (DLL),在UNIX或Linux上是Shared Library。 库文件是预先编译链接好的可执行文件,存储在计算机的硬盘上。大多数情况下,同一时间多个应用可以使用一个库的同一份拷贝,操作系统不需要加载这个库的多个实例。

API
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

动态链接库DLL
(Dynamic Link Library 或者 Dynamic-link Library,缩写为 DLL),是微软公司在微软Windows操作系统中,实现共享函数库概念的一种方式(这些库函数的扩展名是 ”.dll"、“.ocx”(包含ActiveX控制的库)或者 “.drv”(旧式的系统驱动程序))。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。
函数的可执行代码位于一个 DLL 文件中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个 DLL 副本的内容。

OD下载

下载地址:http://www.ollydbg.de/
在这里插入图片描述
在这里插入图片描述

ollydbg快捷键

1、F7 单步步入。执行一行代码,遇到 CALL 等子程序时会进入其中,进入后首先会停留在子程序的第一条 指令上。

2、F8 单步步过。执行一行代码,遇到 CALL 等子程序不进入其代码。

3、F2 按F2在选中行设置断点,再次按 F2 删除断点。

4、F9 黑色表示当前程序运行到的位置,按F9运行调试程序,直到遇到断点停止运行。

5、查询所有字符串
在这里插入图片描述在这里插入图片描述

6、查询程序调用的函数
在这里插入图片描述
在这里插入图片描述

7、-减号键 返回到前一条指令处的话,只需要按一下减号键

8、查询函数在哪里被调用
在这里插入图片描述

9、保存更改的程序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

OllyDbg动态分析的基本流程

在这里插入图片描述

crackme

在这里插入图片描述
在这里插入图片描述
需要输入名称和序列号,随便输入一下

弹框
在这里插入图片描述
我们在ollydbg中找一下这个字符串
在这里插入图片描述
在这里插入图片描述
双击追踪即可
在这里插入图片描述
看到了两个函数,一个是成功破解,一个是失败破解的提示

追踪一下函数,看看在哪里调用了
在这里插入图片描述
在这里插入图片描述
接下来分析跳转逻辑,将JE更改为JMP,无条件跳转,即可跳转到破解成功的窗口

选中需要更改的汇编代码,然后按空格
在这里插入图片描述

按F9运行一下,随便输入序列号和名称,破解成功
在这里插入图片描述

保存更改的程序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

e春秋:Ollydbg动态反调试技术
https://blog.csdn.net/Eastmount/article/details/107777190

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: OllyDbg是一款功能强大的反汇编工具,用于分析和调试二进制文件。它广泛用于软件逆向工程、漏洞分析和恶意代码分析等领域。以下是一份关于OllyDbg反汇编从入门到精通的视频教程概述: 1. 入门篇:视频教程的第一部分将介绍OllyDbg的基本概念和操作步骤。首先,学习如何安装和配置OllyDbg。然后,了解如何加载目标二进制文件,并掌握如何设置断点、单步执行和检查寄存器的值。 2. 动态分析篇:在这个阶段,将深入研究OllyDbg的动态分析功能。学习如何在程序执行过程中跟踪程序的控制流和内存状态,以及如何使用条件断点和内存断点等高级调试技巧。 3. 静态分析篇:在这一部分,将介绍如何使用OllyDbg进行静态分析。学习如何查看程序的反汇编代码和内存映像,以及如何寻找和分析关键函数和漏洞。 4. 插件开发篇:OllyDbg支持插件的开发,可以扩展其功能。在这个阶段,将学习如何使用OllyDbg SDK开发自己的插件,并掌握一些重要的插件开发技巧和实例。 5. 实战案例篇:最后,将通过一些实际的案例学习如何应用OllyDbg进行软件逆向工程和恶意代码分析。这些案例将覆盖常见的软件保护机制、漏洞利用和逆向工程技术。 总之,这个视频教程将引导初学者从OllyDbg入门到精通。通过学习这些内容,您将掌握OllyDbg的基本操作和高级调试技巧,能够进行有效的静态分析和动态分析,并具备开发自己插件的能力。它将为软件逆向工程和恶意代码分析领域的学习者提供一个循序渐进、全面系统的学习资料。 ### 回答2: ollydbg反汇编从入门到精通是一套针对ollydbg调试工具的视频教程,通过学习这套教程,可以帮助初学者掌握ollydbg的基本操作和高级功能,从而在反汇编和逆向工程领域有所突破。 在这套教程中,会先介绍ollydbg的基本概念和使用方法,包括安装和配置ollydbg、打开文件、设置断点、执行调试等操作。然后,会详细讲解反汇编的相关知识,如如何将机器码转换为汇编代码、如何理解汇编代码的含义、如何查看和修改变量、如何跟踪程序的执行流程等等。 在学会了基础操作后,教程还会深入讲解一些高级功能和技巧,如如何处理程序的加密保护、如何通过动态调试寻找程序的漏洞、如何逆向工程探查程序的内部逻辑等等。通过这些内容的学习,学员将可以在实际应用中更加灵活地运用ollydbg进行反汇编和逆向工程工作。 除了视频教程,这套教程还提供一些实践项目和习题,帮助学员进行巩固和实践。学员可以通过解决这些项目和习题来提高自己的实际操作能力和解决问题的能力。 总之,ollydbg反汇编从入门到精通视频教程是一套全面而系统的学习资源,通过学习这套教程,可以帮助初学者逐步提高自己的反汇编和逆向工程能力,掌握ollydbg这个重要工具,并在实际工作中取得更好的成果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心星人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值