首先觀察程序的結(jié)構(gòu)
查殼后并未發(fā)現(xiàn)有殼
接下來OD載入開始你的操作
最先的是一個(gè)nag窗口 ?所以直接命令行BP MessageBoxA
開始運(yùn)行程序,程序停在了MessageBoxA中
點(diǎn)擊nag窗口
直接Nop后發(fā)現(xiàn)程序奔潰了 ??深入了解后發(fā)現(xiàn)nop方法并不能達(dá)到效果 所以在調(diào)用窗戶處執(zhí)行到返回 看有沒有關(guān)鍵跳轉(zhuǎn)
并未發(fā)現(xiàn)再次執(zhí)行到返回
還是未發(fā)現(xiàn)再執(zhí)行到返回
找到了nag窗口的關(guān)鍵跳 程序在此處判斷了程序是否第一次運(yùn)行程序 如果是則不跳轉(zhuǎn) 否則跳轉(zhuǎn)不顯示nag窗口
隨意輸入然后check彈窗處暫停OD可查看OD窗口中程序的句柄處找到調(diào)用 也可以工具欄中K查看事件調(diào)用的進(jìn)程
也可一直執(zhí)行到返回找到關(guān)鍵跳
找到到關(guān)鍵判斷call ?cmp中hello Dude
接下來繼續(xù)解決最后一個(gè)問題繼續(xù)使用上面的方法找到關(guān)鍵call和 關(guān)鍵跳轉(zhuǎn)
解決之 完工!