iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0
Software Development

闖入DLL的世界 DLL我要進來了哦系列 第 7

第七天:要用甚麼觀察dll呢?顯微鏡?

  • 分享至 

  • xImage
  •  

大家好我是Andy,目前來到了第七天,今天我們來講講另一個工具StudyPE和CFF Explorer,可以讓我們觀察dll的工具,應該要學乖一點備多一點稿的。

StudyPE+

我們將前面做的dll丟進去

導出函數

在實作DLL那篇我們有提到要使用extern將函數導出,所以這時我們可以到導出看一下是不是真的有ccc這個函數導出

導入

既然有導出,那必定有導入,一定很想說我們沒有引用任何函數為甚麼會有導入

這邊其實都是我們在調用系統級的dll,可以一個一個去按按看,程式會顯示出dll內有的函數
像是USER2裡面就存放了MessageBoxA

或是將我們製作出來的exe丟進去再導入的部分也可以看到我們將做出來的dll內的ccc函數導入進去

CFF Explorer


將dll丟進去

在導出的部分一樣可以看到我們導出的函數

所以這些東西都存在哪裏?

之後我會多介紹幾個遊戲會常常調用的動態資料庫,而這些動態資料庫都是Windows儲存在System32裡面的

結語

今天我們簡單介紹了Study PE+和CFF Explorer工具,大家也可以試試看把其他檔案丟進去看看,所以前面我們在介紹 DLL到底是個甚麼玩意兒? 的時候就會提到這種動態資料庫都是微軟公司在Windows系統下共享的函式庫,在程式開發的時候就可以直接調用內建的動態資料庫,這樣可以節省最後包裝出來的空間。也就是說為甚麼會分成windows版的和ios版的,除了系統上面的不同之外,開發的模式也完全不一樣,那我們明天見。


上一篇
第六天:嘗試「動態」調用動態連結函式庫
下一篇
第八天:Program Process Thread又有三角戀?
系列文
闖入DLL的世界 DLL我要進來了哦30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言