修改应用程序图标(csdn貌似还没有直接从机器码谈起的文章)
前言
展示如何修改應(yīng)用程序的圖標(biāo)。
因?yàn)槭侨腴T級(jí)別的,博主也是剛剛接觸,所以下面展示的這個(gè)例子有非常大的局限性,不過也算是能有所收獲。
正文
提示:看懂這篇博客的基礎(chǔ)是起碼得了解PE文件格式,并且掌握PEView和UltraEdit兩款工具的使用方法。(想要學(xué)習(xí)PE文件格式的話可以查看博主的文章 PE文件結(jié)構(gòu)詳解精華(從頭看下去就能大概了解PE文件結(jié)構(gòu)了),里面很詳細(xì)地介紹了PE文件格式)
實(shí)驗(yàn)?zāi)康?/h3>
更換 PEView_副本.exe 的圖標(biāo)。
更換前:更換后:
實(shí)驗(yàn)過程詳解
實(shí)驗(yàn)工具:PEView、UltraEdit
實(shí)驗(yàn)材料:PEView_副本.exe、CS.ico(這個(gè)就是新的圖標(biāo))
第一步:
使用PEView打開一個(gè)exe文件(這里我使用PEView_副本.exe示例),打開.rsrc資源節(jié)的 IMAGE_RESOURCE_DATA_ENTRY(數(shù)據(jù)項(xiàng):存放各資源的基本信息)。我們可以看到 ICON 0002 1009資源的size是2E8 bytes(我們將要更換的圖標(biāo)大小也是2E8 bytes,它們的大小是一樣的,所以我在前言說這篇博客的內(nèi)容有很大的局限性)。
第二步:
將PEView_副本.exe中 ICON 0002 1009 的內(nèi)容更換為 CS.ico 的內(nèi)容。
-
ICON 0002 1009的初始地址和結(jié)尾地址:
有空的話可以數(shù)一下,大小剛好是 2E8 bytes 。 -
復(fù)制 CS.ico 圖標(biāo)內(nèi)容到 PEView_副本.exe:
從圖中畫紅線部分開始往下復(fù)制,因?yàn)榍懊娴氖荂S.ico的信息部分,而不是CS.ico的圖標(biāo)部分
復(fù)制粘貼到PEView_副本.exe的 DB10h~DDF7h 處
-
復(fù)制 CS.ico 信息內(nèi)容到 PEView_副本.exe:
查看存放PEView_副本.exe圖標(biāo)信息的GROUP_ICON 0001 1009。信息部分的各字段的含義已在圖片中說明。PEView_副本.exe畫紅線部分需要更換為CS.ico中的信息內(nèi)容。為什么只選擇畫紅線部分呢?博主現(xiàn)在也不清楚,后續(xù)會(huì)補(bǔ)上。
如何更換呢?定位好地址直接復(fù)制粘貼過去就行了。(記得:用UltraEdit才能復(fù)制粘貼。)
復(fù)制粘貼后:
在上圖陰影部分中,我們還需要修改幾處:
為什么那個(gè)16要修改為2呢?因?yàn)閳D標(biāo)的序號(hào)是0002。
理論上來說,16是要修改成2的,但博主在實(shí)際操作中發(fā)現(xiàn)修改成1也行。暫時(shí)還不知道原因是什么,下次一定補(bǔ)上。
實(shí)驗(yàn)結(jié)果
至此,實(shí)驗(yàn)完成!總結(jié)
以上是生活随笔為你收集整理的修改应用程序图标(csdn貌似还没有直接从机器码谈起的文章)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 专题导读:大数据异构并行系统
- 下一篇: Git完整入门教程(从0开始)