吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3042|回复: 24
收起左侧

[原创] CrackMe第二题追码写注册机

  [复制链接]
growuphappily 发表于 2020-2-17 14:27
本帖最后由 growuphappily 于 2020-2-17 14:42 编辑

应@zzyyyy要求,写了这篇文章
回到注册码计算的地方:
[Asm] 纯文本查看 复制代码
00402412   .  50            push eax                                        ; /String = 00000001 ???
00402413   .  8B1A          mov ebx,dword ptr ds:[edx]                      ; |
00402415   .  FF15 E4404000 call dword ptr ds:[<&MSVBVM50.__vbaLenBstr>]    ; \__vbaLenBstr  ;计算name的长度
0040241B   .  8BF8          mov edi,eax                                     ;  eax为name长度
0040241D      8B4D E8       mov ecx,dword ptr ss:[ebp-0x18]                 ;  ecx为name
00402420   .  69FF FB7C0100 imul edi,edi,0x17CFB                            ;  将字符串长度与17CFB相乘,结果放在edi
00402426   .  51            push ecx                                        ; /String = NULL
00402427   .  0F80 91020000 jo Afkayas_.004026BE                            ; 
0040242D   .  FF15 F8404000 call dword ptr ds:[<&MSVBVM50.#rtcAnsiValueBstr>; \rtcAnsiValueBstr  取第一个字符的ASCII码
00402433   .  0FBFD0        movsx edx,ax
00402436   .  03FA          add edi,edx                                     ;  把ediedx相加
00402438   .  0F80 80020000 jo Afkayas_.004026BE
0040243E   .  57            push edi                                        ;  把edi转换成十进制
0040243F   .  FF15 E0404000 call dword ptr ds:[<&MSVBVM50.__vbaStrI4>]      ;  MSVBVM50.__vbaStrI4
00402445   .  8BD0          mov edx,eax                                     ;  把eax放到edx
..................................
0040251D   .  68 701B4000   push Afkayas_.00401B70                          ;  UNICODE "AKA-"
00402522   .  51            push ecx                                        ; /String = NULL
00402523   .  FFD7          call edi                                        ; \__vbaStrCat

其中00402415,0040243f,00402523,0040242D,00402436和00402420比较重要
00402415计算了name的长度
00402420把name的长度与0x17CFB相乘,结果放在edi
0040243F把edi转换成十进制
0046242D取name的第一位的ASCII码放到edx中
00402436把edi加上edx
00402523把edi转换成十进制的结果前面加上"AKA-"
于是,我们就可以写注册机了
[Python] 纯文本查看 复制代码
name = input()
edi = len(name) * int(0x17CFB)
edx = ord(name[0])
key = "AKA-" + str(edi+edx)
print(key)

所以,“Type In Your Name”的注册码就是“AKA-1658111”
最后:
评分不要钱!评分不要钱!评分不要钱!

免费评分

参与人数 12吾爱币 +15 热心值 +10 收起 理由
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
zlufeng + 1 大神,帮忙看看我的https://www.52pojie.cn/thread-1109144-1-1.html
积极向上周大宝 + 1 我很赞同!
zzh00456 + 1 + 1 谢谢@Thanks!
jcldkj + 1 我很赞同!
zzyyyy + 1 + 1 坚持
gh0st_ + 1 用心讨论,共获提升!
vvblood + 1 + 1 用心讨论,共获提升!
y3555252 + 1 + 1 用心讨论,共获提升!
52pojie-ff + 1 + 1 谢谢@Thanks!
YC愚 + 1 用心讨论,共获提升!
bjxiaoyao + 1 + 1 我很赞同!

查看全部评分

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

 楼主| growuphappily 发表于 2020-2-17 19:42
zzyyyy 发表于 2020-2-17 19:39
楼主,今日评分用完了,明天再给你哈哈
问个事,edi dword ptr  ecx 等等 这些代码意思去哪了解

如果只是临时用,可以去网上搜,但是如果要长期用的话,最好还是把它记在脑子里

这是汇编代码
 楼主| growuphappily 发表于 2020-2-18 11:43
eebill 发表于 2020-2-17 15:05
ZXCVBNM13 发表于 2020-2-17 15:29
支持一下
zqq 发表于 2020-2-17 16:11
说的非常好,谢谢,再见。
ruoling 发表于 2020-2-17 17:14
很有用 支持一下
serv 发表于 2020-2-17 17:45
支持一下
Jonly 发表于 2020-2-17 18:19
这个使用什么软件写的啊
 楼主| growuphappily 发表于 2020-2-17 18:55
Jonly 发表于 2020-2-17 18:19
这个使用什么软件写的啊

哪个?
软件是VB
注册机是Python
a2837297164 发表于 2020-2-17 19:11
拿来学习了
zzyyyy 发表于 2020-2-17 19:39
楼主,今日评分用完了,明天再给你哈哈
问个事,edi dword ptr  ecx 等等 这些代码意思去哪了解
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-16 15:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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