程序员人生 网站导航

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

栏目:互联网时间:2015-05-15 07:57:05

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

       首先是这个最简单的64位小程序,,首先打开这个exe,,我们会发现,这是1个叫输入密码的小利用,固然了,我们肯定不知道这个密码究竟是多少,那末好,我们就随意输入1个密码123456试试,

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


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


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


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


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


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


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


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



另外保存1个exe,这样,你不管输入甚么,都会提示正确了。目前破解算是完成了第1步。

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


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


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


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

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

对了,对应的x64_dbg和sample.exe的下载地址为:http://download.csdn.net/detail/hmc1985/8649337,大家自行下载玩哈

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