吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 7849|回复: 49

[原创逆向图文] 新手追XX录像专家注册码,大牛请飞过

  [复制链接]
阿菜 发表于 2014-12-12 15:39 | 显示全部楼层 |阅读模式

新手第一次发贴,有点紧张

【软件名称】:XX录像专家
【下载地址】:http://www.tlxsoft.com/
【加壳方式】: 无
【操作平台】: XP SP3
【作者声明】: 只是出于对逆向感兴趣,没有其他目的。以下分析逆向仅用于交流,请支持正版软件。首先使用PEID查壳,没有加壳,BC++编写的软件。
peid.png
有试用提示框,输入假码会有字符串提示。
欢迎注册.png
注册失败.png

无壳又有字符串提示,果断搜索一下字符串---"注册失败"
1.png
双击字符串,来到下图位置,我们在前面一个call下断
2.png
当我们输入用户名和假码后,点击“注册”,程序会在od中断在上图位置,这时候程序开始对我们输入的假码进行判断。
首先看到一个cmp eax,0x32,然后有个jge的判断,一般思维就是判定我们输入的假码位数,所以我们从上面的call单步到cmp eax,0x32,
这时发现eax=9,(我输入的是123456789),也就是我们输入的假数位数必须大于等于50,它才会跳过第一个注册失败。
所以我们随便输入50个注册码后,再来这个位置继续单步,发现它能跳过这个注册失败。继续单步下去到了下图位置(我输入的是11111222223333344444555556666677777888889999900000,全部输入一样的话,就不知道它是取哪个值进行判断了)
3.png
单步到了je的位置,发现je没跳,又跑到注册失败位置去了。所以解决这一步的目标就是把让比较的两个值相等。从而跳过错误提示。
此时我们先假设它是关键跳,按常规思维,那么跳的前一个call一般也就是关键call了。进去看看这里有什么东西。 00000.png

F7单步进入之后,在第三个call的位置发现这里它了我输入的假码的最后五位。进去看看它要干嘛先。继续F7跟进后只有一个子call,继续跟进到下图位置
QQ截图20141212132653.png
这个段有长,于是我把段首复制到跟算法相邻的位置。具体算法就是图中所解释的。(朋友们测试的时候在假码最后五位输入不要跟我一样是00000,就能看出eax值的变化)这里是一个数列吧,每一步计算的公式都是 y2 = A * y1+ ebx,y = eax的值,- -这个能表达的就这么多,有兴趣的朋友自己写写。当它们计算完了的时候,就把eax值放到下图中的地址去,进行比较了。
12.png 我这里是0和5920进行比较,如果我们计算出来的eax值=5920,那么Je的跳转就会实现,逆着计算,方法写在图上,每一步的余数合起来(从右到左)就是我们应该输入的最后五位注册码。(这里已经知道最后五位是怎么来的了)然后我这里直接改标志位跳过,继续看一下步的判定是什么。
00484E18   .  E8 57E0F7FF   call 屏录专家.00402E74                       ;  取名字
00484E69   .  E8 06E0F7FF   call 屏录专家.00402E74                       ;  机器码
单步经过这两个call可从寄存器看到输入的用户名和提示的机器码。机器码跟电脑直接显示的不一样,调换了两个位置。(把它放到文本对比就明了)继续单到来到下图位置
34.png
这里是把用户名与机器码进行计算,结果放入edi.具体步骤如上图,大概意思就是用户名每一位分别去异或机器码,带符号放到那个地址,然后把异或的值乘以(位数-1),如我输入的注册名第一位是w, 机器码第一位是2,第一次edi值就是(w xor 2) * (1-1)=0,,,之后进行累加,文本不够的用0代替去参与异或。最后值保留在EDI是以十六进制的形式。循环完给这个值加上一个常数3039。到这一步我们继续F8单步下去


