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