Avast開源了機(jī)器碼反編譯器和分析工具RetDec,以幫助網(wǎng)絡(luò)安全社區(qū)抵御惡意軟件。該工具讓開發(fā)者能夠?qū)W習(xí)應(yīng)用程序代碼,而不必實(shí)際運(yùn)行應(yīng)用程序。
Avast安全小組在一篇文章中寫道,反編譯器可以用于各種情況。最重要的是在搜索錯(cuò)誤,漏洞或分析惡意軟件時(shí)進(jìn)行逆向工程。在比較兩個(gè)可執(zhí)行文件時(shí),反編譯也可以用來檢索丟失的源代碼,或者用來驗(yàn)證編譯好的程序是否正確地寫入了源代碼。
該公司之所以開源此工具,是因?yàn)橄M梢猿蔀橐粋€(gè)通用工具。通過保留程序的功能,Avast希望源代碼盡可能準(zhǔn)確地反映輸入程序的功能。
自2011年起,RetDec一直在開發(fā)中,當(dāng)時(shí)它是由AVG Technologies和布爾諾科技大學(xué)的信息技術(shù)學(xué)院聯(lián)合開發(fā)的。AVG于2016年被Avast收購,繼續(xù)完成編譯器工作。
目前,RetDec(Github地址:https://github.com/avast-tl/retdec)的功能包括新的文件格式支持和體系結(jié)構(gòu),可執(zhí)行文件的靜態(tài)分析,編譯器和打包程序檢測,加載和指令解碼,基于簽名的靜態(tài)鏈接庫代碼刪除等。
開發(fā)人員可以使用Avast的Web服務(wù)在瀏覽器中試用反編譯器,也可以使用REST API進(jìn)行訪問。
除此之外,上周GitHub五大熱門項(xiàng)目:
1、30 seconds of code:在30秒甚至更少時(shí)間內(nèi)就可以掌握的JavaScript代碼片段集合,該項(xiàng)目的中文版可參考:《Github分享:僅需30秒就可理解的48個(gè)JavaScript代碼片段!》
2、parcel:快速,零配置的Web應(yīng)用程序打包器(https://github.com/parcel-bundler/parcel)
3、Turi Create:旨在簡化定制機(jī)器學(xué)習(xí)模型開發(fā)的項(xiàng)目(https://github.com/apple/turicreate)中文版可參考:《蘋果開源機(jī)器學(xué)習(xí)工具沖進(jìn)Github熱度榜!》
4、Coding Interview University:學(xué)習(xí)成為一名軟件工程師(https://github.com/jwasham/coding-interview-university)
5、muuri:響應(yīng)式,可排序,可過濾和可拖動的網(wǎng)格布局(https://github.com/haltu/muuri)