日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件逆向工程必读

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件逆向工程必读 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習逆向沒有Silver bullet,技術在更新,你也需要不斷的學習,但是大致上有些基礎的東西是需要學習的.

需要看的書籍:

1.Intel 微處理器.

2.Windows環境下32位匯編語言程序設計

3.WindowsPE權威指南

4.C++反匯編與逆向分析技術揭秘

5.加密與解密第三版

6.IDA Pro權威指南

需要掌握的工具:

靜態反匯編工具: IDA Pro/hooper(一般)

動態反匯編工具: ollydbg/x64dbg

Windows內核調試工具: windbg

看這些書的基礎:熟悉C++,熟悉編程.針對不同的語言,你也要知道一些.至此,軟件逆向你就入門了.

我始終認為,要在逆向與反匯編上有大的成就,編程是必須會的.再接著就是必須熟悉密碼學.熟悉軟件工程.因為越往后走,你會越發現,軟件逆向并不是簡單的反匯編,而是需要很多的知識.其中編譯器的知識是需要的.軟件逆向是會走向工程化的.很多時候一個人是在短時間內無法完成的.這個時候借鑒軟件工程的方法,會有好處.目前在國內外對于軟件逆向的研究并不是很成熟,軟件逆向工程性的方法理論目前也沒有成熟.因此在軟件逆向領域是非常有挑戰性的.這是一門新興的領域,需要廣大愛好者的研究和投入.

其次軟件逆向是針對不同的語言,難易程度不同.對于非編譯型語言,逆向的難度要小很多.目前我認為編譯型語言逆向最難的是C++.對于C++的逆向,我十分推薦上面提到的4.C++反匯編與逆向分析技術揭秘這本書.

國外也有兩篇極佳的論文/文章:

黑帽大會上的演講:https://www.blackhat.com/presentations/bh-dc-07/Sabanal_Yason/Paper/bh-dc-07-Sabanal_Yason-WP.pdf

Reversing Microsoft Visual C++ Part II: Classes, Methods and RTTI. igorsk .http://www.openrce.org/articles/full_view/23

國內論壇上也有一些文章(大致看看就行了):

【原創】RTTI結構詳細分析(VC++)

【原創】易語言消息機制分析(消息攔截原理)

【原創】MFC消息攔截分析(+示例程序分析)

【原創】逆向分析 C++繼承內存分布(帶虛函數) 及動態綁定實現

密碼學在逆向中的應用:

【原創】UltraISO注冊算法&keygen分析(已算出一組注冊碼)

所以最終的重點是啥?如果你只想了解一下逆向,看看前面兩本書就OK了;如果你想逆向軟件系統,達到我推薦的層次也就OK了;如果你想寫反編譯引擎,那就深入了解編譯原理以及現有的反編譯理論(看論文啊大佬);如果你想解放全世界,請先精通哲學:)

鏈接:https://www.zhihu.com/question/276677186/answer/388980350

總結

以上是生活随笔為你收集整理的软件逆向工程必读的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。