=波波日志 > 黑客技术 > 手动破解迅闪还原=

[转]手动破解迅闪还原

去网吧上网,好不容易下载了半天的东西,可让我一不小心把电脑的电源给踢了,因为网吧的机子是装了还原的,重启之后就什么都没了,我气啊,今天不把你破了,我就不叫monster。
首先看看是什么还原系统,可是查了半天也没查出来。无意之中打开了他的游戏目录,发现了一个叫RecoverSetup.exe的东西,打开一看,原来是迅闪还原3.0,如图1。


要密码验证以后才可以进行管理,可是我不知道密码啊,上baidu查了一下,有很多人说可以直接用OD破的,可是我按照他们说的方法试了一下,更本就不成功,还是我自己来破解吧。
首先打开PEID来查看一下,如图2,是Borland Delphi 6.0 - 7.0写的,很好,没加壳,就不用我们去脱壳了。


我们来看一下他的错误提示,随便输入一个密码,弹出了一个窗口提示说“密码错误,登陆失败”,如图3。


打开OD加载进来,点击鼠标右键“Ultra String Reference”→“Find ASCII”来打开字符串查找功能,可是在打开的窗口中并没有找到我们需要找的字符串,如图4。


难道是它调用了一个外部的动态链接库?但事实证明不是这样,我又打开了winhex再次搜索了一下“密码错误,登陆失败”这个字符串,没想到居然找到了,如图5。


我们记下这里的文件偏移,是0008F4C8,我们用偏移量转换器OC转换一下,得到了它的内存地址,是004900C8,如图6。


现在就好办了,打开OD把RecoverSetup.exe重新加载进来,加载了之后OD会自动把光标定位到程序的入口点,我们不需要在程序入口修改,只需要在我们刚才记下的地址修改就可以了。我们按下Ctrl+G后就会弹出一个对话框,在这里输入我们刚才得到的内存地址,就可以跳转到004900C8,如图7。


找到之后,我们都知道,这个位置是迅闪还原提示密码错误的地址,那么沿着这里的代码一直往上就会找到一个比较密码的语句,用鼠标拖着滚动条慢慢往上,慢点拖,拖快了就飞了,啥都看不见了。哈哈,终于找到了,就在这里,是0048FFED,如图8.


看看附近的代码:
0048FFE2 .8B83 64030000    mov   eax,dword ptr [ebp+364]
0048FFE8 .8B10             mov   edx,dword ptr [eax]
0048FFEA .FF52 50          call   dword ptr [edx+50]
0048FFED .84C0             test   al,al
0048FFEF .0F85 A3000000    jnz   Recovers.00490098
0048FFF5 .A1 10484900       mov   eax,edx,dword ptr [494810]
0048FFFA .8B00             mov   eax,dword ptr [eax]
这段代码是什么意思呢,test   al,al是测试指令,和and差不多,但是test指令不对目的操作数进行赋值,只对标志寄存器Flags进行设置。他的作用就是比较用户输入的密码和原密码,下面的jnz是跳转语句,意思是当输入的密码和原密码不相等是跳转到00490098。我们在jnz   Recovers.00490098这一句上按回车,然后出来个框,把里面的jnz直接改成jmp就可以了,然后别的不用改,点“汇编”按纽,然后点取消,就改好了。意思就是无论密码是否等于原密码不会提示“密码错误,登陆失败”。
改好之后就是保存了,在OD窗口里点右键,然后选择“复制到可执行文件
”→“所有修改”→“全部复制”,就会弹出来个窗口,在窗口里点击鼠标右键,选择“保存文件”选择迅闪还原的原目录把我们修改后的文件保存下来。
试着运行一下我们修改后的文件,可以看到运行后不需要我们输入密码就可以设置迅闪了,如图9,哈哈,破解成功了。

附件




信息来源:邪恶八进制信息安全团队(www.eviloctal.com
文章作者:monsterok(monster)

类别:黑客技术 作者:转载 日期:2009-09-01 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012WEB编程网桂ICP备05005887号 京公网安备1101055090