吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14535|回复: 41
收起左侧

[原创] Restorator 2018 绕过注册破解(新手练习&试水)

  [复制链接]
scschao 发表于 2019-11-21 01:57
Restorator 2018 发布很久了,网上也有破解的以及直接用license key破解的。我试着破解这个纯粹是为了个人练习。
另外本人新人小白,第一次尝试正经破解一个软件,对license key的算法分析这些也不熟,所以纯粹是采用绕过注册检测这些方法破解的。大佬不要见怪,可以多多指点我,毕竟我也没看什么教程,都是自己瞎琢磨的。


我个人使用的工具是x32dbg+IDA。前者用于调试,后者用于分析,ida的反汇编代码强大很多,可以解析出很多函数名字便于分析,而且分析流程图功能也比x32dbg更全面和清晰,问题是7.0版本debug时会崩溃,所以debug我用的x32dbg。

下面讲讲我的步骤:
Restorator 2018 安装包可以直接官网下载。下载后解压安装。

1,初次打开,会进入如下注册页面。字符串搜索是找不到这个注册窗口信息的,因为这些字符串都是保存在资源里,打开时需要先加载,所以其实可以用LoadStringA函数定位这个注册窗口,但这个比较麻烦,因为LoadStringA会被调用很多次。从进入程序一步步看和分析ida的流程,可以看到call    @Forms@TCustomForm@... 的一步,且下面跳转紧接着一个@Forms@TApplication@Terminate的借书函数,所以可以怀疑这个注册窗口就是创建的一个TCustomForm,在创建这个TCustomform前的一个跳转jnz     short loc_57550C,改为jmp,就可以验证怀疑是对的了。这一步过后,打开程序就不会打开输入license key的窗口了。(在注册窗口,用错误的license key会弹出提示对话框,这个不是通常的MessageBoxA,在IDA中可以找到函数Dialogs::MessageDlg函数,对这个函数下断并回溯调用,也能找到注册窗口的入口函数@Forms@TCustomForm@...



批注 2019-11-20 163738.png 批注 2019-11-20 171327.png

2,跳过注册窗口后,显示的是启动欢迎界面,但是写的是trial version,正常注册的显示的是Licensed to XXX。为了改变这一点,在绕过初始的注册窗口后,在LoadStringA下断,因为启动欢迎界面显示的字符串也是从资源加载的。通过一步步的按步过,如果步过一个函数时断在了LoadStringA上,那么重新加载程序,步入这个函数分析,如此几次后就能找到显示启动欢迎界面的关键函数代码。在下图的代码处,看到两处LoadResString函数,一个对应没找到注册信息就加载字符串“trial version”,一个对应找到注册信息后加载“Licensed to %s”。简单试验一下就知道哪条分支是检查注册成功哪条是失败。试验后,改je为jmp就可以跳转到正确的分支上。如果注册表没有注册信息,强制跳转后,启动欢迎窗口显示的是“Licensed to”,后面没有用户名,我自己根据之前分析的注册表情况(可使用processmonitor),找到注册信息位于HKCU\SOFTWARE\Bome Software\Restorator\Registration的Name和Password键值上,我自己添加了个Name叫Song,所以强制跳转后会显示“Licensed to Song”,如图所示。
批注 2019-11-20 174701.png
批注 2019-11-20 172435.png
3,经过上一步过后,继续运行,程序主界面就打开了,但是第一步中出现的注册界面会起死回生,同时与主界面出现,这说明程序对注册信息进行了二次校验。第一步中我们找到了注册窗口位于    @Forms@TCustomForm,所以我们查看这个函数的引用情况,可以找到除了第一步中被调用,在如下位置也会被调用,通过下断再重启加载也很容易验证这里就是第二次验证窗口的创建地方。强制跳转jnz为jmp就可以绕过第二次注册窗口的弹出了。这样破解基本完成。保存程序后,会发现另外一个问题。
批注 2019-11-20 180414.png
4,当我们将第3步完成的程序完成后,正常打开后出现如下情况,在弹出启动欢迎窗口后,会很快又跳出一个CRC check failed。CRC检测是什么样的防破解机制?我不太熟悉,所以我还是选择找到关键跳转,绕过CRC检测。这个消息窗的字符串也是在资源里。所以还是选择下断LoadStringA函数,利用第2步一样的方法,通过不断步过与LoadStringA的结合,反复测试就能定位到具体是哪个函数是CRC检测的入口,如下在call    @Classes@NotifyGlobalLoading,即是CRC检测的入口。这个时候如果强制绕过,可以绕过CRC检测,但是会对主程序的初始ui有些许影响。可以继续进入这个函数内部进一步寻找CRC的校验入口。绕过CRC检测后,整个程序的破解就完成了。

批注 2019-11-20 181518.png 批注 2019-11-20 183752.png

虽然已经有现成的破解,而且简单很多,但是自己上手练一练还是收获的。

免费评分

参与人数 14吾爱币 +17 热心值 +11 收起 理由
x88tv + 1 + 1 热心回复!
庚^溯 + 1 谢谢@Thanks!
fanvalen + 1 + 1 好久没看到这样的技术贴了
清束 + 1 用心讨论,共获提升!
朱朱你堕落了 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
a091a + 1 我很赞同!
laohucai + 1 + 1 谢谢@Thanks!
tail88 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
bike23 + 1 + 1 我很赞同!
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
xbxbxbxb + 1 + 1 我很赞同!
5omggx + 1 热心回复!
处女-大龙猫 + 1 我很赞同!
joneqm + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| scschao 发表于 2019-11-22 19:10
庞晓晓 发表于 2019-11-22 15:46
不明觉厉,点个赞好了
是不是不破解也不影响功能上的使用

不破解都用不了啊,需要买license key才能进入软件才能使用

免费评分

参与人数 1吾爱币 +1 收起 理由
庞晓晓 + 1 这就可怕了。我以为只是出注册提示

查看全部评分

nevinhappy 发表于 2019-11-21 09:41
本帖最后由 nevinhappy 于 2019-11-21 09:49 编辑

官网下载的试用版本是全功能的吗 ?从官网的描述,应该不是,所以我自己试了下,看看有没有其它下载文件;
试用版本文件名:Restorator2018_Trial_1793.exe
根据惯例,我把文件名改成:Restorator2018_Retail_1793.exe,访问链接https://www.bome.com/bome/downloads/Restorator2018_Retail_1793.exe失败;
再尝试使用改名:Restorator2018_Full_1793.exe,访问链接:https://www.bome.com/bome/downloads/Restorator2018_Full_1793.exe 【成功】
我叫雷锋,再练个手,这个应该是全功能版本;因为文件大于1M了,各位自己下载吧。

duduhao 发表于 2019-11-21 02:32
泥泥的泥泥 发表于 2019-11-21 02:33
谢谢楼主分享
andobear 发表于 2019-11-21 02:34
学习了,谢谢楼主分享
nic551 发表于 2019-11-21 05:06
嗯,简单的学习。
SRXHLB 发表于 2019-11-21 07:10
多谢朋友分享
highdolphin 发表于 2019-11-21 07:14
好厉害啊,一起加油
jefel 发表于 2019-11-21 07:21
也是一种功夫!
小钶脫尘 发表于 2019-11-21 07:35
感谢楼主的分享,厉害了,向楼主学习
处女-大龙猫 发表于 2019-11-21 07:45
膜拜大佬呀,
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-27 17:58

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表