最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C++程序反編譯筆記(13) 資源丟失

2022-12-20 16:04 作者:GC_CH  | 我要投稿

????之前用簡(jiǎn)單的方法解決了字符串資源丟失的問題.

????可執(zhí)行文件中還有很多其他的資源, 比如位圖, 音頻, 對(duì)話框等.?

????字符串資源十分簡(jiǎn)單, 可以在代碼中直接用字符串常量代替原來的LoadString函數(shù)調(diào)用. 其他資源就不好辦了, 因?yàn)槠渌Y源的數(shù)據(jù)結(jié)構(gòu)比較復(fù)雜, 不清楚內(nèi)部數(shù)據(jù)結(jié)構(gòu)的話, 資源就相當(dāng)于一個(gè)很長(zhǎng)的字節(jié)數(shù)組.?

????當(dāng)然也可以用字節(jié)數(shù)組常量來替換原來的資源, 但是最方便的辦法還是 : 從可執(zhí)行文件中導(dǎo)出資源, 然后添加到項(xiàng)目中.

使用Resource Hacker導(dǎo)出資源

????

????使用Resource Hacker打開"掃雷.exe" 可以看到, 里面有很多資源. 點(diǎn)擊菜單"Action" -> "Save ALL Resources to an RC file ...", 然后選擇保存位置,?Resource Hacker將導(dǎo)出所有資源并生成一個(gè) xxx.rc 文件.

????導(dǎo)出的資源文件如下, 主要是 "掃雷.rc" :

????

導(dǎo)入資源到項(xiàng)目中

????rc文件就是Visual Studio項(xiàng)目資源描述文件, 可以直接把它添加到項(xiàng)目中(只需要添加rc文件就可以了, 其他資源文件被包含在了rc文件中).

????但是Resource Hacker導(dǎo)出的rc文件有點(diǎn)問題, Visual Studio會(huì)報(bào)錯(cuò). 因此, 我們創(chuàng)建一個(gè)新的rc文件, 然后把導(dǎo)出的rc文件的代碼復(fù)制過來. 出現(xiàn)問題的原因應(yīng)該是rc文件版本不同, 代碼格式做了一些修改.

????接下來把導(dǎo)出的資源文件復(fù)制到 Resource.rc 文件同級(jí)文件夾下, 并將 "掃雷.rc" 除第一行外的內(nèi)容全部復(fù)制, 粘貼到 Resource.rc 中的如下位置:

修復(fù)rc文件錯(cuò)誤

????選中Resource.rc文件, 右鍵 -> 編譯, 發(fā)現(xiàn)還會(huì)報(bào)錯(cuò) "FW_NORMAL" 及 "FALSE" 未定義, 把所有FW_NORMAL替換為400, FALSE 替換為0 就行了.

????這是在定義字體, 數(shù)值是多少不太重要, 具有可以參考RC文件的格式.

????

運(yùn)行程序

????啟動(dòng)項(xiàng)目, 可以看到如下界面:

????已經(jīng)有掃雷的輪廓了, 但是有點(diǎn)亂碼的感覺, 還需要繼續(xù)修復(fù).



C++程序反編譯筆記(13) 資源丟失的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
东乌珠穆沁旗| 洪湖市| 盐源县| 冀州市| 丹凤县| 潍坊市| 饶阳县| 武山县| 伊川县| 巴楚县| 海宁市| 宁远县| 台湾省| 昌乐县| 绥德县| 陈巴尔虎旗| 开远市| 镇坪县| 井陉县| 望奎县| 莱西市| 荥阳市| 邻水| 九龙县| 陇南市| 若羌县| 昌黎县| 开原市| 林口县| 彰武县| 东方市| 上蔡县| 滨州市| 伊春市| 丰顺县| 罗定市| 栾川县| 达孜县| 苍梧县| 虹口区| 井陉县|