56.png
经过上面那个call,可以从寄存器窗口看到5个数字,我进去call里面看过,就是上一步的值除以A然后取余数组成,跟上面标红色文字那一步一样计算方式。
然后上图中的jnz是跳向失败,意思就是eax和ecx的值不等就跳。eax的值是产生的5个数字的值转为16进制ASCII后减14所得,有五个数字这里就意味着要比较5次。ecx的值怎么来的呢?我们右键选择“到数据窗口跟随地址”
78.png
比较5次就是跟下面5个位置分别进行比较了。我们先让它跳向注册失败,然后重新点注册,观察一下这个值是在什么时候被赋到这个地址上。这里可以选择下断点的方法或才直接观察,我选择后者。
OD里发现经过下面这个call时,地址被赋值……然后我们进入call 里面去.
00484D8A   .  E8 89B7F9FF   call 屏录专家.00420518                       ;  这里是前十位注册码的确认(软件是先用注册码计算出一个值,保留在上图位置,再把前5个地址的值分别进行比较,这里为什么说是前十位注册码的确认呢,请耐心往下看吧- -) 11.png
进行call后然后单步,从寄存器和堆栈都会看到输入的假码,这里先是把假码的位置进行了对调,一开始我也没留意这些代码的意思,就是看到堆栈出来两串数字,但个别位置不一样了,- -然后才在这个call里面一步一步走发现的。走到断点处,假码比较被完成转换。要进行计算了。
222.png
计算方法就如上图所示了,假码两两组合成十进制整数,再转为十六进制,再ebx相加再加9保留到画圈的位置。ebx=2*次数-1,这样子比较好理解。因为上一步是要比较5个数字,那么这一步就要生成与之对应的五个数字,因为是两两组合,所以这里就会确定了前十个注册码了。(其他先不管,我们是走一步看一步的哈)跳出这个计算call继续往下走
52.png
当我们输入的十个注册码正确时,jnz就不会再那么快的跳到失败的地方,在比较第四个数字的时候,它还进行了一步计算,计算出一个值,计算方法如图所示,这个生成出来的值一开始我也不知道是干嘛用的,姑且往下走吧,走一步看一步。
1111.png
这里有个小循环,右键跟随到地址就知道是什么与什么相加,简单说明下,就假码在紫色文字那一步里计算的结果存在地址后,把它们进行相加,判断0x13次(十进制就是19次)把就相当于前38个假码计算的结果了,然后把它除以A,余数+30,再把值保留到内在地址。然后继续判断第9和第10位注册码。判定正确后来到下图。
20141212145108.png

上图画图部分如果相等,je就会跳过jl,如果第39和第40位这两个假码计算出来的结果小于0x41,那么就会跳向失败,所以解决这个问题的方案就有两个了,一个是计算的值要大于jl,一个就是要对应前面38个的值。(我不太懂jl是不是小于的意思,所以还是建议采取第二种方案吧),解决这个问题我们继续往下走


这里就是最后一个跳向注册失败的地方了,所以也就是要解决最后一个问题……这里就用到了上面生成的53FC,绿色文字那一步,把它作为被除数,A为除数,余数保留在edx,..然后把保留假码计算结果的地址的第六位放到eax,-41-余数,值为0则跳向成功,否则失败。也就是说这一步决定了第11和第12位注册的取值了。把这两位的取值也算出来然后就大功告成了。---------------------------------------------------------------
最后说一下注册机的写法,先计算 用户名和机器码的计算结果m,再通过取余,计算出那5个数字。根据5个数字的16进制ASCII值计算前十个注册码。再把m值拿去绿色字体那一步,计算出一个结果,这个结果决定第11和第12位注册码的取值,再随机生成26个注册码加到后面凑38个,再用38个的值求出第39和第40位的注册码,再随机生成5个,凑成45个注册码。第46-50位的注册码也是就最开始的作判定的位置,即第六张图片的位置,箭头所指上面的call才是计算call,它是用过前45位进行计算来得一个结果n,再把n除以a进行取余,最后凑起来就是50个。再把50个进行换位置,最后结果肯定就是注册码了。写注册机的时候还要把机器码的位置进制对换,因为软件计算之前会把我们看到的机器码进行换位置。(都是数学上事,所以大家都能解决)
--------------------------------------------------------------
这软件一开始我是爆破的,注册信息保存的注册表的,下断找到判断。无壳直接修改不知道为什么打开就出错了,用补丁就可以,不过录完播放的时候又是各种出错,问了大牛,说可能是md5之类的校验,其实也不知道是不是我电脑问题,不过我菜这是事实,因为我这种小白目前还不了解那些校验吧,不过就是想破,所以就都试着追码了。关于爆破还有一点就是,好像去了那个试用提示框也会破的感觉,不知道了。
写这篇文章献给跟我一样的小白吧,逆向论坛很不错,可以好好学习,还有就是善用找度娘和搜索论坛资源,反正不赶时间就慢慢研究,毕竟是兴趣。
好了,教程就到这里了,我刚学不久,请大牛勿嘲笑,有什么不足之处还望指出,谢谢观看。{:5_191:}记得留你的热心和HB-.-.
附结果图(自己摸索N久的注册机不是每一次算出来都是对的结果,所以就不发了,大家自己动手丰衣足食了)
12333.png








评分

参与人数 62威望 +1 HB +97 THX +48 收起 理由
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
24567 + 2
琉璃天空 + 1
Jawon + 2
一路走来不容易 + 1
Soul1999 + 1
冷亦飞 + 1
消逝的过去 + 1
夜太美花来了 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
大大的优秀 + 1 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
ghostxu + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
jaunic + 2
hnymsh + 1
lies + 1
耶稣 + 5 + 1 见过最长的一篇图文 十分感谢楼主
wxbwxb + 1 分享精神,是最值得尊敬的!
yiya520 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
a122783999 + 1 + 1 祝学破解论坛全体成员2016年开心每一天!
taxuewuhen + 1 + 1 学破解论坛1周年了,感谢大家的付出与关注。学破解论坛助你呼风唤雨!!!
创意合成 + 1 + 1 学破解论坛1周年了,感谢大家的付出与关注。学破解论坛助你呼风唤雨!!!
m0bil3_xT + 1 + 1 学破解论坛1周年了,感谢大家的付出与关注。学破解论坛助你呼风唤雨!!!
sumith + 1 + 1 附件形式上传教程,为后来学习者保证了资源稳定性,额外+10HB,感谢!
cisco竹溪 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
闪耀 + 4 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
炽天使 + 3 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
Dxer + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
雨季 + 2 + 1 评分=感恩!简单却充满爱!感谢您的作品!!.
飞鸿踏雪 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
菜刀 + 5 + 1 好人有好报!你的热心我永远不忘!谢谢!
ttxia868 + 1 + 1 论坛有你更精彩!感谢楼主!
ferline8 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
蓝色贝雷帽 + 1 + 1 教程非常易懂,对新人帮助极大!楼主大爱!
eten520 + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
czyy20577 + 1 + 1 教程非常易懂,对新人帮助极大!楼主大爱!
小人 + 1 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
zxy20014 + 1 + 1 教程非常易懂,对新人帮助极大!楼主大爱!
guowei0422 + 1 + 1 好人有好报!你的热心我永远不忘!谢谢!
pojie520 + 1 + 1 因果报应:这么热心分享知识,以后活该你发财!!该!哈~
zjsyjbb + 1 + 1 好人有好报!你的热心我永远不忘!谢谢!
清晨 + 2 + 1 膜拜会算法的大牛
haliyou001 + 2 + 1 评分=感恩!简单却充满爱!感谢您的作品!
tz008 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
vipcrack + 1 + 1 论坛有你更精彩!感谢楼主!
wangsm + 1 + 1 学业有成啊
夜雨琴声灭 + 1 教程非常易懂,对新人帮助极大!楼主大爱!
飞行太保 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
一蓑烟雨 + 1 + 1 好人有好报!你的热心我永远不忘!谢谢!
王婆卖瓜 + 5 + 1 评分=感恩!简单却充满爱!感谢您的作品!
彡倾心 + 1 评分=感恩!简单却充满爱!感谢您的作品!
gueijiaochen + 2 评分=感恩!简单却充满爱!感谢您的作品!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 阿菜 发表于 2014-12-12 15:41 | 显示全部楼层

本帖最后由 阿菜 于 2014-12-14 21:04 编辑

最后一张图不会弄掉,沙发自己来了。自己占沙发的好处就是不用在原贴继续编辑,朋友们可以用注册机试试吧,如果注册名是中文的,有时生成的不对重点一下生成就行了,英文貌似一直没问题。有什么不到位的还望大牛们不吝指教。
附注册机一只: 屏幕录像注册机支持中文.rar (284.76 KB, 下载次数: 45)


评分

参与人数 1HB +2 THX +1 收起 理由
清晨 + 2 + 1 因果报应:这么热心分享知识,以后活该你发财!!该!哈~

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
岁月神偷 发表于 2014-12-12 16:39 | 显示全部楼层




不错,支持!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
ningzhonghui 发表于 2014-12-12 22:04 来自手机端 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
神秘客 发表于 2014-12-12 22:41 | 显示全部楼层

好教程,谢谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2014-12-12 22:53 | 显示全部楼层

分析的非常透彻,再来个语音视频吧,再给你一个精华。哈哈
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
奥特曼 发表于 2014-12-12 22:56 | 显示全部楼层

楼主热心以后必发财!鉴定完毕!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
东子郭 发表于 2014-12-12 23:22 | 显示全部楼层

楼主讲的挺详细,就是我没怎么看明白,小白还需努力
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
andyhack 发表于 2014-12-13 01:17 | 显示全部楼层

这个必须学了。以前老是找别人逆向的
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
gueijiaochen 发表于 2014-12-13 09:23 | 显示全部楼层

感谢楼主分享教程!!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

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

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


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

Powered by Discuz!

吾爱汇编 www.52hb.com

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