1. 程式人生 > >【reversing.kr逆向之旅】Music Player的writeup

【reversing.kr逆向之旅】Music Player的writeup

VB寫的程式  且沒有加殼

執行看看   還真是一個音樂播放器   但是隻能播放一分鐘

下面三個按鈕據我分析  分別就是播放,暫停,重新開始播放

當滑動到1分鐘時就會停止  並彈窗1? ?????

結合ReadMe中所述   必須跳過若干個在1分鐘的檢查   才可以看到flag

OD載入分析   F9執行   播放到1分鐘時彈窗   這時候可以看到程式呼叫了rtcMsgBox


這時候點選k檢視呼叫堆疊情況   可以看到有呼叫rtcMsgBox這個API

接著右鍵這一行   檢視呼叫

向上翻  可以很明顯發現cmp  

0xEA60 就是60000毫秒  正好就是1分鐘   而且這個跳轉正好跳過.rtcMsgBox   猜測這個就是關鍵跳

這裡的話修改下s標誌位  使跳轉成立

接著發現還是會報錯   

也是醉了

猜測下面還有校驗判斷的地方   重新來一次   這次修改過s標誌位後   單步向下  看看到底是何方神聖。。

然後很明顯可以看到當經過這個call後   就會彈窗報錯

還可以看到上邊有一個jge跳轉     這時候我們可以把它改為jmp   或者再次修改s標誌位

004046B9   .  FF15 3C104000 call dword ptr ds:[<&MSVBVM60.__vbaHresultCheckObj>]        ;  msvbvm60.__vbaHresultCheckObj

我還是選擇修改s標誌位(ps:建議直接改成jmp吧)

標題就是flag

LIstenCare

我把兩處都改成jmp並且儲存了一份  哈哈

終於可以安靜的聽秋繪女神唱歌啦

總結:VB程式中,rtcMsgBox 用於彈出一個訊息框,類似於WINDOWS API中的MessageBoxA/MessageBoxExA函式