吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 24240|回复: 222
收起左侧

[原创] 玩玩破解,写给新人看(第十三集)

    [复制链接]
yyhd 发表于 2021-1-31 20:22
本帖最后由 yyhd 于 2021-10-16 00:22 编辑

关于灰色按钮破解思路


上一集给大家写了两个小软件做为阶段性的练习,您破解成功了吗?

如果您成功了,我建议您思考一下,我在设计这个软件的时候做了哪些手脚,只有明白了这些手脚,而您又是针对性的绕开了,那么才是您最大的收获。

我认为,对于新人而言,破解是否成功不是关键,重要的是您是否发现了要破解的软件在反破解方面的在哪里?对于这个的我们用什么方法能够绕过去。

这一集,我暂且不讲这两个练习软件的破解思路,因为还有很多新人们没有去试验。

我们这一集就讲讲破解灰色按钮这一种类型软件的基本思路。

首先我们要明白什么是灰色按钮,见下图:

1.png


这是一个小软件的登陆界面,你会发现请点击按钮是处于灰色的显示状态,无法点击。

此时你输入账号和密码,然后点登陆,如果你的账号和密码是正确的,请点击按钮不再是灰色,你可以正常点击,你点击后会出现下图:

2.png


这个软件就是我们今天要讲的灰色按钮类型的软件。

所谓灰色按钮就是指软件窗口上的某个按钮处于灰色状态,也就是鼠标不可击状态,这种灰色按钮的设计有什么作用呢?

假定某个软件的窗口上有一个功能按钮。

当用户的登录帐号和密码都是正确时,就让功能按钮可点击,然后你点击功能按钮可以执行新的功能,比如打开一个新的功能窗口。

反之,如果用户输入的登陆账号和密码不正确,那就让功能按钮不可点击,用户就被限制使用功能。

拿我们的这个CM(灰色按钮)为例,我们讲讲如何破解这一类型的软件。

我们的破解目标就是当我们输入不正确的账号和密码时,这个请点击的按钮也告别灰色”状态,变成可点击状态,也就是把限制的功能解开。

朋友们,我们开始工作了。

我们先思考一下这个CM的验证流程。


流程为:软件启动后,窗口中的请点击按钮处于灰色状态 用户输入账号和密码,点击登陆按钮 读取用户输入登陆账号和假码 调用算法CALL,计算出真码 → 调用验证CALL对真假码进行比较 比较结果为真,“请点击”按钮的状态变为可点击,点击后出现“小牛”图片和弹出“祝你牛年大吉”的信息框;比较结果为假,没有变化。

知道了验证流程后,我们该怎么做呢?

当然还是用我们的破解大法两头找线索,中间来破解

我们首先看验证结果有没有线索?

有,如果成功会有三条结果可做为线索:

一是请点击按钮的状态改变为可点击;
二是出现了一个小牛图片;
三是出现一个祝你牛年大吉的信息框。

好,我们从最熟悉、最基本的方式来试试?

我们可以搜祝你牛年大吉这个字符串,也可以下弹出信息框的MessageBoxA函数断点。会来到下图:

3.png


接下来怎么办?


你在祝你牛年大吉的那一句下个F2断点?


还是在信息框弹出函数MessageBoxA下函数断点?


结果,都断不下来!


为什么?因为只有成功后代码才会走到这里。


晕了吧。


那怎么办呢?这条线索已经断了。


我们接着思考。


当我们从成功的结果去找线索和突破口的时候,会面临一个很重要的问题,就是我们找到的位置都是代码走不到的位置。


那么你怎么设定断点呢?所谓断点,就是必须要代码能够执行到下断的位置,程序才会停下来。


那我们就换个思路,从失败的结果去找线索,我们来看看有哪些线索可用?


当我们失败的时候,只有一个结果就是请点击按钮处于灰色不可点击的状态。


这条仅有的线索怎么使用呢?


我告诉你,操作系统为按钮的状态显示有一个专门的函数可以调用,函数名字叫做EnableWindow,中文意思就是窗口或者里面的控件(按钮、菜单、输入框等)能否被允许响应鼠标和键盘的输入。


如果允许,按钮就可点击;如果不允许,按钮就不可点击。


