环境:
Windows xp sp3
打开,就一个Key输入框,输入:goodname,点OK,弹出一个
不明文字的框,反正肯定不对。
查壳,无壳的vb程序。OD载入:
查找字串,翻到最下面:
00401D74 UNICODE "SynTaX 2oo1"
00401DD3 UNICODE "SuCCESFul !"
00401DEB UNICODE "RiCHtiG ! ...nun weiter zu CrackMe 2 !" ; 这个应该就是成功了,双击跟过去
00401E6D UNICODE "leider NeiN !"
00401E85 UNICODE "Leider Falsch ! Schau noch mal genau nach ..." ;这个是错误信息
00401D73 . 51 push ecx ; 这个是输入的Key
00401D74 . 68 541A4000 push SynTax_2.00401A54 ; UNICODE "SynTaX 2oo1"
00401D79 . FF15 08314000 call dword ptr ds:[<&MSVBVM50.__vbaStrCm>; MSVBVM50.__vbaStrCmp 这个明显是字符串比较
00401D7F . 8BF8 mov edi,eax
00401D81 . 8D4D D8 lea ecx,dword ptr ss:[ebp-0x28]
00401D84 . F7DF neg edi
00401D86 . 1BFF sbb edi,edi
00401D88 . 47 inc edi
00401D89 . F7DF neg edi
00401D8B . FF15 5C314000 call dword ptr ds:[<&MSVBVM50.__vbaFreeS>; MSVBVM50.__vbaFreeStr
00401D91 . 8D4D D4 lea ecx,dword ptr ss:[ebp-0x2C]
00401D94 . FF15 60314000 call dword ptr ds:[<&MSVBVM50.__vbaFreeO>; MSVBVM50.__vbaFreeObj
00401D9A . 66:3BFE cmp di,si
00401D9D . 0F84 A0000000 je SynTax_2.00401E43 ; 这个跳转实现了就弹出错误的消息框
很明显就是用输入的Key和“SvnTaX 2oo1”进行比较。