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