dbg破解一个最简单的64位小程序

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

首先是这个最简单的64位小程序,

,首先打开这个exe,

,我们会发现,这是一个叫输入密码的小应用,当然了,我们肯定不知道这个密码到底是多少,那么好,我们就随便输入一个密码123456试试,

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

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

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

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

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

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

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

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

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

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

就是去做你害怕的事,直到你获得成功的经验。

dbg破解一个最简单的64位小程序

相关文章:

你感兴趣的文章:

标签云: