【reversing.kr逆向之旅】Music Player的writeup
阿新 • • 發佈:2018-11-10
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函式