二进制破解科普系列之TraceMe

admin 2021年8月31日14:26:02评论137 views字数 1589阅读5分17秒阅读模式

零、前言

来自whitecell-club的Wens0n同学将在接下来的日子里给大家带来二进制破解科普系列教程。本教程面向新手爱好者,欢迎大家探讨、建议,大牛轻喷。

 

壹、准备工作

学习这个系列,我们首先需要科普一下ollydbg这个工具。ollydbg主线程窗口:

二进制破解科普系列之TraceMe
 

1. 汇编代码对应的地址窗口

2. 汇编代码对应的十六进制机器码窗口

3. 反汇编窗口

4. 反汇编代码对应的注释信息窗口

5. 寄存器信息窗口

6. 当前执行到的反汇编代码的信息窗口

7~9. 数据所在的内存地址,十六进制,ASCII码

10~12.栈地址,存放的数据,对应说明信息

 

OD基本快捷键及功能:

F2 下断点,也就是指定断点的地址

F3 加载一个可执行程序,进行调试分析

F4 程序执行到光标处

F5 缩小、还原当前窗口

F7 单步步入

F8 单步步过

F9 直接运行程序,遇到断点处,程序暂停

Ctrl+F2 重新运行程序到起始处,一般用于重新调试程序

Ctrl+F9 执行到函数返回处,用于跳出函数实现

Alt+F9 执行到用户代码处,用于快速跳出系统函数

Ctrl+G 输入十六进制地址,快速定位到该地址处

 

贰、破解TraceMe

本次试验我们将尝试对TraceMe这个程序的序列号进行破解,TraceMe序列号验证程序流程图:

二进制破解科普系列之TraceMe


1. 打开程序加载在ollydbg,如下图。

二进制破解科普系列之TraceMe


通常系统在调用的是时候都需要通过调用api接口的。Windows的输入文本框的常见有,GetDlgItemTextA(A:accii)GetDlgItemTextW(w:unicol 的编码)

GetWindowTextA和GetWindowTextW

知道调用了之后,那我们通过搜索程序,搜索关键字,通过ctrl+G搜素GetDlgItemTextA来找到断点。

二进制破解科普系列之TraceMe


按下F2设置断点。

再按下ctrl+b查看设置的断点。

二进制破解科普系列之TraceMe

然后按下F9走到断点来。然后弹窗,输入内容。按下F7单步步入。

二进制破解科普系列之TraceMe


通过按下F7进入里面,调用他、

如下图:

二进制破解科普系列之TraceMe

然后按下F8单步步过,可以看到,也可以按下ctal+f9

二进制破解科普系列之TraceMe


也可以通过搜索按下ctrl+g查看

二进制破解科普系列之TraceMe

那我们继续走,看回显的信息。

二进制破解科普系列之TraceMe

可以发现led 存的是edx,然后通过push edx 可以存用户名的值。

也可以看到edx 等于00000006,6代表了用户的长度6位数。通过push edx

我们继续走,按下F8 查看。

二进制破解科普系列之TraceMe

通过观察可以看出edx是eax是我们存放密码的地址,通过push edx可以看到。

通过push eax,edx,ebx对用的密码,用户名,长度。


我们在这里是通过暴力破解,我们这里就不走进去call里面,因为暴力破解只需要判断他的返回值就可以咯。


我们继续用f8走,走到text可以看到eax,  任何函数在汇编中返回值都存放在eax,在编译性语言都会转化汇编再转化机器代码。

二进制破解科普系列之TraceMe


然后我们继续F8走,我们发现je和test的返回值不一样。 1代表的是标注位寄存器。

二进制破解科普系列之TraceMe

通过双击让1->0 让1变成0、可以看到结果。

二进制破解科普系列之TraceMe


然后继续F8走。看有什么结果。

爆破成功咯!关键点是我们把1改为0这里,在这里可以下一个断点。

二进制破解科普系列之TraceMe


其实在1改为的是说跳转已实现,如果是0的话,跳转未实现。

二进制破解科普系列之TraceMe

如果我们不想让他跳转到的话,有2种方法:

1.对eax的值进行改变。 2.把判断去掉,我们可以通过空格,或者改为NOP,取消填充

二进制破解科普系列之TraceMe

既然我们都通过暴力破解之后,我们之后保存程序呢。

通过复制可以执行文件->选择。

二进制破解科普系列之TraceMe

然后右键-》保存数据到文件

二进制破解科普系列之TraceMe


如果被加壳的话,就无法正常运行。那我们接下来继续运行我们保存的文件。

二进制破解科普系列之TraceMe


原本的程序,我们这样运行是不成功的,只能通过我们爆破的文件运行,才能成功的破解。


实验TraceMe程序下载地址:http://pan.baidu.com/s/1bfpNFC

提取密码:pykb


本文作者:whitecell-club Wens0n

文章欢迎转载,转载请保留作者与出处


二进制破解科普系列之TraceMe


本文始发于微信公众号(WhiteCellClub):二进制破解科普系列之TraceMe

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年8月31日14:26:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   二进制破解科普系列之TraceMehttp://cn-sec.com/archives/490302.html

发表评论

匿名网友 填写信息