欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

利用x64_dbg破解一个最简单的64位小程序图文教程

程序员文章站 2022-07-07 13:54:45
利用x64_dbg破解一个最简单的64位小程序图文教程网上对于这款软件的介绍很少,只是说能分析64位应用,具体用法也找不到,不过我找到了它的一个教程,里面有一个最简单的64位应用,但网上是用英文介绍的,对于一些英文不好的同学来说... 18-05-21...

x64_dbg 是 windows 下的 32/64 位调试器,类似 ollydbg。x64 dbg 采用 qt 平台编写,官方包含简体中文语言。熟悉 ollydbg 调试工具的应该很容易上手。x64 dbg 整体前景比较乐观,功能有待更强。

最近在研究学习一些逆向的东西,其实之前也涉及到这方面的东西,只是之前的系统和应用,基本上都是32位的,所以直接用od来分析就行了,这方面的资料在网上很多,随便一搜到处都是,不过随着技术的不断发展,64位系统出现了,随之64位的应用也出现了,而od只能分析32位应用,所以一些64位应用,od是没办法分析逆向的,所以,在这里要提到另一个可以用于分析64位应用的调试软件,名字叫x64_dbg。网上对于这款软件的介绍很少,只是说能分析64位应用,具体用法也找不到,不过我找到了它的一个教程,里面有一个最简单的64位应用,但网上是用英文介绍的,对于一些英文不好的同学来说,看起来可能比较费力,我就大概说说我自己的一个分析过程,供大家学习!对了,先提醒一下哈,我现在还是在这方面的一个极度小白,说的不好或者不对的地方,请各位及时提出来哈!

首先是这个最简单的64位小程序,利用x64_dbg破解一个最简单的64位小程序图文教程,首先打开这个exe,利用x64_dbg破解一个最简单的64位小程序图文教程,我们会发现,这是一个叫输入密码的小应用,当然了,我们肯定不知道这个密码到底是多少,那么好,我们就随便输入一个密码123456试试,

利用x64_dbg破解一个最简单的64位小程序图文教程

当然了,这个密码肯定不对,软件也提示了,那我们怎么办呢?这个时候就需要用到文章开始的分析工具了,x64_dbg。我们先打开这个

利用x64_dbg破解一个最简单的64位小程序图文教程
 

我们可以看到,这个工具,整体跟od极为相似,所以我相信,会用od的人,对于x64_dbg来说,肯定不是什么问题。然后我们再用x64_dbg打开simple.exe,当然了,打开方法有两种,一种是file里面f3,打开这个exe,也可以file里面alt+a,附加exe进程,两种方式对于这个应用来说,基本没什么区别,好了,我们先打开这个exe,附加到这个x64_dbg中来,会得到如下界面

利用x64_dbg破解一个最简单的64位小程序图文教程
 

熟悉od的同学,肯定对这种界面相当熟悉了吧,具体的我也不多说了,下面看看如何破解这个exe,还记得刚才我们输入了一个123456吗?exe会弹出一个提示框,上面提示了一句话,“authentication failed.invalid password”,那好,就从这句话入手,在cpu界面,点击右键,选择搜索字符串

利用x64_dbg破解一个最简单的64位小程序图文教程
 

搜索这句话,就能得到以下的东西

利用x64_dbg破解一个最简单的64位小程序图文教程
 

那好,我们点击进去看看是什么?

利用x64_dbg破解一个最简单的64位小程序图文教程
 

会od的朋友,看到这里,应该就比较明白了,中间有一个jnz跳转,然后再弹出的这句话,我们可以猜想一下,应该是密码输入不正确,就导致了这个跳转,先来点简单的,要如何不让程序跳转呢?最简单的方法,现在是跳转的0x59ea68,其实下一个地址是0x59ea5a,我们先把跳转地址改成跳转到下一行吧,首先,在0x59ea58这行按f2下一个断点,然后在应用里面输入123456,看会不会在这里断下来

利用x64_dbg破解一个最简单的64位小程序图文教程
 

很好,断下来了,我们再将地址改成如图所示,点ok,再运行,很好,已经提示正确了

利用x64_dbg破解一个最简单的64位小程序图文教程
 

如果我们要保存修改过的exe,如何保存呢?上面有一个

利用x64_dbg破解一个最简单的64位小程序图文教程
 

利用x64_dbg破解一个最简单的64位小程序图文教程
 

另外保存一个exe,这样,你无论输入什么,都会提示正确了。目前破解算是完成了第一步。

然后我们再看看第二步,怎么才能得到正确的密码呢?其实这个才是我们破解一个应用比较关键的问题,有些应用,我们可能不会给它打补丁,只需要了解了他内部的东西,直接就可以破解了,我们再重新来看看跳转前,有一句,lea rdx, qword ptr ds:[59eaf8],执行完后,再来跳转的,看来这个应该是比较,那我们dump一个0x59eaf8的值,看看是什么

利用x64_dbg破解一个最简单的64位小程序图文教程利用x64_dbg破解一个最简单的64位小程序图文教程
 

看到这个,这么长一段字符,编程的同学,应该都能猜到,这个应该是md5,那我们看看这个md5能不能解密呢?虽然说md5是不可逆的,但如果有字典,有些还是可以,那我们来试试,先拷出这段字符串10db8e415b857a61e18ef5d4db8e4f38,上网解密试试

利用x64_dbg破解一个最简单的64位小程序图文教程
 

没想到真的解开了,看来密码可能是这个,我们来试试

利用x64_dbg破解一个最简单的64位小程序图文教程
 

果然,密码真的是这个,到此,这个sample.exe的分析到此也结束了。

小结:这个exe本身是一个非常非常简单的应用,所以分析也十分简单,所以大家不要笑我哈,后面碰到的应用,肯定比这个复杂不止十倍以上,所以大家在分析的时候,要根据应用本身的情况来分析,我写这个教程的目的,还有一个,因为x64_dbg网上能查到的资料确实不多,我写了这个,希望以后有人用到这个分析软件时,提供一点点思路!

相关标签: x64_dbg