运行程序,od attach,随便翻翻代码,看到这里比较可疑:
004022F3 83FF 18 CMP EDI,18
004022F6 75 54 JNZ SHORT CrackMe.0040234C
004022F8 83FB 16 CMP EBX,16
004022FB 75 4F JNZ SHORT CrackMe.0040234C
004022FD 83FD 1E CMP EBP,1E
00402300 75 4A JNZ SHORT CrackMe.0040234C
00402302 837C24 30 2F CMP DWORD PTR SS:[ESP+30],2F
00402307 75 43 JNZ SHORT CrackMe.0040234C
00402309 837C24 18 48 CMP DWORD PTR SS:[ESP+18],48
0040230E 75 3C JNZ SHORT CrackMe.0040234C
00402310 837C24 28 11 CMP DWORD PTR SS:[ESP+28],11
00402315 75 35 JNZ SHORT CrackMe.0040234C
00402317 837C24 20 21 CMP DWORD PTR SS:[ESP+20],21
0040231C 75 2E JNZ SHORT CrackMe.0040234C
0040231E 837C24 10 37 CMP DWORD PTR SS:[ESP+10],37
00402323 75 27 JNZ SHORT CrackMe.0040234C
00402325 837C24 14 33 CMP DWORD PTR SS:[ESP+14],33
0040232A 75 20 JNZ SHORT CrackMe.0040234C
0040232C 817C24 1C 860000>CMP DWORD PTR SS:[ESP+1C],86
00402334 75 16 JNZ SHORT CrackMe.0040234C
00402336 837C24 24 52 CMP DWORD PTR SS:[ESP+24],52
0040233B 75 0F JNZ SHORT CrackMe.0040234C
0040233D 817C24 2C 940000>CMP DWORD PTR SS:[ESP+2C],94
00402345 75 05 JNZ SHORT CrackMe.0040234C
00402347 8D47 E9 LEA EAX,DWORD PTR DS:[EDI-17]
下断点一看果然就是比较结果的地方
用的啥算法我到现在也不知道
只是发现每个字符的结果都是独立的互不影响
所以我先输入12个a:
aaaaaaaaaaaa
发现第二和第六个字符过关了
然后输入12个b:
bbbbbbbbbbbb
全不过关
就这样一直到12个字符都探测到结果为止,其实也用不了多长时间,感觉比构造流程写代码还快
最终得到:
maposafe2017
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课