從最簡單的開始來,先查一下殼,發現沒有殼
OD打開程序,先運行,彈出信息框不用關,切換到OD界面按F12暫停程序,然后Alt+k,百度一下msvbvm50 user32發現是vb程序找到兩個信息框,一個在00401EA9,一個在740CEE19,程序入口是00401000,00401EA9離得比較近,應該就是這個彈框了,右鍵顯示調用(show call)
附近發現彈出眼熟的字樣
再往上查查發現successful字樣
在00401D9D處發現關鍵je跳轉,直接nop掉發現成功
但是ctf中我們需要的是找到正確的注冊碼算法,繼續分析,重新加載程序,往上找retn的時候發現入口點
下斷點F8單步步過,
首次發現輸入的數據? 123456 在00401D70處出現,ecx=123456,放入棧中,接著放入SynTax 2oo1,接下來是一個call,名字里有strcmp,應該是比較函數,結果放到eax中,eax=-1,應該SynTax 2oo1就是注冊碼了,輸入SynTax 2oo1后再看此處的eax就變為0了,發現正確