ida 数据操作
http://cwc206.5d6d.com/thread-848-1-1.html
?
默認(rèn)表情酷猴呆呆男???????
???????
???????
???
?
免費(fèi)注冊(cè) 登錄?? 輸入您的搜索字詞? 提交搜索表單??
?? Web? cwc206.5d6d.com
??????
超的個(gè)人論壇開通窩窩 5d6d站長(zhǎng)俱樂部插件導(dǎo)航論壇HOME頁(yè) 默認(rèn)風(fēng)格uchomegraygreen2009D DarkWater_V3圣誕女孩新年2010超的個(gè)人論壇? 綜合投稿(原創(chuàng)為主) ? 關(guān)于我 ? IDA簡(jiǎn)易教程共十四章(1)5元=60金幣可下載60個(gè)附件.點(diǎn)這里進(jìn)入淘寶購(gòu)買,拍下后聯(lián)系 QQ399575079幫您充值論壇積分
?
?
?????? 網(wǎng)頁(yè)搜索 站內(nèi)搜索搜索
?返回列表 回復(fù) 發(fā)帖 斗地主錦標(biāo)賽,誠(chéng)邀您的加入?
發(fā)新話題發(fā)布投票發(fā)布懸賞發(fā)布辯論發(fā)布活動(dòng)發(fā)布視頻發(fā)布商品
超迷NO:1發(fā)短消息
加為好友
cwc206 (超越自我)當(dāng)前離線
論壇支柱
UID1 帖子2887 精華36 積分5863 威望58 點(diǎn) 金錢2441 ¥ 貢獻(xiàn)5422? 回復(fù)力1199 帖 閱讀權(quán)限255 性別男 在線時(shí)間1382 小時(shí) 注冊(cè)時(shí)間2009-4-1?
管理員
?
積分5863 威望58 點(diǎn) 金錢2441 ¥ 回復(fù)力1199 帖 人氣30 °C 在線時(shí)間1382 小時(shí)
?樓主
打印 字體大小: tT? cwc206(性別: ) 發(fā)表于 2009-6-18 17:30 | 只看該作者??? 踩窩窩?? 送禮物?? 問候Ta? 最新刷機(jī)資料
點(diǎn)下面的鏈接
?
最新刷機(jī)資料1
最新刷機(jī)資料2
4月3日BIN教程工具集中帖
刷機(jī)教程大全
刷機(jī)工具大全?
2.10-3.2 刷機(jī)bin大全
3月3日后刷機(jī)bin大全
進(jìn)入淘寶沖值600金幣
?
?
[轉(zhuǎn)載] IDA簡(jiǎn)易教程共十四章(1)
?? 關(guān)于“ida 數(shù)組”的內(nèi)容
IDA簡(jiǎn)易教程共十四章(2)
IDA簡(jiǎn)易教程共十四章(1)
本站搜索更多關(guān)于“ida 數(shù)組”的內(nèi)容
今天看了站長(zhǎng)經(jīng)驗(yàn)交流版塊發(fā)了一篇關(guān)于反編譯軟件IDA的文章,發(fā)現(xiàn)下載后不會(huì)使用,倒不是英文版的問題而是軟件不知道從何處下手,剛才從網(wǎng)上查了關(guān)于IDA的簡(jiǎn)易教程,就順便摘錄過來。下面原文轉(zhuǎn)載那篇文章。因?yàn)槲恼螺^長(zhǎng),所以我分2篇轉(zhuǎn)載
第一節(jié):C語言的小程序
為了演示IDA的功能先寫一段小程序。
程序執(zhí)行結(jié)果:
CUSTOMERS:
CUSTOMER 0001: Peter (m)
CUSTOMER 0002: John (m)
CUSTOMER 0003: Mary (f)
PRODUCTS:
PRODUCT 0001: BOOK: IDA QuickStart Guide
PRODUCT 0002: SOFTWARE: IDA Pro: PC; WINDOWS DOS; DISASSEMBLY
PRODUCT 0003: SOFTWARE: PhotoRescue: PC MAC; WINDOWS OS-X; RECOVERY
PRODUCT 0004: SOFTWARE: aCrypt: PC; WINDOWS; CRYPTOGRAPHY
----------------------------------------------------------------------
第二節(jié):基本類型的識(shí)別
用IDA分析我們前面的程序,我們會(huì)發(fā)現(xiàn)下圖的類型
?
只要按"D"我們就可以任意轉(zhuǎn)換這些不確定的類型.可以變成byte,word,dword(db,dw,dd)。
當(dāng)然你也可以設(shè)置更多的數(shù)據(jù)轉(zhuǎn)換類型:
選擇“Options”菜單的“Setup data types”命令就可以設(shè)置了
?
值得注意的是:你在數(shù)據(jù)轉(zhuǎn)換的時(shí)候,它是依據(jù)數(shù)據(jù)自身的結(jié)構(gòu)來轉(zhuǎn)換的。我們按“D”的時(shí)候,
如果下一個(gè)字節(jié)已經(jīng)被你轉(zhuǎn)換過,你的本次轉(zhuǎn)換,IDA將會(huì)提示讓你確認(rèn)。
?
注:如果你想改變這種默認(rèn)設(shè)置可以在“Options”菜單“Convert already defined bytes”命令里設(shè)置
?
撤銷你的所有轉(zhuǎn)換按“U”鍵。
?????????????????????????????????????????????????????
-------------------------------------------------------------------------------------
第三節(jié):操作數(shù)格式
數(shù)據(jù)類型自定義轉(zhuǎn)換后,被操作過的數(shù)據(jù)(就是你按過“D”的)的進(jìn)制IDA也是可以自定義轉(zhuǎn)變的,
通過在“Operands”工具欄的“Number”命令我們可以隨意轉(zhuǎn)換數(shù)字的進(jìn)制
?
最下面的“Toggle leading point”就是填補(bǔ)數(shù)據(jù)前的空位為0(就是說如果當(dāng)前數(shù)據(jù)未占滿數(shù)據(jù)格式的所有位高位用0來填補(bǔ))
?
IDA還可以轉(zhuǎn)換數(shù)據(jù)的標(biāo)志位(就是正負(fù))具體操作如下圖:
?
最后呢~~如果這些轉(zhuǎn)換你還不滿意(夠BT)當(dāng)然你還可以自定義數(shù)據(jù)進(jìn)制如圖:
?
????????????????????????????????????????????????????????????
-----------------------------------------------------------------------------------------
第四節(jié):字符和字符串的操作
作者又說話了:很多程序都是包含字符串的,一些被操作過的數(shù)據(jù)(就是你按過“D”的)可以轉(zhuǎn)化為
字符,使用的命令就在“Operands”工具欄上
?
由于編程語言的不同造成字符串也有不同的格式,當(dāng)然IDA就支持所有的格式了。
IDA在轉(zhuǎn)化后會(huì)在地址添加一個(gè)名字。因?yàn)槲覀兊某绦蚴莄的所以就找到c的字符串。具體操作如圖:
?
如果不是C寫的程序怎么辦呢?我們可以在“Options”菜單“ASCII string style”命令中設(shè)置。
允許你修改其它類型為默認(rèn)設(shè)置,使用默認(rèn)設(shè)置的快捷鍵是“A”,或者自定義一種類型可以使用不常用的終止字符。
?
??????????????????????????????????????????????????????????????
--------------------------------------------------------------------------
第五節(jié):數(shù)組
在c中,ASCII字符串被認(rèn)為是字符數(shù)組,IDA是如何處理數(shù)組的呢?
我們用最常用命令來定義數(shù)組中的第一個(gè)元素,設(shè)置第一個(gè)元素類型為byte,格式為char,然后點(diǎn)擊“*”號(hào)鍵(或者“Edition ”工具欄的“Array”命令)來創(chuàng)建數(shù)組。這時(shí)彈出一個(gè)對(duì)話框,可以設(shè)置很多變量。
?
你可以定義數(shù)組一行的顯示個(gè)數(shù),還可以使用“Element width”來設(shè)置他們之間的寬度。
使用“Use dup construct ”選項(xiàng)可以合并連貫的相似字節(jié),“ Display index ”選項(xiàng)可以像注釋一樣顯示數(shù)組的下標(biāo)。
例如我們?cè)O(shè)置一個(gè)有64個(gè)元素的數(shù)組,一行有8個(gè)元素,每個(gè)元素之間的寬度為4,不選取“dup constructs”,選取“Display index ”,我們就可以得到下面的數(shù)組。
?
當(dāng)IDA遇到未被識(shí)別的字節(jié)他會(huì)用紅色的高亮顯示。
當(dāng)然你也可以選擇一個(gè)范圍來創(chuàng)建數(shù)組,IDA會(huì)自適應(yīng)的設(shè)定。
?
??????????????????????????????????????????????????????????
------------------------------------------------------------------------------------?
收藏 分享 評(píng)分
如果您覺得資源好,請(qǐng)回帖支持鼓勵(lì)下,也讓更多人知道這個(gè)資源的重要性。謝謝!
超的個(gè)人論壇默認(rèn)新注冊(cè)用戶只能回復(fù)50帖,10金,回復(fù)力為"0"時(shí)將無法回復(fù).金幣為0無法下載收費(fèi)附件
回復(fù)力及金幣獲得方法完成論壇任務(wù)
?
?回復(fù) 引用 訂閱 TOP
?
?
超迷NO:1發(fā)短消息
加為好友
cwc206 (超越自我)當(dāng)前離線
論壇支柱
UID1 帖子2887 精華36 積分5863 威望58 點(diǎn) 金錢2441 ¥ 貢獻(xiàn)5422? 回復(fù)力1199 帖 閱讀權(quán)限255 性別男 在線時(shí)間1382 小時(shí) 注冊(cè)時(shí)間2009-4-1?
管理員
?
積分5863 威望58 點(diǎn) 金錢2441 ¥ 回復(fù)力1199 帖 人氣30 °C 在線時(shí)間1382 小時(shí)
?沙發(fā)
?cwc206(性別: ) 發(fā)表于 2009-6-18 17:31 | 只看該作者??? 踩窩窩?? 送禮物?? 問候Ta 無法回復(fù)本站文章該怎么辦?
如何快速獲得超的個(gè)人論壇金幣
大量免費(fèi)資源共享
休閑娛樂搞笑花邊新聞
精彩美女圖片視頻等你來..
第六節(jié):枚舉類型
還記得我們?cè)贑程序中定義的product_category_t 類型嗎?
讓我們用IDA的“Enumerations”來定義一下。
首先,我們打開“Enumerations”窗口來創(chuàng)建一個(gè)新的枚舉類型
?
我們輸入我們的枚舉類型值
?
在check_product()函數(shù),我們可以用枚舉類型重新定義一些操作數(shù)。
右鍵點(diǎn)擊在數(shù)值上,就會(huì)彈出一個(gè)菜單,選擇“Symbolic constant”。
IDA就會(huì)自動(dòng)列舉枚舉值,用以匹配當(dāng)前的數(shù)值。
?
操作完成,我們就會(huì)得到下面的結(jié)果:
?
-----------------------------------------------------------------------------------------------------
第七節(jié):Bit-fields(位域)
BTW:Bit-fields,我的理解就是在結(jié)構(gòu)體中的位標(biāo)志。太菜!希望高手指正!
現(xiàn)在,我們來定義一下在software_info_t 結(jié)構(gòu)中的bitfields。
IDA的觀點(diǎn)就是,bitefields是一種特殊的枚舉類型。
我們可以選擇在枚舉類型創(chuàng)造窗口中的“Bitfield”選項(xiàng)。
?
還記得我們?cè)?jīng)在我們的程序中建立了兩種不同類型的bitfields ,
plateform和os包含了一種隱藏的模式:用來包含組合模式(用邏輯或來操作) 。因?yàn)橐环N產(chǎn)品可以同時(shí)在幾種plateforms和OS的組合。另一方面,category bitfield 中每一個(gè)數(shù)字表示一種類別:一種產(chǎn)品每次只能屬于一種類別。
在IDA中一種指定的模式,bitfield只能包含一個(gè)值。所以在描述plateform 和category bitfields時(shí)為了顯示組合模式,我們必須創(chuàng)建一個(gè)小的bitfields,每個(gè)值的一個(gè)bit.
?
現(xiàn)在我們開始創(chuàng)建category bitfield。mask值為0x3 (2 bits).我們指定一個(gè)名字、一個(gè)值、還有bitfield mask。我們還需要定義mask的名字:這個(gè)我們不用IDA自動(dòng)生成的,IDA有一個(gè)內(nèi)存助手可以幫助生成。
?
當(dāng)所有的bitfields被輸入,我們就會(huì)得到下面的結(jié)果:
?
用Operands 工具欄上的Enum member命令就可以定義我們程序中的Enum member數(shù)據(jù)
?
??????????????????????????????????????????????????????????????????????????????????????????????????? TOP
---------------------------------------------------------------------------------------------------------
第八節(jié):結(jié)構(gòu)體
我們的程序當(dāng)中包含了很多結(jié)構(gòu)體。現(xiàn)在讓我們來在IDA中描述一下結(jié)構(gòu)體,
看看是怎么提高匯編代碼的可讀性。
第一步,我們必須打開Structures 窗口,來創(chuàng)建一個(gè)新的結(jié)構(gòu)體類型。
?
結(jié)構(gòu)體的成員是一匯編的模式定義的。讓我們來定義software_t 結(jié)構(gòu)中的第一個(gè)成員。
一直按“D”知道它變成“dd”意思就是這個(gè)成員的值為 dword類型。
把它的格式定義為我們以前定義好的software_info_t 枚舉類型,然后我們用Rename命令輸入一個(gè)適當(dāng)?shù)拿?#xff1a;info
?
開始定義第二個(gè)成員,這次使用ASCII命令(按“A”),在這個(gè)環(huán)節(jié)
IDA會(huì)彈出一個(gè)專用對(duì)話框用來設(shè)定字符串的大小
?
我們還可以從已經(jīng)分析好的數(shù)據(jù)中來建立結(jié)構(gòu)體。
舉個(gè)例子:假設(shè)我們選擇了一塊數(shù)據(jù)正好是和我們的customer_t結(jié)構(gòu)體的數(shù)據(jù)格式一樣,我們就可以用IDA的“Create struct from data ”命令來創(chuàng)建結(jié)構(gòu)體
?
一旦使用了這個(gè)命令,IDA就會(huì)在Structures窗口創(chuàng)建一個(gè)相對(duì)應(yīng)的結(jié)構(gòu)體
我們使用“A”鍵來修改name成員的長(zhǎng)度為32bytes(和我們?cè)创a中定義的一樣),然后再給結(jié)構(gòu)體一個(gè)好聽的名字。
我們拿這些結(jié)構(gòu)體有什么用呢?IDA提供給我們兩種方法:
·Apply structure types to initialized data in the program.
·Convert operands as offsets inside structures.
我們將在下面的教程當(dāng)中來介紹這兩種方法
??????????????????????????????????????????????????????????????????????????????????????????? TOP
---------------------------------------------------------------------------------------------------------------------?
本站所有獲得金錢及回復(fù)力的途徑歸納(2010年5月5日)
如果您覺得資源好,請(qǐng)回帖支持鼓勵(lì)下,也讓更多人知道這個(gè)資源的重要性。謝謝!
超的個(gè)人論壇默認(rèn)新注冊(cè)用戶只能回復(fù)50帖,10金,回復(fù)力為"0"時(shí)將無法回復(fù).金幣為0無法下載收費(fèi)附件
回復(fù)力及金幣獲得方法完成論壇任務(wù)
?
?回復(fù) 引用 評(píng)分 TOP
?
?
超迷NO:105發(fā)短消息
加為好友
忠誠(chéng) 當(dāng)前離線
UID105 帖子29 精華0 積分48 威望1 點(diǎn) 金錢249 ¥ 貢獻(xiàn)43? 回復(fù)力191 帖 閱讀權(quán)限90 在線時(shí)間4 小時(shí) 注冊(cè)時(shí)間2009-7-26 性別人妖
VIP會(huì)員
?
積分48 威望1 點(diǎn) 金錢249 ¥ 回復(fù)力191 帖 人氣1 °C 在線時(shí)間4 小時(shí)? 3樓
?忠誠(chéng)(性別: ) 發(fā)表于 2009-11-19 16:44 | 只看該作者??? 踩窩窩?? 送禮物?? 問候Ta 不錯(cuò)看看。。。。。。。。。。?
永遠(yuǎn)忠誠(chéng)
?
?回復(fù) 引用 評(píng)分 TOP
?
?
???
?返回列表?
??? 高級(jí)回復(fù) | 發(fā)新話題 B Color
?
?
Image Link Quote Code Smilies?
?換一個(gè)? 發(fā)表回復(fù)
?
綜合交流
綜合投稿(原創(chuàng)為主)
關(guān)于我
熱門專區(qū)
5d6d代碼教程分享
接收機(jī)刷機(jī)技術(shù)交流(衛(wèi)星)
刷機(jī)求助答疑區(qū)
刷機(jī)資源分享區(qū)
休閑娛樂談天說地
明星:J.NOT何潔
最新MV資源分享
精品軟件代碼資源
會(huì)計(jì)考試資源下載專區(qū)
海峽項(xiàng)目交易(高校)
學(xué)習(xí)討論
家電維修
電視技術(shù)交流
移動(dòng)通訊資源
各種電路圖下載
站長(zhǎng)交流
電腦問題
文學(xué)天地
精彩短篇小說
win7專區(qū)
win7系統(tǒng)下載 / 裝機(jī)光盤
win7桌面美化 / 壁紙下載
win7系統(tǒng)優(yōu)化 / 技術(shù)進(jìn)階
Win7 驅(qū)動(dòng)程序 / 驅(qū)動(dòng)交流
win7用戶交流/問題求助
生活討論
健康常識(shí)
社會(huì)新聞
體育天地
情感空間
音樂空間
游戲討論
冒險(xiǎn)島
魔獸真三國(guó)無雙
名將三國(guó)
三國(guó)視頻
其他游戲
社區(qū)管理
論壇活動(dòng)中心
會(huì)員服務(wù)中心
回收站-『超的個(gè)人論壇』愛墻 賬號(hào)發(fā)放中心 領(lǐng)取紅包 社區(qū)銀行 網(wǎng)頁(yè)游戲 便民中心 挖金子爭(zhēng)車位開心農(nóng)場(chǎng)榮光醫(yī)院開心寶貝-
超的個(gè)人論壇 ( 閩ICP備09051391號(hào))|聯(lián)系我們 |論壇統(tǒng)計(jì)|Archiver| 站長(zhǎng)統(tǒng)計(jì) |?
GMT+8, 2010-7-7 09:53, Processed in 0.205741 second(s), 8 queries, Gzip enabled.
Powered by Discuz! 7.0.0
? 2001-2010 Comsenz Inc.
本篇文章來源于 超的個(gè)人論壇(http://cwc206.5d6d.com/) 原文出處:http://cwc206.5d6d.com/thread-848-1-1.html
總結(jié)
- 上一篇: 苹果无线笔记本怎么连不上win服务器,苹
- 下一篇: 鸡肋的 Nero BurnLite 10