闪电下载吧 最新软件 免费软件 绿色软件

网络资源 软件专题

您的位置:闪电下载吧_绿色免费软件下载网站 > 网络资源 > 软件教程 > 如何破解软件 如何成功破解有登录账号和密码,不正确的话没有任何提示的软件

如何破解软件 如何成功破解有登录账号和密码,不正确的话没有任何提示的软件

软件教程 发布日期:2021-01-28  浏览: 次 网友评论
ollydbg(od吾爱破解专用版)+118款脱壳脚本 中文绿色版
  • 授权:共享软件
  • 类型:国产软件
  • 语言:简体中文
  • 大小:未知
  • 日期:2021-01-27
  • 环境:Win2003WinXPWi...
软件破解时会遇到的一种软件就是有登录账号和密码,而且登录后找不到错误提示,那么这种类型的软件要怎么破解呢,用OD分析,很轻松的查到“失败”或者“成功”这样的验证后结果的字符串的话,软件就会不安全,软件作者就会让别人用OD的字符串搜索引擎找不到关键字符串。所以就只能放弃了?不,今天来看一下操作方法!

1、准备好三个破解工具,
PEiD:https://www.sdbeta.com/taisdbeta/soft_edit.php
DIE:https://www.sdbeta.com/wg/2014/1016/23288.html
ollydbg:https://www.sdbeta.com/wg/2013/0417/14276.html
2、我们可以把找不到错误提示信息的软件分为两大类。
第一类是当我们点登陆后,我们明明看到错误提示,但是在OD里就是搜不到。
第二类是当我们点登陆后,没有任何提示,所谓“这里的黎明静悄悄”。
相比之下,第二类应该比第一类更难。
我们先分析第一类。首先思考一下,为什么软件在运行时明明有错误提示,但是我们的OD会看不到。我们刚才说了,这是因为编写软件者在编写读取关键字符串的代码上做了手脚,导致我们用OD搜不到。至于做了手脚,我们不用管它,现在摆在我们面前的就是一个现实——搜不到字符串,我们找不到破解的突破口。
现在我们用OD打开CM(有错误提示,OD搜不到)这个软件,然后你登录后,用搜索引擎进行搜索,找不到错误提示的字符串,见下图:

即使F9运行程序,转到00401000处,再搜,还是搜不到。
怎么办呢?
一种办法就是既然有提示字符串,我们就继续换方法搜。
我们现在用鼠标按一下下图中蓝色方框内的“M”按钮,M代表程序的内存空间。

然后我们按住红色箭头指的滑块拉到最上面。然后我们在这个页面鼠标右键选择“搜索”菜单,会出现下图:

然后在红色箭头指的位置,就是ASCII后面的方框内输入“登录失败”,点确定按钮,就会出现下图:
在红色方框内,我们终于看到了梦中的情人“登录失败”。我们用记事本记一下“登录失败”这一行的地址00481DAF。
然后我们按一下OD页面上方的“C”按钮,见下图:

按完以后,我们就回到了最初的OD显示的代码窗口页面,“C”按钮代表CPU,因为我们的代码窗口也叫做CPU窗口。你再看看,在“C”旁边还有几个英文字符的按钮,这是OD给我们提供的快速在不同页面转换的按钮,比如你按一下“B”按钮,就会出现我们已经下过的所有断点,B就叫做断点窗口。
我们继续,按完“C”以后,你的OD可能会变成这样,见下图:

不是你刚打开OD的样子,你现在只需要在红色方框内也就是代码窗口内鼠标双击一下,就正常了。

然后你就在数据窗口用CTRL+G,然后在红色箭头位置输入我们刚才记下的地址00481BAF,点确定。来到下图:

然后你在红色箭头指的位置,也就是00481BAF右边的数据上用鼠标左键选中第一行,就是紫色部分,然后点鼠标右键选择“断点”菜单中的“内存访问”,这样我们就在00481BAF这个地址下了一个“内存断点”,这个断点的意思就是当我们的程序在执行过程中读取这个地址中的数据,程序就会暂停。我们想一想,00481BAF这个地址里存放的数据不就是“登录失败”字符串吗?我们的目的就是当程序执行中只要读取“登录失败”字符串就会暂停下来,此刻程序停留的位置就接近关键代码了。
好,我们继续,下完“内存断点”后,我们按F9让程序运行起来,然后输入登录账号和密码,点登陆,OD会立刻停下来,见下图:

红色箭头显示“暂停”,错误提示的信息框也没有出现,说明我们在程序读取存放“登录失败”的地址00481BAF的那一刻暂停了,因为读取以后才会把“登录失败”字符串显示在信息框里,所以此时信息框无法显示,换句话说,我们现在代码停留的位置应该是在验证CALL执行完和验证结果(错误信息框出现)之间。
接下来,我们首先要干的事情,就是在绿色箭头指的位置(也就是我们刚才下内存断点的位置)鼠标右键,选择里面的“删除内存断点”菜单,因为我们已经断下来了,不需要了,然后按F8一句一句代码往下跟,不用做任何修改,返回上一层CALL,不同的编写语言以及作者编写代码的不同会导致返回的次数不同,我们这个软件返回了三层,所谓返回三层就是遇到了三次RETN,RETN后就会返回到上一级调用处。见下图:

返回三次后,我们的代码会执行到0040137A,这个时候就是关键位置了,你看上面有一个大跳转JMP可以跳过我们的停留位置,这就非常可疑了,在JMP下面还有一个跳转能够跳过来,我们可以猜测一下,如果JMP下面的跳转不实现,那么JMP就可以跳过我们现在的代码,而我们此刻的代码就是根据“登录失败”这个错误信息跟过来的,那么也就是说JMP很可能就会跳过“登录失败”这个错误信息,我们不就成功破解了吗?
我们先别着急,再看一下红色方框里的CALL,也就是我们代码停留的位置的上一句,这个CALL的作用是什么呢?呵呵,这个CALL的作用就是读取出我们的“登录失败”字符串。
我们再往下看绿色方框里的CALL,这个CALL的作用是什么呢?这个CALL的作用就是弹出登录失败这个信息框。
我们继续看,在红色方框内的CALL下面是不是有一个EAX,EAX的作用还记得吗?对,它里面存放的是上面CALL的返回值,也就是说此时的EAX里面存放着“登录失败”这个字符串,然后通过语句MOV[LOCAL.1],EAX,把EAX的值转移到一个内存地址里以后使用。
现在你的脑子里对整个破解流程是不是变的更清晰些了?
下面的工作,就是把能够跳到JMP下面的那个跳转改成NOP,你就成功了,快试试看吧!
除了这个用内存断点搜字符串的方法,我们还可以怎么做呢?
我们这个软件,虽然常用的方法搜不到字符串,但是会有错误的提示框,那么我们就可以对MessageBoxA函数下断点进行破解。
再如果,我们的软件没有弹出错误信息框,我们又该怎么办?
CM(有错误提示,OD搜不到):http://down2.sdbeta.com/soft1/CM.rar

本文地址:https://www.sdbeta.com/article/2021/0128/237835.html
《如何破解软件 如何成功破解有登录账号和密码,不正确的话没有任何提示的软件》由闪电下载吧整理并发布,欢迎转载!

关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 网站标签-香港服务器 -群英
有任何意见或者建议请联系邮箱:858898909[at]qq.com 本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!
Copyright © 2012 SDBETA.com. All Rights Reserved 豫ICP备12021367号 豫公网安备 41019702002546号闪电下载吧