日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言修改elf文件crc32,ELF文件中调试信息的格式说明?

發布時間:2024/1/23 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言修改elf文件crc32,ELF文件中调试信息的格式说明? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

看了很多文檔,都是對ELF文件中的調試信息格式一帶而過,包括《Linker?&?Loader》中也沒有詳細介紹。

我想獲取調試信息中的數據結構相關的信息,結構大小,每個變量的名稱,大小等信息。

|

通過objdump的命令,例如:tmp.o是elf文件,objdump參數應該為--sym

1、dump出符號表,objdumpppc?--sym?tmp.o?>?bootrom_sym.txt,內容如下:

tmp.o:?????file?format?elf32-powerpc

SYMBOL?TABLE:

02c00000?l????d??.text00000000

02ce7cc0?l????d??.data00000000

02d0a1f0?l????d??.bss00000000

00000000?l????d??.PPC.EMB.apuinfo00000000

00000000?l????d??*ABS*00000000

00000000?l????d??*ABS*00000000

00000000?l????d??*ABS*00000000

00000000?l????df?*ABS*00000000?bootConfig.c

02ce7da8?l?????O?.data00000078?netIf

02ce7e2c?l?????O?.data00000004?trapValue1

02ce7e30?l?????O?.data00000004?trapValue2

02ce7f34?l?????O?.data00000044?noticeChar.0

02d0a674?l?????O?.bss00000004?noticeNum.1

02d0a678?l?????O?.bss00000004?memTestRoundPass

02ce7f78?l?????O?.data00000004?SEED_X

02ce7f7c?l?????O?.data00000004?SEED_Y

02ce7f80?l?????O?.data00000004?a.2

02ce7f84?l?????O?.data00000004?b.3

02c00184?l?????F?.text00000058?memCheckRand

02c00200?l?????F?.text00000278?movinv1

02c00478?l?????F?.text000001d8?addr_tst1

02c00650?l?????F?.text00000184?addr_tst2

02c007d4?l?????F?.text00000284?modtst

02c00a58?l?????F?.text00000204?movinvr

02c00c5c?l?????F?.text00000340?movinv32

02c00f9c?l?????F?.text00000188?bit_fade

02c01124?l?????F?.text000003bc?enhancedMemCheckMainLoop

02c014e0?l?????F?.text000001d8?patchVecBase

02c018a0?l?????F?.text00000184?CheckRam

02c093a4?l?????F?.text000000c8?usrBootLineInit

02c08840?l?????F?.text00000080?go

.....................................................

2、dump出匯編,objdumpppc?--disassemble?tmp.o?>?bootrom_asm.txt,內容如下:

tmp.o:?????file?format?elf32-powerpc

Disassembly?of?section?.text:

02c00000?:

2c00000:94?21?ff?f8?stwur1,-8(r1)

2c00004:7c?08?02?a6?mflrr0

2c00008:90?01?00?0c?stwr0,12(r1)

2c0000c:4c?c6?31?82?crclr4*cr1+eq

2c00010:48?00?16?a9?bl2c016b8

2c00014:80?01?00?0c?lwzr0,12(r1)

2c00018:38?21?00?08?addir1,r1,8

2c0001c:7c?08?03?a6?mtlrr0

2c00020:4e?80?00?20?blr

02c00024?:

2c00024:94?21?ff?f8?stwur1,-8(r1)

2c00028:7c?08?02?a6?mflrr0

2c0002c:90?01?00?0c?stwr0,12(r1)

2c00030:48?08?88?09?bl2c88838

2c00034:48?0c?7b?b9?bl2cc7bec

2c00038:48?09?70?15?bl2c9704c

2c0003c:48?0c?49?41?bl2cc497c

2c00040:48?0c?65?49?bl2cc6588

2c00044:48?0c?51?29?bl2cc516c

2c00048:48?0c?1f?cd?bl2cc2014

2c0004c:48?0c?a9?ed?bl2ccaa38

2c00050:48?0c?2e?19?bl2cc2e68

2c00054:3c?a0?02?db?lisr5,731

2c00058:3d?20?02?cf?lisr9,719

2c0005c:80?89?4a?38?lwzr4,19000(r9)

2c00060:3c?60?02?db?lisr3,731

2c00064:38?c0?01?00?lir6,256

2c00068:38?a5?c6?14?addir5,r5,-14828

2c0006c:38?63?b9?48?addir3,r3,-18104

2c00070:4c?c6?31?82?crclr4*cr1+eq

2c00074:48?0a?12?4d?bl2ca12c0

。。。。。。。。。。。

就這樣,linux下面也有類似的工具。

總結

以上是生活随笔為你收集整理的c语言修改elf文件crc32,ELF文件中调试信息的格式说明?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。