1. 程式人生 > >《逆向工程核心原理》學習筆記(五)

《逆向工程核心原理》學習筆記(五)

mda 學習筆記 dir png 分析 truct str 判斷 mage

《逆向工程核心原理》學習筆記(五)

記錄下第八章對於vb程序的逆向調試分析。

技術分享圖片

od載入,在EP代碼中首先做的是調用VB引擎的主函數(ThunRTMain())

技術分享圖片

EP地址為00401238,401238地址處的PUSH 401E14指令是用來把RT——MainStruct結構體的地址(401E14)壓棧,40123D地址處的call指令是調用401232處的jmp指令,該jmp指令會跳轉到VB引擎的主函數ThunRTMain(),前面401E14的值作為ThunRTMain()的參數。

技術分享圖片

技術分享圖片

這裏40123D地址的call指令是調用ThunRTMain()函數,但是不是直接轉到MSVBVM60.DLL的ThunRTMain()函數,而是通過中間401232地址的jmp指令跳轉

這就是VC++、VB編譯器中常用的間接調用法(Indirect Call)

分析

查看字符串 找到輸入錯誤時顯示的字符串

技術分享圖片

技術分享圖片

往上查找,果然只要到包含條件轉移語句的代碼(判斷用戶輸入的序列號與字符串是否相同)

技術分享圖片

《逆向工程核心原理》學習筆記(五)