IDA.【轉】5.IDA-文本搜索、二進制搜索(16進制字節序列)、替換16進制


http://blog.csdn.net/cosmoslife/article/details/53024007

 

ZC: 測試了一下,感覺 只有GB2312的常量是能夠被IDA檢測到的,UTF8的常量 IDA的"Search --> sequence of bytes..."也查不到(顯示是亂碼)(Qt532中驗證過UTF8的char數組數據是正確的)...

ZC: 上面我是通過 "Search --> sequence of bytes...",直接輸入 英文雙引號 + 中文,進行搜索的。也可以直接使用 16進制數組成的字符串 進行搜索,格式是xx xx xx(不過IDA的搜索功能是搜索IDB數據庫中的對應字符串)。

  ZC: 使用這種方式的話,也可以直接使用WinHex、UltraEdit、EditPlus(這個不知道行不行),來進行搜索

  ZC: 使用該方式的話,就無所謂 GB2312還是UTF8等編碼了,直接搜 字符串對應編碼的16進制串 就行了。(IDA中嘗試了,也是可以的)

 

http://blog.csdn.net/hgy413/article/details/6956847

 

1.文本搜索

IDA文本搜索相當於對反匯編列表窗口進行子字符串搜索。通過Search▶Text(熱鍵:ALT+T)命令啟動文本搜索
選擇Find all occurences(查找所有結果),IDA將在一個新的窗口中顯示搜索結果,最后,使用CTRL+T或Search▶Next Text(Ctrl+T)命令可重復前一項搜索,以找到下一個匹配結果
文本搜索不一定准確,如以下匯編(IDA轉換的),文本搜索是搜不到的(實際它對應的文字是:吾愛破解匯編指令查詢器)
[cpp]  view plain  copy
 
 
  在CODE上查看代碼片派生到我的代碼片
  1. .text:004016DC                 dd 0AEB0E1CEh, 0E2BDC6C6h, 0E0B1E3BBh, 0EEC1B8D6h, 0AFD1E9B2h  

2.二進制搜索

使用Search▶Sequence ofBytes(搜索▶字節序列)或ALT+B即可啟動二進制搜索,
 
0.要搜索一個十六進制字節序列,應將搜索字符串指定為以空格分隔的兩位十六進制值組成的列表(不區分大小寫)
1.要搜索內嵌的字符串數據(有效搜索十六進制窗口中的ASCII字符串),你必須將搜索字符串用引號括起來,如果不括起來,會彈出提示
2.在搜索十六進制字節序列時,最好選中Case-sensitive選項,不然,如果對E9 41 C3進行不區分大小寫的搜索,你會驚奇地發現,E9 61 C3出現在了搜索結果中。這是因為,0x41對應於字符A,而0x61則對應於字符a,所以IDA認為這兩個字符串相互匹配。
3.使用CTRL+B或Search▶Next Sequence of Bytes(搜索▶下一個字節序列)可以搜索隨后的二進制數據。
如搜索“吾愛破解匯編指令查詢器”
 
搜到后,跳轉到004016DC,先Undefine,再把它轉換成文字(按A或右鍵選擇)(注意要先undefine才能轉換)
然后文字就可以搜出來了
 
 
不要期望使用String窗口幫你列出來,還是老老實實搜比較靠譜
 
在進行十六進制搜索時,如果希望將搜索限定為完全匹配,你必須選中Case-sensitive選項。在你搜索特定的操作碼序列而非ASCII文本時,這點尤為重要。
 

3.替換16進制

搜索完后,要替換2進制字符串,可以使用以下方式:
1.打開C32Asm.exe,以16進制加載
2.CTRL+F,輸入要查找的16進制,輸入要替換的16進制(保持它們長度一致)
3.選擇全部替換即可
 
獲得二進制16進制的方式
可以通過UE來操作,選中編輯▶16進制功能▶16進制復制選定視圖即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM