查看: 22545|回复: 0

实战破解winRAR 5.1

 关闭 [复制链接]
发表于 2015-3-3 18:50:24 | 显示全部楼层 |阅读模式
很久之前写的了,想必不少人看过
========================================================================================

十一长假已经过的差不多了吧,今天闲来无事就去看雪看了看,然后看到看雪上面有人发了一个破解winrar 5.01的帖子,突然想到我自己的貌似还用着没有注册的版本,因此就有了下面的文章,当然我是参考了看雪上面的文章,也算是自己学习的一个记录吧
作者:iceforce
博客:www.isbug.net

===================================邪恶的分割线============================================

可以看到程序是未注册版本的,我们要做的就是把注册到期之后的弹窗,还有上面的那个评估版本给去掉
因为程序是在启动的时候会出现弹窗,一般程序出现窗口会使用两个函数MessageBoxW或者DialogBoxParamW两个函数,所以我们直接对这两个函数下断点
如果装了命令行插件的话,可以直接使用命令
bp MessageBoxW
bp DialogBoxParamW
然后那个不使用命令行下断的方法我之前的文章里面也有,如果不知道的话,可以看看之前我发的文章
之后我们运行,但是我们发现程序并没有断下来,开始就跟那个帖子不一样了,可谓出师不利啊
我们从头开始单步跟踪一下(如果觉得中指比较累的话,也可以CTRL+F8)
然后发现是在这个函数里面弹出的窗口

我们F7跟进一下

然后发现是这个call弹出的窗口,继续跟进

终于找到这个比较的代码了,其中EAX里面存放的是已经安装了多少天,然后与40比较
从代码可以看到eax来自于00534428 ,OK ,我们在这个上面设置访问断点

重新载入程序,运行

程序断在了这个地方,我们看到call之后把得到的结果放到了00534428
然后就可以进入分析这个call了,当然你也可以这样,直接进入call,然后汇编
  1. mov eax,0
  2. retn 10
  3. nop
复制代码
然后保存到EXE文件在运行,发现弹窗没有了,但是评估版本还是存在
载入保存的EXE文件
现在我们要考虑的是怎么去除掉标题中的评估版本
根据看雪上的提示,程序可能会用到SetWindowTextW函数,就对这个函数下断(虽然开头我们就没有成功,但是我们先来追随一下大牛的脚步嘛)

bp SetWindowTextW
好在这次断下了,看堆栈信息

堆栈里面已经出现我们想要的东西,我们回到调用的地方,向上看,可以看到这些东西

可以看到这里先把0051E2C0里面的数据先跟0比较,如果不等的话,会直接跳到之前上面调用SetWindowTextW的地方,如果等于0之后在跟40天做比较
老办法,直接在这个地址上面下访问断点

重新运行,程序立即断下

我们跟进上面的call,分析,或者直接汇编这个CALL


然后再运行

评估版本不见了,关于里面也不显示40天评估版本了
可能有人会问,你为什么不分析算法,然后写一个注册机呢
我得回答说:我不会!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-5-1 16:15 , Processed in 0.097696 second(s), 17 queries , Gzip On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部