逆向工程入門

2021-07-03 22:57:12 字數 2082 閱讀 8449

本問只是為初入逆向工程大坑的新人們指出方向學習,沒有實質性的技術。總的來說,基礎才是最重要的。

逆向工程入門應該算是所有學習方向中最難的。但是選擇了這一方向的請不要放棄,一旦學成,必定會是大神級別的存在。

那麼,逆向工程的入門需要學習什麼?

學習c語言是逆向工程的基礎。如果是學習滲透方向的,也許可以選擇python作為自己的第一門程式語言。但是作為逆向工程方向,第一門入門的語言沒有選擇,只有c語音。深厚的c語言功底是逆向工程的基礎。如果想學習逆向工程,務必要有深厚的c語言功底。逆向工程中c和彙編就是好比是一顆樹的根部和樹幹。沒有紮實的基礎是無法繼續更加深入的學習的。

*****=> 推薦書籍:《c primer plus》業界經典

作為逆向工程的2大基礎語言。組合語言也是一切其他學習的基礎。如果你認為已經具有深厚的c語言功底。可以清楚的理解指標的指標,陣列指標,指向陣列的指標,函式指標等等指標的概念之後,就可以開始學習組合語言的。組合語言是一門很非人類的語言,因為組合語言其實就是非人類的二進位制機器語言的另外一種表達形式而已。但是學習逆向工程,你就無法逃避學習組合語言。

學習組合語言,其實不只是入門而已。組合語言是需要不斷學習研究的。可以按照一下的路線學習

b.32位彙編

intel x86指令集的32位彙編是現在最主流的指令集了。它繼承了16位的彙編指令並發展而來,是現在最主流的組合語言了。 *****=> 推薦書籍:錢曉捷的《基於windows環境的組合語言程式設計》個人感覺繼續學習32位彙編不錯的一本書。

32位組合語言學習完成之後,就已經是算彙編,或者是逆向工程入門了。如果希望繼續學習彙編,可以從以下方向中自由選擇。

1.64位組合語言。

32位彙編再進化,如今愈來愈多的軟體支援64位的指令集。相信終有一天會代替32位彙編成為主流的組合語言。

2.arm指令集彙編。

安卓逆向必備,許多的移動產品cpu都是使用arm指令,如果有興趣可以深入學習

3.還有很多指令集,有興趣可以自由的學習

其實到了這一步,其實已經可以算作是逆向工程入門了,接下來就是繼續向更高的方向前進。

下面的是逆向工程幾個方向分支。感興趣就去學吧

想繼續在windows平台下玩耍的話可以選擇這個分支。學習軟體破解與加密技巧,遊戲外掛程式以及反外掛程式的技術。病毒的編寫以及分析的技術。其實都是建立在逆向工程技術之上的。

要學windows逆向,首先要對windows的api或者說是系統函式要有詳細的了解。推薦兩本書:

1.《windows環境下的32位彙編程式設計》(又名《琢石成器》)以組合語言講解windowsapi,必看。

2.**《windows程式設計》**window開發界的聖經,不變的經典。

如果對windows的api有了一定了解之後。可以開始學習windows上逆向工程的更高階技巧了。繼續安利兩本書:

1.《加密與解密》看雪出品,必屬精品。不可多得的逆向精品書

2.《逆向工程核心原理》評價挺不錯的書,值得一看

除了看書之外,就是可以找一些ctf或者creakme來練練手了。學到的知識只有通過實踐才能夠完全掌握。

0day攻擊。網路安全領域最可怕,最難以防禦,後果最嚴重的攻擊方式。掌握著未被公開的0day漏洞的黑客無疑是黑客中最為頂尖的存在。如果你學習linux,希望成為被人崇拜的2進製大牛,就向著這個方向前進吧。

這個方向資料實在不多,只有一本:《0day安全》依然是看雪出品。因為已經絕版,所以將就看盜版的吧。

隨著智慧型手機的普及,逆向工程也開始進入安卓手機平台。如果希望從事安卓逆向的人,可以學習此方向。

至於學習方法嘛。。。。首先,你要學會安卓開發。其次,你要學會arm指令集。然後開始安卓逆向之路。有一本推薦大家《android軟體安全與逆向分析》還是看雪出品。

相信對於初學者來說,這麼多的方向已經看的夠讓人眼花繚亂的了。不要驚慌,從最初的c語言開始吧。堅持著一步一步向前。你會慢慢發現逆向工程的世界比我寫的更加精彩。

本人能力所及範圍內就只有這一些了。如果有疏忽以及不正確的地方,歡迎指正

逆向工程惡意軟體入門(基礎篇)

本文講的是逆向工程惡意軟體入門 基礎篇 前言 在這個系列文章中,我會向大家介紹逆向工程惡意軟體的各個方面的知識。逆向工程惡意軟體是乙個很深奧和複雜的主題,因此很少有人掌握它,這也是這個領域的薪酬很高的主要原因。在開始本文之前,我需要先闡述乙個概念框架,並闡述與逆向工程惡意軟體有關的一些策略和問題。什...

PowerDesigner 逆向工程

1.odbc教程 1.1 設定odbc資料來源,控制面板 管理工具 資料來源 odbc 1.2 系統dsn 新增 選擇sqlserver 1.3,其他不管下一步 輸入登陸id,密碼 進行測試,沒通過重複上面步驟 2.powerdesigner教程 reverse engineer database ...

逆向工程工具

此處逆向工程特指從源 生成設計圖。三大設計工具是 microsoftvisio ibm rose sybase powerdesigner。visio不支援逆向工程。rose功能強大 依賴關係處理費勁 速度慢。powerdesigner可以依據源 生成漂亮的類圖,對閱讀源程式很有好處。如圖 dl4j...