固然了,这个密码肯定不对,软件也提示了,那我们怎样办呢?这个时候就需要用到文章开始的分析工具了,x_dbg。我们先打开这个
我们可以看到,这个工具,整体跟od极其相似,所以我相信,会用od的人,对x_dbg来讲,肯定不是甚么问题。然后我们再用x_dbg打开.exe,固然了,打开方法有两种,1种是file里面f3,打开这个exe,也能够file里面alt+a,附加exe进程,两种方式对这个利用来讲,基本没甚么区分,好了,我们先打开这个exe,附加到这个x_dbg中来,会得到以下界面
熟习od的同学,肯定对这类界面相当熟习了吧,具体的我也不多说了,下面看看如何破解这个exe,还记得刚才我们输入了1个123456吗?exe会弹出1个提示框,上面提示了1句话,“Authentication .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个,由于x_dbg网上能查到的资料确切不多,我写了这个,希望以后有人用到这个分析软件时,提供1点点思路!
开源直观和熟悉的新用户界面类似C的表达式解析器DLL和EXE文件的全功能调试(TitanEngine)IDA般的侧边栏与跳跃箭头IDA样的指令令牌高亮(高亮寄存器等)存储器映射符号观线程视图内容敏感的注册查看完全可定制的配色方案动态识别模块和串进口重构集成(青蟹)快反汇编(BeaEngine)用户数据库(JSON)征求意见,标签,书签等。不断增长的API插件的支持可扩展的,可调试的脚本语言自动化多数据类型的内存转储基本调试符号(PDB)的支持动态堆栈视图内置汇编(XEDParse)查看你的补丁,并将它们保存到磁盘内置的十六进制编辑器查找内存模式
德甲直播