天天看點

cuckoo提取樣本字元串

代碼位置:cuckoo\\processing\\strings.py

代碼整理後如下:

#coding:utf-8
import re

data=open("filepath","rb").read()	# 一定要以二進制形式讀取檔案的全部内容,否則你會發現比對出來的字元串不全
strings_A = re.findall("[ -~]{1,}",data)	# 讀取1個以上的單位元組連續可顯示字元(0x20-0x7e)
strings_W = re.findall("(?:[ -~]\x00){1,}",data):		# 讀取1個以上的unicode編碼的連續可顯示字元

return strings_A,strings_W
           

大概就是以二進制形式讀取檔案之後,使用正規表達式做比對。

其中(?:[ -~]\x00)應該是把2個位元組作為一個基本機關進行比對,

若是(?:[ -~]\x00\x00)應該是把3個位元組作為一個基本機關進行比對。

cuckoo提取樣本字元串

注意在ida的字元串視窗中看到\t、\n也顯示在字元串中,可以在正規表達式的[ ]中加入\t、\n,如下:

[ -~\\t\\n] 或者 [ -~\x09\x0a]

對于中文語系,可以使用專門比對漢字的正規表達式