CrackMe第一题追码+注册机
0x00 前言我今天在翻之前的帖子的时候,发现CrackMe第一题的注册机没有写,也是@镇北看雪的提醒
所以就开搞吧!
0x02 开搞
先第一个:Name/Serial
先输入假码
断点断下(之前的断点)
分析一下代码:
0042FA87|.8B45 F0 mov eax, ;取出name
0042FA8A|.0FB600 movzx eax,byte ptr ds: ;取出第一位
0042FA8D|.F72D 50174300 imul dword ptr ds: ;eax乘以0x29
0042FA93|.A3 50174300 mov dword ptr ds:,eax ;0x431570 = eax
0042FA98|.A1 50174300 mov eax,dword ptr ds:
0042FA9D|.0105 50174300 add dword ptr ds:,eax ;0x431750 + eax
0042FAA3|.8D45 FC lea eax,
0042FAA6|.BA ACFB4200 mov edx,Acid_bur.0042FBAC
0042FAAB|.E8 583CFDFF call Acid_bur.00403708
0042FAB0|.8D45 F8 lea eax,
0042FAB3|.BA B8FB4200 mov edx,Acid_bur.0042FBB8
0042FAB8|.E8 4B3CFDFF call Acid_bur.00403708
0042FABD|.FF75 FC push
0042FAC0|.68 C8FB4200 push Acid_bur.0042FBC8 ;UNICODE "-"
0042FAC5|.8D55 E8 lea edx,
0042FAC8|.A1 50174300 mov eax,dword ptr ds:
0042FACD|.E8 466CFDFF call Acid_bur.00406718 ;转换十进制
0042FAD2|.FF75 E8 push ;Acid_bur.0041B233
0042FAD5|.68 C8FB4200 push Acid_bur.0042FBC8 ;UNICODE "-"
0042FADA|.FF75 F8 push
0042FADD|.8D45 F4 lea eax,
0042FAE0|.BA 05000000 mov edx,0x5
0042FAE5|.E8 C23EFDFF call Acid_bur.004039AC
0042FAEA|.8D55 F0 lea edx,
0042FAED|.8B83 E0010000 mov eax,dword ptr ds:
0042FAF3|.E8 60AFFEFF call Acid_bur.0041AA58 ;合并(CW--CRACKED)
关键的就这些
意思就是把name的第一位的ASCII乘以0x29再乘以0x2转换成十进制
前面加上CW-
后面加上-CRACKED
注册机:
print('CW-' + str(ord(input()) * 41 * 2 )+ '-CRACKED')
(你没看错,就一行代码!!!)
再来看第二个
分析了一会,发现注册码是固定的,是“Hello Dude!”
第一个效果图:
0x03 最后
评分不要钱!评分不要钱!评分不要钱! 唐小样儿 发表于 2020-2-19 10:45
好复杂。。。
这算是简单的了。。。。。。
其实上面还有一大块,我分析了好久才发现就下面这一小点是关键代码,上面的没有用 best2020 发表于 2020-2-19 10:55
可以初步看明白一些。关键断点的判断,是个技术活。
没错,我找了15分钟。。。 小白看不懂啊哈哈哈哈哈 好复杂。。。 HN_MY 发表于 2020-2-19 10:49
看到编程总是一脸懵逼
没事,认真学你就会发现其中的乐趣{:301_1001:} 确实看不懂啊 不过看着很专业的样子 FY95168 发表于 2020-2-19 10:58
确实看不懂啊 不过看着很专业的样子
这只是初级的东西。。。
谢谢分享 我这样的小白正需要,谢谢!
页:
[1]
2