我為什麼要學習C 反彙編

2021-09-20 14:14:19 字數 1018 閱讀 6221

寫在開始

從6月7日開始到今天已經有5天了,在這5天的業餘時間(工作之餘)裡終於系統的完成了c++反彙編的大部分問題的學習,今天寫篇總結,算是對這幾天學習的總結。

首先我想說明的乙個問題就是我為什麼要花時間研究c++反彙編?

這事得從筆者遇到的乙個問題開始說起,大約2週前我們專案做在開發過程中遇到了乙個crash的問題,由於只有客戶提供的乙個.dmp檔案,我們只能從這個地方入手,說起來很奇怪,從c++**的角度根本看不出來問題,我找來了乙個傳說中的公司的大牛,大牛就在我面前給我詳細的分析了一遍這個轉儲檔案,感覺他看反彙編出來的**就像看c++源**一樣,看問題也會更透徹,這個問題分析結束了之後筆者覺得應該在這方面稍微研究一下,於是有了最近的幾篇文章。

我是怎麼研究的

說起彙編**,最開始接觸是上大學的時候,學校教的ibm-pc組合語言,當時覺得還成,用彙編寫些東西還算順利,後來大三以後在做在做嵌入式開發(arm,dsp開發筆者都略懂)的時候也寫過一些彙編的**,那麼為什麼看c++反出來的彙編我突然看不懂了呢?

首先就是對不上號,看到彙編**,不知道對應的c++**應該是什麼樣子的,於是在這幾天裡面我寫了很多的demo, 試圖找到兩者之間的對應關係,包括:

1.       函式呼叫

2.       虛函式處理

3.       類處理

4.       this指標

5.       虛表

6.       引數傳遞

7.       棧實現

終於把這兩者之間的對應關係找到了,找到了這兩者的對應關係以後,再去看反出來彙編感覺是有如神助,行雲流水,不敢說全懂了,但是大部分已經打通了。

總結,建議和致謝

感謝大牛讓我見識到了c++反彙編有東西需要學,其實學習這東西不是說乙個人有多牛,重要的是你應該根據自己的情況知道自己欠缺哪方面的知識,並且知道如何去補上這些東西,如果有需要同樣知識的朋友,建議作**對比,個人覺得這是乙個捷徑。如果對這方面有什麼問題歡迎一起討論,共勉..

我為什麼要學習C 反彙編

我為什麼要學習 c 反彙編 寫在開始從6 月7日開始到今天已經有 5天了,在這 5天的業餘時間 工作之餘 裡終於系統的完成了 c 反彙編的大部分問題的學習,今天寫篇總結,算是對這幾天學習的總結。首先我想說明的乙個問題就是我為什麼要花時間研究 c 反彙編?這事得從筆者遇到的乙個問題開始說起,大約 2週...

我為什麼要學習C 反彙編

寫在開始 從6月7日開始到今天已經有5天了,在這5天的業餘時間 工作之餘 裡終於系統的完成了c 反彙編的大部分問題的學習,今天寫篇總結,算是對這幾天學習的總結。首先我想說明的乙個問題就是我為什麼要花時間研究c 反彙編?這事得從筆者遇到的乙個問題開始說起,大約2週前我們專案做在開發過程中遇到了乙個cr...

我為什麼要學習C 反彙編

我為什麼要學習 c 反彙編 寫在開始從6 月7日開始到今天已經有 5天了,在這 5天的業餘時間 工作之餘 裡終於系統的完成了 c 反彙編的大部分問題的學習,今天寫篇總結,算是對這幾天學習的總結。首先我想說明的乙個問題就是我為什麼要花時間研究 c 反彙編?這事得從筆者遇到的乙個問題開始說起,大約 2週...