VS2010編寫32位和64位dll環境配置,以及判斷dll是多少位


前言

最近在編寫dll注入程序的時候,因為想注入到系統進程,結果發現總是注入失敗。自閉了好長一會發現我忘記了我的系統是64位的,系統進程也是64位的,而我編寫的待注入的DLL是32位了,所以才導致失敗。在配置編寫64位dll環境時碰見一些坑,總結一下希望能幫助到其他人。

環境配置

以vs2010的設置為例,其他版本的vs應該差不多。

  • vs2010默認生成的是32位版本的程序(EXE,DLL),我們需要點擊配置管理器自己進行配置

  • 然后我們在活動解決方案平台下拉,新建。

  • 然后設置為x64,其余選項默認不變。

  • 確定后關閉,我們這是可以在配置處看到現在為x64版本。但是還沒有配置完成,我們需要在修改一下配置。

  • 我們在項目處右擊-》配置,然后我們需要確實平台處顯示的是X64,保證我們修改的是剛剛新建的x64版本的配置。如果不是x64需要選擇x64后再進行下面的配置。

  • 我們選擇c/c++ -》 預處理器,然后將默認的WIN32改為WIN64。

  • 接着我們選擇鏈接器 -》 高級,確定目標計算機處為64位版的,如果不是需要選擇為64位版本的。這樣設置就完成了。

判斷DLL位數

  • 我們先判斷在WIN32版本下生成的DLL的位數,打開VS自帶的命令提示工具。 輸入dumpbin /headers + DLL路徑,查看DLL位數為32位


  • 我們在判斷X64版本下生成的DLL的位數,發現其為64位


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM