區塊鏈安全諮詢公司曲速未來表示:分析惡意軟體的方法有很多種。在這篇文章中,我們舉例說明了一種典型的分析方法:將未知樣本與已知樣本進行比較,以確定未知樣本是否為惡意樣本。
據悉,在一次約會中,遇到了乙個觸發反病毒的pdf文件。引起了興趣的是,該檔案具有與被認為良性的另一檔案相同的標題和幾乎相同的大小。那防毒軟體找到了被攻占的檔案嗎?下面將揭曉。
通常,在執行pdf文件分析時,首先是pdfid:最起碼知道了可以在文件中找到什麼。下面在這裡採取同樣的開端,但並不打算詳細研究pdfid製作的報告。
首先,下面是比較已知和未知樣本的報告:
使用diffdump.py比較兩個報告可以知道這些報告是相同的(檔名除外,它包含在報告中)。然後可以更進一步,使用選項-a為pdf中找到的所有名稱生成報告,而不是僅顯示可能表示惡意行為的名稱。
但有相同的結果:報告是相同的。從詞彙pdf語言的角度來看,這些文件是相同的。但知道它們並不是,它們有乙個不同的加密雜湊,觸發了反病毒,而另乙個沒有。
是時候在pdf-parser的幫助下深入研究這些文件的語法和語義。pdf-parser有乙個鮮為人知的選項(-a)來計算pdf文件中找到的元素和物件的統計資訊:
比較了2個樣本的統計資料,發現它們是相同的:
除了報告開頭的一些字元之外,報告幾乎完全相同。這是關於這些檔案差異的第乙個重要線索。而且當比較這些檔案開頭的注釋時,更令人注意到它們是相同的,除了行尾字元:\n表示樣本,\r\n表示原始字元:
在windows上,行尾定義為2個字元:回車+換行符(0x0d 0x0a或\r\n)。在linux上,它是乙個單一字元:換行符。
檔案完全相同!
結論
區塊鏈安全諮詢公司曲速未來表示通過此分析得出:明顯顯示兩個文件是相同的,除了行尾字元。相信這些原來的並不是惡意的,因為可以很簡單地將原始版本轉換為具有eol轉換的樣本,所以能得出結論,樣本不能是惡意的。通常,差異分析不會那麼明確,但它仍然是逆向工程師的重要方法。
LineDDA的乙個例子
unit unit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,extctrls,stdctrls,buttons type tfmmain class tform ...
SQL GROUP CONCAT的乙個例子
我有乙個這樣的資料庫 user info 現在有乙個需求是把這樣 9 條記錄按照 username 來 group 成3條記錄 目標 shu female 201 lee male 202 yuki female 181 如果用select from user info group by usern...
explode的乙個例子
select level as level,explode split 1,2,3 as value 可以生成結果 level value level 1 level 2 level 3 lateral view 1.lateral view 用於和udtf函式 explode,split 結合來使...