好友
阅读权限30
听众
最后登录1970-1-1
|
算法比较简单~
不过比较坑~
大概是这样
1.获取年 月 日 时 分 秒 进行相加 int iSumTime //call 00402FF3
2.iSumTime*=520 00403125 |. DC0D F1CE4500 fmul qword ptr ds:[0x45CEF1] ; 乘520
3. iSumTime+=用户名的长度 0040320F |. DD5D EC fstp qword ptr ss:[ebp-0x14] ; 长度
4.对iSumTime=iSumTime*520+1314 00403235 |. DC0D F1CE4500 fmul qword ptr ds:[0x45CEF1]
5.对iSumTime 进行base64加密 00403296 |. E8 DB000000 call CrackMe1.00403376 ; base4
6.进行易语言的des加密 加密内容为"1" 密码位上面的base64字符串 00403E1C |. E8 7F960300 call CrackMe1.0043D4A0
7.用注册码解密加密的内容 00403EF5 |. E8 A6950300 call CrackMe1.0043D4A0
8.能正确解出 "1" 注册成功~~~~
所以输入的密码应该等于base64加密后的内容
那么问题又来了 你能不能在1秒中之内输入密码然后点击确认呢~~~
反正我不能
所以弄了个+10秒版本
需要在同1分钟~~~同一分钟内 ~~~~~~~~
点击当前时间+10秒
计算出注册码
然后开始计时
10秒内填入到CM~~~ 10秒后马上按注册 误差1秒内 手惨自重~~~~~~~~~~~~
顺便自带手残专用版
NOP掉 0040311C
就能让他在同一分钟内输入注册码即成功~~~~(不进行对秒数相加)
其实注册机的用户名和CM的用户名长度一致就行, 用户名实际内容貌似没有进行计算
附上附件 源码+注册机+手残版~
cm.rar
(693.73 KB, 下载次数: 46)
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|