吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 2446|回复: 5

[转载技术] 第十七章-序列号生成算法分析-Part2

[复制链接]
Shark恒 发表于 2015-1-20 16:17 | 显示全部楼层 |阅读模式

                       第十七章-序列号生成算法分析-Part2
首先我们来解决上一章留下的mexcrk1.zip这个CrackMe,很简单。首先用OD加载它,断在入口点处。
image002.jpg
首先看看程序中使用了哪些字符串,单击鼠标右键:
image004.jpg
可以看到以下字符串。
image006.jpg
我们可以在正确字符串上面或者错误字符串上面双击来到关键代码附近。
image008.jpg
我们看到这里有一个CALL指令决定后面的JE指令是跳转到”Thanks you made it”代码处,还是直接显示后面的”Wrong Code DUDE”。我们在42D534地址处设置一个断点,然后运行起来。
image010.jpg
我们在Enter Serial#下面的编辑框中随便输入一个序列号。
image012.jpg
这里我输入Narvajita。
image014.jpg
如果你跟进这个CALL,你会发生时我们输入的错误序列号”Narvajita”在于”Benadryl”进行比较。
image016.jpg
好了,我们现在达到了比较指令处,”Benadryl”就是正确的序列号,我们删除之前设置的断点,运行程序。
image018.jpg
这里我们可以看到,显示”Thanksyou made it”提示序列号正确的字样。
好了,接下来我们分析Canasta5.0这个CrackMe。
该CrackMe属于那种OK按钮开始不可用,当用户输入的用户名与序列号相匹配的时候才可以单击的例子。
我们首先安装程序,然后打开About对话框。
image020.jpg
提示20美元,确切是说是19.95美元。
image022.jpg
我们单击Enter License按钮。
image024.jpg
提示说只有当用户输入的用户名和序列号组合正确时OK按钮才会变为可用。
用OD加载该程序。
image026.jpg
我们断在了入口点处。
image028.jpg
好,我们来看看API函数列表以及字符串列表。
image030.jpg
由于OK按钮不可用,所以我们不能通过单击OK按钮来获取错误提示是什么,嘿嘿。
image032.jpg
我们运行起来,然后打开注册窗口,我们运用一些方法来攻击这种保护。
image034.jpg
我们输入用户名,假设该程序对用户名没有限制,接在我们输入6个字母的序列号。例如:WMYXSZ。首先单击W。
image036.jpg
接着按M键。
image038.jpg
现在我们在内存中搜索刚刚输入的两个字母。
image040.jpg
我们单击工具栏中的M按钮,打开内存窗口,查找WM字符串。
image042.jpg
这里,我们勾选上区分大小写。
image044.jpg
找到了一个,我们继续按CTRL+L查找看看还有没有其他地方有该字符串。提示未找到其他条目,说明这就是我们刚刚输入的序列号。
我们在数据窗口中定位到给字符串。
image046.jpg
我们输入刚刚找到的这个地址,由于该地址是字母c开头,所以我们要在前面加上0,不然OD不认识。
image048.jpg
可以用户输入的序列号就保存在这里,我们输入“WMYXSZ”接下来一个字母Y。
image050.jpg
继续转到数据窗口查看,发现字母Y加被保存进来了。然后对0C35DF9开始的连续六个字节内存单元设置内存访问断点。
image052.jpg
现在运行起来。
image054.jpg
输入字母’X’。
image056.jpg
现在将保存该字母了。
image058.jpg
这里如果按F8键,ESI将保存到EDI中。
image060.jpg
这里拷贝我们前面输入的4个字节。
image062.jpg
按F8键,这4个字节将被拷贝到12E79C起始的内存单元中。
image064.jpg
既然我们已经设置过内存访问断点,那我们就来设置硬件访问断点。
image066.jpg
我们继续跟,就可以看到我们输入的用户名也被保存到了堆栈中。
image068.jpg
我们输入的用户名长度为0E,与0做比较。
image070.jpg
如果用户名长度不为零,程序将继续执行。
image072.jpg
然后判断是不是黑名单中的名称,也就是说不能是TNO,afdad等,嘿嘿。
继续运行。
image074.jpg
断在了比较指令处,我们可以看到是我们输入的序列号在与另一个字符串进行比较。
image076.jpg
我们可以看到”354910”就是正确的序列号,我们删除所有断点。
image078.jpg
输入正确的序列号以后,OK按钮就变为可用状态了,嘿嘿。两一种解决方法这里就不再赘述了,也不是很复杂,就利用我们每按下一个键就发产生WM_KEYUP消息,显得比较麻烦,但也很直接。
好了,我们休息一下,下一章,我们来看看别的例子。

本系列文章汉化版转载看雪论坛

感谢原作者:RicardoNarvaja(西班牙人)
原作者个人主页:http://www.ricardonarvaja.info/

感谢热心翻译的朋友:
1~3章译者:BGCoder
4~58章译者:安于此生

全集配套程序下载地址:
链接: http://pan.baidu.com/s/1eQzTWfo 密码: vytv



评分

参与人数 8HB +6 THX +3 收起 理由
Jawon + 1
一路走来不容易 + 1
Soul1999 + 1
消逝的过去 + 1
l278785481 + 1
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
jaunic + 2
越宝 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
hackysh 发表于 2022-2-8 16:25 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
别管我了行 发表于 2022-3-1 03:35 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
曾经沧海 发表于 2022-11-17 22:20 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
曾经沧海 发表于 2023-4-4 10:09 | 显示全部楼层

向楼主学习!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
一生逍遥 发表于 2023-4-20 10:41 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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