溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用IDA自定義數(shù)據(jù)結(jié)構(gòu)?

發(fā)布時(shí)間:2020-05-23 17:29:46 來源:億速云 閱讀:408 作者:鴿子 欄目:安全技術(shù)

打開IDA,先看一眼示例代碼(攻.防世界_RE_進(jìn)階區(qū)_sercet-galaxy-300):

如何使用IDA自定義數(shù)據(jù)結(jié)構(gòu)?

    很明顯a1是一個(gè)結(jié)構(gòu)體,接下來我們自定義一個(gè)結(jié)構(gòu)體,并用到a1上。首先選擇Structures選項(xiàng)卡如何使用IDA自定義數(shù)據(jù)結(jié)構(gòu)?

    這里前四行是Structures選項(xiàng)卡的使用說明,后三行是IDA自帶的結(jié)構(gòu)體,前四行翻譯過來就是:

Insert/Delete鍵                    創(chuàng)建和刪除結(jié)構(gòu)體

D/A/*鍵                                添加不同類型的結(jié)構(gòu)體成員,

                                             這里要注意光標(biāo)位置不同D鍵的作用也不同

N鍵                                       對(duì)結(jié)構(gòu)體或結(jié)構(gòu)體成員重命名

U鍵                                       刪除結(jié)構(gòu)體成員

    我們先按Insert鍵新建一個(gè)結(jié)構(gòu)體,名字叫Stars,

如何使用IDA自定義數(shù)據(jù)結(jié)構(gòu)?

    前兩個(gè)復(fù)選框用于決定新結(jié)構(gòu)體在結(jié)構(gòu)體窗口中的顯示位置,或者是否在窗口中顯示新結(jié)構(gòu)體,第三個(gè)復(fù)選框是指定創(chuàng)建聯(lián)合體,這里我們改完名字后直接點(diǎn)OK,界面中就出現(xiàn)了一個(gè)空的結(jié)構(gòu)體

如何使用IDA自定義數(shù)據(jù)結(jié)構(gòu)?

    然后把光標(biāo)移動(dòng)到”ends”上按D鍵,就可以在行尾創(chuàng)建一個(gè)新的結(jié)構(gòu)體成員,

如何使用IDA自定義數(shù)據(jù)結(jié)構(gòu)?

    再把光標(biāo)移動(dòng)到該成員上,按D鍵改變該成員的數(shù)據(jù)類型,可改變的數(shù)據(jù)類型有db(byte),dw(word),dd(dword),dq(qword),按A鍵可以設(shè)置為字符串,按*鍵可以設(shè)置為數(shù)組,按N鍵可以重命名成員,按U鍵刪除成員,可以按照題目需求改變成員數(shù)據(jù)類型。

    這里我們就按照題目需求配一個(gè)具有一個(gè)QWORD,兩個(gè)DWORD,三個(gè)QWORD的結(jié)構(gòu)體:

如何使用IDA自定義數(shù)據(jù)結(jié)構(gòu)?

    這就完成定義結(jié)構(gòu)體了,接下來就要指定變量為結(jié)構(gòu)體了,先回到函數(shù)內(nèi)部

如何使用IDA自定義數(shù)據(jù)結(jié)構(gòu)?

    右鍵a1:

如何使用IDA自定義數(shù)據(jù)結(jié)構(gòu)?

    選擇Convert to struct*

如何使用IDA自定義數(shù)據(jù)結(jié)構(gòu)?

    再選擇我們剛剛定義的結(jié)構(gòu)體Stars,就完成了

如何使用IDA自定義數(shù)據(jù)結(jié)構(gòu)?

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI