查下殼發(fā)現(xiàn)沒(méi)有殼
放OD里運(yùn)行讓程序彈出報(bào)錯(cuò)信息框,按F12暫停程序,按Alt+k找到message函數(shù)
00402622接近程序入口點(diǎn),右鍵顯示調(diào)用,發(fā)現(xiàn)在上面幾行出現(xiàn)了熟悉的字樣
在往上翻一下出現(xiàn)了應(yīng)該是正確的字樣,并發(fā)現(xiàn)了關(guān)鍵跳轉(zhuǎn),
直接nop掉,破解完成
=============================================================================================》
注冊(cè)碼查找
從出現(xiàn)關(guān)鍵字的地方往上找retn,發(fā)現(xiàn)程序入口點(diǎn),下斷點(diǎn)
按F8單步步過(guò),找到出現(xiàn)我們輸入的111111的地方
從發(fā)現(xiàn)用戶(hù)名開(kāi)始往下找代碼太長(zhǎng),關(guān)鍵地方如下
發(fā)現(xiàn)edi=6, 402415函數(shù)名里有LenBstr,可能是輸入的字符串的長(zhǎng)度,正好edi=6,接著edi*17CFB,然后edi+31H,最后edi=8EE13,轉(zhuǎn)換十進(jìn)制是585235,下面edx也出現(xiàn)了585235,繼續(xù)單步發(fā)現(xiàn)我們輸入的注冊(cè)號(hào),
222222使我們輸入的,后面出現(xiàn)了585235,然后經(jīng)過(guò)msvbvm50._vbaStrMove函數(shù)出現(xiàn)了AKA-585235,push? eax后出現(xiàn)了關(guān)鍵call,比較之后eax=-1,那么就是AKA-585235是注冊(cè)碼了,總結(jié)一下注冊(cè)碼的計(jì)算方法就是取輸入的字符串(長(zhǎng)度*6+第一個(gè)字符的16進(jìn)制ascii碼)和AKA-組合得出注冊(cè)碼