好了,我们知道了这个函数,我们思考一下,我们现在的CM是不是必须要调用这个函数?在程序执行的什么位置调用的?


我们再来回顾一下这个CM的验证流程。


刚启动的时候,请点击按钮的状态为不可点击。


我们点登陆后,程序根据真假码的比较对请点击按钮的状态做出不同的选择。


在整个过程中,是不是总共有两次会调用这个EnableWindow函数的可能。


一个是程序启动后的最初状态,一个是用户点击登陆按钮后的选择状态。


最初状态是我们的代码必然要经过的,后面的选择状态代码有可能经过也有可能不经过(可能是成功时才经过,失败时不经过)。


好,既然我们已经分析清楚了,我们就在最初状态下函数断点。


我们开始动手,把软件拖进OD后,先不运行,我们先下好EnableWindow断点。


用我们以前说的最暴力的下断点的方式就可以。我们打开OD的插件里提供的API常用断点工具,见下图:

4.png


选择红色箭头指的限制程序功能函数,在绿色箭头指的最下面的EnableWindow”前打钩,然后按确定,就下好了断点。


我试了一下,第一个也是EnableWindow,但是在第一个上面打钩后,你到断点窗口看下的断点是禁止状态,大家可以试试,如果不是我的问题,就是这个OD有BUG。


然后F9直接运行,就到了下图:

5.png


此时,你看右下角的堆栈窗口中红色箭头指的位置,写着FALSE,中文意思就是假。


这个就是表示按钮的状态,假就不可点击,真就可点击。


我们F8返回到上一层CALL。来到下图:
6.png


蓝色方框内就是调用EnableWindow函数的位置,这个函数有两个参数,就是CALL上面的两个PUSH后面的数值。


最上面一个数值就是按钮的状态,如果是1表示按钮可以被点击,如果是0表示按钮不可以被点击。


好,我们就在第一个PUSH语句上直接下F2断点,然后重新运行程序,发现断在了我们第一个PUSH语句上,见下图:

7.png


我们在信息窗口中红色箭头指的地方看到了0,就是说我们目前断下的PUSH语句后面的数值是0。


刚才说过0就是表示不可点击,1才是可点击。


那么我们现在就把PUSH 后面的值改成1,然后F9运行。

8.png


呵呵,我们已经成功了,请点击按钮已经不再是灰色了。


本节课,主要就是和大家一起分析了灰色按钮这种的一般破解思路


我把本次课程中使用的CM(灰色按钮)发到附件里,大家玩玩看,祝你成功!
如果您觉得我发的内容确实对您有所帮助,请麻烦您支持一个热心值,进行精神鼓励,也是我继续写下去的动力!

玩玩破解,写给新人看(第一集)
玩玩破解,写给新人看(第二集)
玩玩破解,写给新人看(第三集)
玩玩破解,写给新人看(第四集)
玩玩破解,写个新人看(第五集)
玩玩破解,写给新人看(第六集)
玩玩破解,写给新人看(第七集)
玩玩破解,写给新人看(第八集)
玩玩破解,写给新人看(第九集)
玩玩破解,写给新人看(第十集)
玩玩破解,写给新人看(第十一集)
玩玩破解,写给新人看(第十二集)
玩玩破解,写给新人看(阶段练习1)
玩玩破解,写给新人看(第十三集)
玩玩破解,写给新人看(第十四集)
玩玩破解,写给新人看(第十五集)
玩玩破解,写给新人看(第十六集)
玩玩破解,写给新人看(第十七集)
玩玩破解,写给新人看(第十八集)
玩玩破解,写给新人看(第十九集)
玩玩破解,写给新人看(第二十集)
玩玩破解,写给新人看(第二十一集)
玩玩破解,写给新人看(第二十二集)
玩玩破解,写给新人看(第二十三集)
玩玩破解,写给新人看(第二十四集)
闲谈如何破解软件?
玩玩破解——小白实战1,你也行!
玩玩破解——小白实战2,巧搜字符串
玩玩破解——小白实战3,易语言字符串比较通杀
玩玩破解——小白实战4,冰火两重天
对新人们学习《玩玩破解》系列教程的集中解答
玩玩破解—加点油,再前行!

