- UID
- 76030
注册时间2014-6-5
阅读权限30
最后登录1970-1-1
龙战于野
TA的每日心情 | 慵懒 2015-8-14 00:08 |
---|
签到天数: 25 天 [LV.4]偶尔看看III
|
本帖最后由 crackvip 于 2014-9-4 09:35 编辑
PYG跨年度KeyGenMe001 -- 看谁更优雅 小伙伴们踊跃参加~~
https://www.chinapyg.com/thread-72325-1-1.html
(出处: 中国飘云阁(PYG官方论坛) )
- 此CrackMe 总分 100
- 特此声明:
- A.不得利用CM自身任何BUG绕过注册机制--允许绕过NAG
- B.若直接修改主程序(算法部分不得修改),视修改字节多少评分
- C.分析好的文章评优秀、精华,奖励PYB
- 1.过第一关--20分
- 2.过第二关--10分
- 3.成功进入界面--10分
- 4.分析算法--30分
- 5.写出注册机--20分
- 6.不主动修改EXE任何字节完成所有要求--10分
- 7.若采用loader加载,只允许patch nag部分,其他部分一切视为无效!
- 对于第6点,各位可以充分采用猥琐的方法~~
- 过关要求,只要XP 32Bit能成功即可
复制代码
=========第一关============
004561A1 . B9 E0624500 MOV ECX, CrackMe.004562E0 ; 中国飘云阁
004561A6 . BA F4624500 MOV EDX, CrackMe.004562F4 ; 请输入密码
004561AB . B8 08634500 MOV EAX, CrackMe.00456308 ; 第一关
004561B0 . E8 776FFDFF CALL CrackMe.0042D12C ; 弹出第一关注册提示
004561B5 . 8D55 E4 LEA EDX, DWORD PTR SS:[EBP-0x1C]
004561B8 . 8B45 FC MOV EAX, DWORD PTR SS:[EBP-0x4]
004561BB . E8 2421FBFF CALL CrackMe.004082E4
004561C0 . 8B45 E4 MOV EAX, DWORD PTR SS:[EBP-0x1C]
004561C3 . BA 18634500 MOV EDX, CrackMe.00456318 ; -
004561C8 . E8 93FEFFFF CALL CrackMe.00456060 ; 取最后一组
004561CD . 8BD8 MOV EBX, EAX
004561CF . 33C0 XOR EAX, EAX
004561D1 . 55 PUSH EBP
004561D2 . 68 7A624500 PUSH CrackMe.0045627A
004561D7 . 64:FF30 PUSH DWORD PTR FS:[EAX]
004561DA . 64:8920 MOV DWORD PTR FS:[EAX], ESP
004561DD . 8BC3 MOV EAX, EBX
004561DF . 8B10 MOV EDX, DWORD PTR DS:[EAX]
004561E1 . FF52 14 CALL NEAR DWORD PTR DS:[EDX+0x14]
004561E4 . 83F8 03 CMP EAX, 0x3
004561E7 . 0F8E 81000000 JLE CrackMe.0045626E ; -小于3则跳
004561ED . 8D4D E0 LEA ECX, DWORD PTR SS:[EBP-0x20]
004561F0 . 33D2 XOR EDX, EDX
004561F2 . 8BC3 MOV EAX, EBX
004561F4 . 8B30 MOV ESI, DWORD PTR DS:[EAX]
004561F6 . FF56 0C CALL NEAR DWORD PTR DS:[ESI+0xC] ; 取第一组
004561F9 . 8B45 E0 MOV EAX, DWORD PTR SS:[EBP-0x20]
004561FC . E8 1F23FBFF CALL CrackMe.00408520 ; 转成十六进制放到EAX
00456201 . 8945 F8 MOV DWORD PTR SS:[EBP-0x8], EAX ; 放在EBP-8的位置
00456204 . 8D4D DC LEA ECX, DWORD PTR SS:[EBP-0x24]
00456207 . BA 01000000 MOV EDX, 0x1
0045620C . 8BC3 MOV EAX, EBX
0045620E . 8B30 MOV ESI, DWORD PTR DS:[EAX]
00456210 . FF56 0C CALL NEAR DWORD PTR DS:[ESI+0xC]
00456213 . 8B45 DC MOV EAX, DWORD PTR SS:[EBP-0x24] ; 第二组
00456216 . E8 0523FBFF CALL CrackMe.00408520
0045621B . 8945 F4 MOV DWORD PTR SS:[EBP-0xC], EAX ; 转成16进制放EAX
0045621E . 8D4D D8 LEA ECX, DWORD PTR SS:[EBP-0x28]
00456221 . BA 02000000 MOV EDX, 0x2
00456226 . 8BC3 MOV EAX, EBX
00456228 . 8B30 MOV ESI, DWORD PTR DS:[EAX]
0045622A . FF56 0C CALL NEAR DWORD PTR DS:[ESI+0xC] ; 第三组
0045622D . 8B45 D8 MOV EAX, DWORD PTR SS:[EBP-0x28]
00456230 . E8 EB22FBFF CALL CrackMe.00408520 ; 转成16进制放EAX
00456235 . 8945 F0 MOV DWORD PTR SS:[EBP-0x10], EAX
00456238 . 8D4D D4 LEA ECX, DWORD PTR SS:[EBP-0x2C]
0045623B . BA 03000000 MOV EDX, 0x3
00456240 . 8BC3 MOV EAX, EBX
00456242 . 8B30 MOV ESI, DWORD PTR DS:[EAX]
00456244 . FF56 0C CALL NEAR DWORD PTR DS:[ESI+0xC] ; 第四组
00456247 . 8B45 D4 MOV EAX, DWORD PTR SS:[EBP-0x2C]
0045624A . E8 D122FBFF CALL CrackMe.00408520
0045624F . 8945 E8 MOV DWORD PTR SS:[EBP-0x18], EAX ; 最后一组放在EBP-18
00456252 . 8BC3 MOV EAX, EBX
00456254 . E8 3FD4FAFF CALL CrackMe.00403698
00456259 . 8B45 F8 MOV EAX, DWORD PTR SS:[EBP-0x8] ; 第一组
0045625C . 0345 F4 ADD EAX, DWORD PTR SS:[EBP-0xC] ; 第二组,相加
0045625F . F76D F0 IMUL DWORD PTR SS:[EBP-0x10] ; *
00456262 . D1F8 SAR EAX, 1 ; 右移
00456264 . 79 03 JNS SHORT CrackMe.00456269 ; 这个是什么意思?如果正数则转移,如果不为负数则跳
00456266 . 83D0 00 ADC EAX, 0x0 ; 进位加法?进位加0
00456269 > 8945 EC MOV DWORD PTR SS:[EBP-0x14], EAX ; 放在EBP-14的位置作为标志?
0045626C . EB 02 JMP SHORT CrackMe.00456270
0045626E > 01E4 ADD ESP, ESP
00456270 > 33C0 XOR EAX, EAX ; 清0
00456272 . 5A POP EDX
00456273 . 59 POP ECX
00456274 . 59 POP ECX
00456275 . 64:8910 MOV DWORD PTR FS:[EAX], EDX
00456278 . EB 0C JMP SHORT CrackMe.00456286
0045627A .^ E9 CDD8FAFF JMP CrackMe.00403B4C
0045627F . 01E4 ADD ESP, ESP
00456281 . E8 2EDCFAFF CALL CrackMe.00403EB4
00456286 > 837D F8 00 CMP DWORD PTR SS:[EBP-0x8], 0x0 ; 第一组,与0判断大小,看是否输入的都是0
0045628A . 7E 14 JLE SHORT CrackMe.004562A0
0045628C . 837D F4 00 CMP DWORD PTR SS:[EBP-0xC], 0x0 ; 第2组,与0判断大小,看是否输入的都是0
00456290 . 7E 0E JLE SHORT CrackMe.004562A0
00456292 . 837D F0 00 CMP DWORD PTR SS:[EBP-0x10], 0x0 ; 第3组,与0判断大小,看是否输入的都是0
00456296 . 7E 08 JLE SHORT CrackMe.004562A0
00456298 . 8B45 EC MOV EAX, DWORD PTR SS:[EBP-0x14] ; 标志
0045629B . 3B45 E8 CMP EAX, DWORD PTR SS:[EBP-0x18] ; 第四组
0045629E . 74 02 JE SHORT CrackMe.004562A2 ; 第四组与标志是否相等,不相等则挂
004562A0 > 01E4 ADD ESP, ESP
游客,本帖隐藏的内容需要积分高于 3000 才可浏览,您当前积分为 0
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
x
|