乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      在Visual Studio中將dll以資源的形式嵌入exe中

       行者花雕 2021-04-19

      一、Dll的優(yōu)點:

      1、擴展應(yīng)用程序的特性

      2、簡化項目管理

      3、有助于節(jié)省內(nèi)存

      4、促進資源的共享

      5、促進本地化

      6、有助于解決平臺間的差異

      7、可用于特殊目的

      有關(guān)于dll及注入相關(guān)理論資料,可參考《Windows核心編程5》第四部分(19-22)

       

      二、做dll注入時遇到的坑

      環(huán)境:VS2013

      dll功能:彈出對話框、cmd調(diào)用命令打開word文檔

      exe功能:注入dll到系統(tǒng)進程explorer.exe

       

      問題:dll注入成功,但是dll中的代碼未運行(未彈出對話框及打開word文檔)

      1、編譯要選擇Release版本,win32或者x64根據(jù)電腦的系統(tǒng)版本選擇

      2、exe注入dll時,傳參的路徑中要存在dll。這個坑我是怎么都沒想到,陰溝里翻船了!我用的是獲取當前路徑函數(shù)[GetCurrentDirectory],而exe運行時獲取的路徑并不是exe真實存在的路徑,或許你聽起來蒙圈了,但是遇到注入失敗時,確定路徑是否正確也是一個調(diào)試思路。

      三、無法獲取dll路徑

      當我獲取路徑的問題無法解決時,有兩種方法可以繞過該問題

      1、dll加密成字符串存儲到exe中的大數(shù)組里,然后解密到指定路徑dll_path下的.dll文件中,在注入的時候,直接傳路徑dll_path就萬無一失了。

      2、Visual studiodll以資源的形式嵌入到exe中。

      我采用了第二種方法解決,第一種方法還未嘗試 

      四、以遠線程注入為例

      1、準備

      示例采用VS2012,win32控制臺--->空項目

      選擇Release、win32版本

      解決方案資源管理器窗口中,右鍵選擇屬性

      修改項目屬性C/C++---->代碼生成--->運行庫--->多線程(/MT)

      修改項目屬性鏈接器--->調(diào)試--->生成調(diào)試信息--->

      這樣生成的exe最小,而且當反編譯時,避免出現(xiàn)編譯路徑等調(diào)試信息。

      關(guān)于dll注入的代碼,強推https://github.com/fdiskyou/injectAllTheThings ,至少我在調(diào)試的時候,環(huán)境適配性很不錯。

      2、代碼 

      右鍵添加現(xiàn)有項,將遠線程注入所需的.cpp、.h文件添加進去,然后再修改一下頭文件包含的問題。

      解決方案資源管理器窗口中,右鍵選擇添加--->資源

      彈出對話框

       

      選擇導(dǎo)入

       

      這里要選擇所有文件,否則.dll格式的文件無法顯示,選擇想要注入的dll后,出現(xiàn)下圖所示對話框。

      點擊確定后,解決資源管理方案中多出了三個文件

       

      在加載資源函數(shù)前,添加頭文件[#include “resource.h”],否則有一些函數(shù)會報錯

      然后編譯一下,如果還有語法報錯,相信憑經(jīng)驗很快就能夠解決掉它了。

      最終在win7虛擬機中運行的結(jié)果如下圖所示

       

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多