您的位置:首页 > 产品设计 > UI/UE

反汇编uimage和查看符号表的方法

2015-07-18 14:36 495 查看
当只有uImage,而没有vmlinux,遇到问题时,可以通过这样的方法来查看反汇编。

1. 从uImage中提到压缩后的image

用UE打开uImage文件,找到1f 8b位置,如下,从0x58d4开始是gzip压缩的文件,使用dd将前面内容截掉。

000058c0h: 75 6E 63 6F 6D 70 72 65 73 73 69 6F 6E 20 65 72 ; uncompression er

000058d0h: 72 6F 72 00 1F 8B 08 00 00 00 00 00 02 03 E4 FD ; ror..?.......潺

000058e0h: 09 98 54 D5 B5 37 0E EF 53 43 77 75 77 D1 7D 7A ; .楾盏7.颯Cwuw複z

000058f0h: 40 5A 40 28 06 15 05 B5 18 54 62 50 0A 45 21 69 ; @Z@(...?TbP.E!i

2. 解压得到原始image

gzip -dc zimage > image

3. 反汇编

arm-linux-objcopy --change-addresses=0x80008000 -I binary -O elf32-littlearm -B arm image out

arm-linux-objdump -D out > dump.dis

4. 内核符号表

cat /proc/kallsyms可列出内核中所有的符号和对应的地址。

android下如果地址为0,需要输入:

echo 0 > /proc/sys/kernel/kptr_restrict
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: