00401671 7C E8 jl short CrackMe.0040165B
00401673 8B85 98000000 mov eax,dword ptr ss:[ebp+98]
00401679 8D5424 10 lea edx,dword ptr ss:[esp+10]
0040167D 52 push edx
0040167E 50 push eax
0040167F FF15 BC214000 call dword ptr ds:[<&MSVCRT._mbscmp>] ; 这个位置是比较字符串,说明edx和eax中保存的就是密码了,其实edx里是我们要的密码,而eax是我们输入的假码,所以直接对edx所指地址做内存注册机就好了
00401685 83C4 08 add esp,8
00401688 85C0 test eax,eax
0040168A 5E pop esi
0040168B 5B pop ebx
0040168C 6A 00 push 0
0040168E 75 17 jnz short CrackMe.004016A7 ;关键跳, 不相等则完蛋
00401690 68 64304000 push CrackMe.00403064 ; 感谢使用
00401695 68 58304000 push CrackMe.00403058 ; 注册成功!
0040169A 8BCD mov ecx,ebp
0040169C E8 83030000 call <jmp.&MFC42.#4224>
004016A1 5F pop edi
004016A2 5D pop ebp
004016A3 83C4 20 add esp,20
004016A6 C3 retn
004016A7 68 50304000 push CrackMe.00403050 ; 错误
004016AC 68 44304000 push CrackMe.00403044 ; 注册失败!
004016B1 8BCD mov ecx,ebp
我是新手,老手不要见笑