3 回答

TA貢獻(xiàn)1835條經(jīng)驗 獲得超7個贊
psoul的出色帖子可以回答您的問題,因此我不會重復(fù)他的出色著作,但是我認(rèn)為這有助于解釋為什么這一次既是完全有效的又是非常愚蠢的問題。畢竟,這是一個學(xué)習(xí)的地方,對吧?
現(xiàn)代計算機程序是通過一系列轉(zhuǎn)換產(chǎn)生的,從輸入人類可讀的文本指令主體(稱為“源代碼”)開始,到以計算機可讀指令主體(稱為“二進制”或“機器”)結(jié)束碼”)。
計算機運行一組機器代碼指令的方式最終非常簡單。處理器可以執(zhí)行的每個動作(例如,從內(nèi)存中讀取,添加兩個值)均由數(shù)字代碼表示。如果我告訴您數(shù)字1表示尖叫,數(shù)字2表示咯咯笑,然后舉起上面印有1或2的卡片,希望您相應(yīng)地尖叫或咯咯笑,那么我將使用與計算機所使用的基本相同的系統(tǒng)操作。
二進制文件只是這些代碼(通常稱為“操作代碼”)和操作代碼所作用的信息(“參數(shù)”)的集合。
現(xiàn)在,匯編語言是一種計算機語言,其中該語言中的每個命令字正好代表處理器上的一個操作碼。匯編語言命令和處理器操作碼之間直接進行1:1轉(zhuǎn)換。這就是為什么x386處理器的編碼程序集與ARM處理器的編碼程序集不同的原因。
反匯編就是這樣:程序讀取二進制文件(機器代碼),用等效的匯編語言命令替換操作碼,然后將結(jié)果輸出為文本文件。了解這一點很重要;如果您的計算機可以讀取二進制文件,那么您也可以通過用手(op)手動操作(ick)或通過反匯編程序來讀取二進制文件。
反匯編器具有一些新的技巧,但必須了解反匯編器最終是一種搜索和替換機制,這一點很重要。這就是為什么任何最終禁止它的EULA最終都會吹熱風(fēng)的原因。您不能一次允許計算機讀取程序數(shù)據(jù),也不能禁止計算機讀取程序數(shù)據(jù)。
(請不要誤會我,已經(jīng)嘗試過這樣做。它們在歌曲文件上的作用和DRM一樣好。)
但是,拆卸方法有一些注意事項。變量名不存在;您的CPU不存在這種情況。庫調(diào)用就像地獄一樣令人迷惑,并且經(jīng)常需要拆卸其他二進制文件。在最好的條件下,匯編是很難讀的。
大多數(shù)專業(yè)程序員都不會坐下來閱讀匯編語言而感到頭疼。對于業(yè)余愛好者而言,這只是不可能的事情。
無論如何,這是一個有點掩蓋的解釋,但我希望它會有所幫助。每個人都可以隨意糾正我的任何錯誤陳述;有一陣子了。;)

TA貢獻(xiàn)1893條經(jīng)驗 獲得超10個贊
如果您只是想弄清楚惡意軟件的作用,那么在免費工具Process Monitor之類下運行它可能會容易得多,該工具會在每次嘗試訪問文件系統(tǒng),注冊表,端口等時進行報告。
此外,使用虛擬機(例如免費的VMWare服務(wù)器)對于此類工作非常有幫助。您可以制作一個“干凈”的圖像,然后在每次運行惡意軟件時都返回到該圖像。
- 3 回答
- 0 關(guān)注
- 933 瀏覽
添加回答
舉報