官术网_书友最值得收藏!

序三

我也曾是一名逆向分析工程師。在20世紀90年代初,計算機圖書很少,想成為計算機高手,逆向分析是必備技術(shù)。通過逆向分析,可以了解DOS操作系統(tǒng)未公開的秘密和BIOS的具體實現(xiàn),從而充分利用操作系統(tǒng)的功能,實現(xiàn)對硬件更精準、高效的控制。當年我利用反匯編方式逆向分析過計算機病毒,破解過各種磁盤密碼,甚至逆向分析過某著名的文字處理軟件。

在當今的計算機世界,逆向分析的最大用途是網(wǎng)絡(luò)安全,包括漏洞挖掘以及惡意程序樣本分析。惡意程序作者是不可能把源代碼一同奉上的,我們要通過逆向分析方法,了解惡意程序的工作機制,從而找出對抗的方法。安全公司一般都會配備一定數(shù)量的樣本分析工程師,日常工作就是通過逆向分析方法,分析所遇到的惡意文件樣本,從而對樣本進行定性與分類,并提取特征,甚至給出應(yīng)對建議。

不得不說,逆向分析是一件既需要悟性,又需要耐性的工作,面對的是最接近機器語言的匯編語言、基礎(chǔ)函數(shù)調(diào)用、系統(tǒng)API調(diào)用。做好逆向分析工作需要了解計算機、編譯器和操作系統(tǒng)是怎么工作的,這些在高等語言越來越流行、各種快速開發(fā)工具層出不窮的時代,被多數(shù)軟件工程師認為是沒有太大必要去了解的東西。但是如果要成為優(yōu)秀的軟件工程師,寫出高效、穩(wěn)定、安全的代碼,這些底層知識是需要具備的,在網(wǎng)絡(luò)安全這種特殊場景下,甚至是解決問題的唯一方法。

和錢林松認識,是因為我手下的不少逆向分析工程師是他的學生,通過他們了解到武漢科銳這家公司,后來去武漢出差時多次去科銳做客,和錢林松逐漸成了朋友,也有機會更多地了解他:一位放射物理專業(yè)的中專生,通過自學計算機技術(shù),從一名放射技術(shù)人員,成為逆向分析領(lǐng)域的大神;曾經(jīng)應(yīng)邀赴美國工作,最后又放棄在美國繼續(xù)工作的機會回到國內(nèi);在清華大學講學一年后,創(chuàng)辦了自己的公司從事逆向分析人才培養(yǎng)工作。這是一個典型的被興趣引領(lǐng)而自學成才的計算機工程師!

本書第1版出版于2011年,入選CSDN十大最具技術(shù)影響力圖書。過去十年間,技術(shù)還是有不少進步的:程序由32位到64位,編譯器進步了,IDE開發(fā)工具變化了,更不要說惡意程序的巨大變化。為了更好地幫助逆向分析工程師成長,錢林松在第1版的基礎(chǔ)上,采用Visual Studio 2019作為編譯工具,增加了C語言和GCC編譯器反匯編代碼的講解,增加了64位程序反匯編代碼的講解。當然,惡意代碼的例子也都換成了近年來有代表性的病毒、木馬、蠕蟲。

本書對于想成為優(yōu)秀C/C++程序員的讀者會很有幫助,尤其是第2章可以讓讀者了解C/C++的數(shù)據(jù)結(jié)構(gòu)在內(nèi)存中是如何存儲的、程序的流程是如何控制的,以及面向?qū)ο缶幊讨腥舾蓹C制的實現(xiàn)方法。對于希望成長為逆向分析工程師的讀者,在了解C/C++工作機制后,第13章會教會您逆向分析的一些技巧。

譚曉生
北京賽博英杰科技有限公司創(chuàng)始人
2021年8月

主站蜘蛛池模板: 利辛县| 定远县| 安龙县| 西贡区| 梁平县| 新余市| 北辰区| 鄄城县| 张家口市| 临西县| 五家渠市| 桑日县| 阳谷县| 五大连池市| 兰考县| 景东| 宁都县| 定边县| 仙居县| 龙陵县| 西城区| 肥乡县| 太仓市| 德安县| 馆陶县| 顺义区| 清徐县| 开鲁县| 长春市| 鹰潭市| 竹山县| 宝清县| 高州市| 石棉县| 西安市| 晋州市| 临城县| 宜州市| 乌兰县| 黔南| 兴化市|