DLL---工作筆記

源由
分析工程代碼的時候,由於各功能組件大量的使用了dll,註冊,管理調度器等思想方法,導致分析代碼結構十分的蛋疼。
解決過程
- 簡單瞭解了下dll的原理,dllmain load那幾個作用
-  理清了大佬們對export和inport的蛋疼解釋
結果
管理器
註冊機制
狀態機
預編譯宏 
現在又有了DLL這種玩意,確實構造靈活了,但是在無文檔和系統培訓的情況下,成倍的增加了學習的初始動能。(瞭解了範式之後,又顯得使用很輕鬆)
套路
阻止代碼跟蹤和邏輯的原因,一般都是F12查找定義或者查找引用的時候找不到當前目標的實現或者歸屬。
此處很不負責任的分爲 隱式加載和映射

1,dll中使用全局變量,當調用那個load dll函數的時候,全局變量的構造函數可以實現註冊,狀態等操作。(ps據說dll全局變量是程序編譯時就被加載的)此處只是這麼來理解了,無傷大雅。
2,函數指針數組映射,使用數組索引與函數進行映射。一次初始化後,使用索引來使用函數。
3,註冊,某管理器中,萬能指針,或者範式函數指針作爲承載物,在運行中將具體函數或數據賦值給該指針。
其實這些東西和c++的構造函數析構函數,虛函數等很像,具體原理也差不都。
總之,手段特徵是間接,隱藏。
此致,萬惡的c++
c是藝術,c++是技術。不純粹。
發佈了67 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章