CM((灰色按钮).zip

425.79 KB, 下载次数: 2475, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 92吾爱币 +88 热心值 +84 收起 理由
oartifact + 1 + 1 谢谢@Thanks!
a110220301 + 1 用心讨论,共获提升!
庅庅 + 1 + 1 谢谢@Thanks!
RANY2021 + 1 + 1 谢谢@Thanks!
Judas + 1 谢谢@Thanks!
大道宽又长 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
某中二绅士 + 1 + 1 用心讨论,共获提升!
xiier + 1 + 1 谢谢@Thanks!
355446727 + 1 + 1 用心讨论,共获提升!
adbjuank + 1 用心讨论,共获提升!
halou + 1 谢谢@Thanks!
弟中帝 + 1 谢谢@Thanks!
念一首诗给你听 + 1 + 1 谢谢@Thanks!
liking163 + 1 + 1 谢谢@Thanks!
iccz_ + 1 热心回复!
狗不理黑人 + 1 + 1 我很赞同!
Casuwin + 1 学到了学到了!!
zheng0706 + 1 + 1 用心讨论,共获提升!
zyyire + 1 + 1 谢谢@Thanks!
13775647904 + 1 谢谢@Thanks!
一只大嗨嗨 + 2 + 1 谢谢@Thanks!
silence2540 + 1 + 1 我很赞同!
小小的石头13 + 1 + 1 我很赞同!
努力加载中 + 1 谢谢@Thanks!
行者休于树 + 1 + 1 用心讨论,共获提升!
1113519447 + 1 + 1 热心回复!
hailyorxcz + 1 感谢楼主分享,建议打包封存分享
晓晓晓JH + 1 我很赞同!
af8889 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
虔来学习 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
a42010316 + 1 + 1 谢谢@Thanks!
Bruce11ie + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hldking + 1 谢谢@Thanks!
bailemenmlbj + 1 + 1 谢谢@Thanks!老了,慢慢的看不懂了。
缘扬风星 + 1 + 1 谢谢@Thanks!
FrozenW + 1 + 1 谢谢@Thanks!
qingbihao + 1 + 1 谢谢@Thanks!
吞佛童子 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
雾满拦江 + 2 + 1 用心讨论,共获提升!
独孤唐 + 1 谢谢@Thanks!
yu6319119 + 1 + 1 谢谢@Thanks!
751811164 + 1 + 1 谢谢@Thanks!
wenxin2150 + 1 + 1 这些课程下来,受益匪浅,感谢老师的无私教学!
2434009003 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
Vincent_AI + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wxxbc + 1 + 1 谢谢@Thanks!
Rain_Mountain + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
我的加藤最可爱 + 1 + 1 谢谢@Thanks!
runaaron + 1 + 1 鼓励转贴优秀软件安全工具和文档!
dych1688 + 1 + 1 谢谢@Thanks!
第四个字符 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
摇曳 + 1 谢谢@Thanks!
漫步者508 + 3 + 1 用心讨论,共获提升!
我是大帅比丶 + 1 + 1 谢谢@Thanks!
li1987liang + 1 + 1 谢谢@Thanks!
caleb110 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
line2222 + 1 + 1 我很赞同!
派大星不会骚 + 1 + 1 谢谢@Thanks!
vince991 + 1 + 1 用心讨论,共获提升!
mrcracker + 1 谢谢@Thanks!
Llqqcll + 1 + 1 我很赞同!
wsqwert + 1 + 1 谢谢@Thanks!
poop07 + 1 + 1 作者很用心 内容很丰富
虾真皮 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
天下武功 + 1 + 1 脑子会了,手不会
柯西 + 1 + 1 用心讨论,共获提升!
lxf0356 + 1 + 1 辛苦了
king9081 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Aiwanwan + 1 + 1 继续追剧继续评,每天赞一次!
那又A怎样 + 2 + 1 谢谢@Thanks!
jiemo365 + 1 + 1 跟不上了,默默地支持大佬!!!
叨枪blue + 1 + 1 谢谢@Thanks!
nullable + 1 热心回复!
zqguang3708 + 2 + 1 永远嘀神!
liqualife001 + 1 + 1 谢谢@Thanks!
0adsl + 1 + 1 谢谢@Thanks!
hyboat + 1 + 1 谢谢@Thanks!
wuboxun + 1 谢谢@Thanks!
Lucifer_BW + 1 + 1 热心回复!
隐藏英雄 + 1 + 1 用心讨论,共获提升!
半路出家 + 1 + 1 谢谢@Thanks!
角声满天秋色 + 1 + 1 谢谢@Thanks!
吃啥呀 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
geiwoyizhiyan + 1 + 1 谢谢@Thanks!
pizazzboy + 1 + 1 我很赞同!
luckytiger996 + 1 谢谢@Thanks!
moonalong8 + 1 + 1 谢谢@Thanks!
pack39 + 1 + 1 不管怎么样,都要支持你
tang588 + 1 + 1 热心回复!
fat楠 + 1 + 1 热心回复!
look1232000 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ycf0616 + 2 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

本帖被以下淘专辑推荐:

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

helc 发表于 2021-11-22 16:31
第十三集!
作业:CM((灰色按钮).exe
先运行程序,发现请点击按钮是灰色的,我们要做的就是让它能点击。尝试输入账号和密码,点击登陆,没有什么变化。只有账户和密码验证正确后,灰色按钮才能被点击,所以中间应该是有一个验证机制的。
三条结果作为线索:
一是“请点击”按钮的状态改变为可点击;
二是出现了一个“小牛”的图片;
三是出现了一个“祝你牛年大吉”的信息框。

用od打开程序,搜索牛年大吉字符串和API信息框,下断点。这个方法不行,理由是它是验证后的结果,代码无法运行到这里,中间的验证机制还存在着,程序过不来。

这里提到了一个新的函数EnableWindow,它可以用来表示按钮的状态,也就是说灰色按钮由它来控制。所以如果在这儿下断点,就行了。其实没完成理解,大概意思这样吧。反正就是多认识了个新函数,它能控制按钮的状态,有判断过程。如果允许,按钮就可点击,不允许,就不可点击。

来到那个API断点工具,在限制程序功能函数中选择第三个EnableWindow,确定。
运行,在堆栈区发现个call,就是这个函数的调用call,跟随它,定位到代码区。
发现EnableWindow的call,上面紧跟着两个push,说是它们分别是两次判断过程。回一下流程,打开程序后,EnableWindow先判断一次,肯定是不允许,在输入账号密码后,再判断一次。那么在第一次push处下断点,看能不能修改它,不就能达到目的了。
在第一个push处下断点,然后重新运行程序(不是继续运行)。
运行后,发现断在了push处,也没有窗口弹出,说明断在了call的前面。代码区下面可看到它堆栈的值为0000000。应该是0为不允许,把这行改为push 0x1,复制保存。
运行保存后的程序,发现按钮可点击了,跳出牛年大吉,成功!

注意:重点是两个push,要搞清楚它们的意义。还有EnableWindow函数的作用。
FFF全部成为F 发表于 2021-1-31 21:03

看到熟悉的灰色按钮,立马掏出上古XP时代就一直有的灰色按钮解锁工具——取窗口句柄丨精易工具箱
秒破!
l.png
别打我我不是故意的呜呜呜呜
张哥哥 发表于 2021-1-31 21:05
 楼主| yyhd 发表于 2021-1-31 21:12
张哥哥 发表于 2021-1-31 21:05
真希望你能够出录像教学。

谢谢朋友的支持。我也只是小白,还没有这个实力和能力。写写自己会的一点东西,希望能用新人们听的懂的话来和大家共同成长。
WZH19960602 发表于 2021-1-31 20:36
谢谢楼主分享
~vision~ 发表于 2021-1-31 20:41
不得不顶
tang588 发表于 2021-1-31 20:55
这个是个好人
pack39 发表于 2021-1-31 20:56
你这些文章,在数年前发表 的话,必然会热度很高,现在基本都要转到x64dbg了,OD真的是快要日落西山
myjjdf 发表于 2021-1-31 20:59
这个是不是可以利用到第二个练习课件??
pjlove 发表于 2021-1-31 21:00
自从这个破解教程出来后,现在看到论坛上都在模仿,我想说的是好东西只能被模仿,从未被超越
莫莫 发表于 2021-1-31 21:08
非常感谢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-4-19 14:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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