Android arm64位内核文件提取与ida反编译内核 rom设置

1、提取boot.img

高通
/dev/block/platform/soc/1d84000.ufshc/by-name # ls -la |grep boot
lrwxrwxrwx 1 root root   16 1970-04-28 07:24 boot_a -> /dev/block/sde11
lrwxrwxrwx 1 root root   16 1970-04-28 07:24 boot_b -> /dev/block/sde31


dd if=/dev/block/sde11 of=/sdcard/boot.img

 2、解包boot.img  

abootimg -x boot.img

a@sys:~/elf$ sudo binwalk boot.img
[sudo] password for a: 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             Android bootimg, kernel size: 13936423 bytes, kernel addr: 0x8000, ramdisk size: 6914506 bytes, ramdisk addr: 0x1000000, product name: ""
4096          0x1000          gzip compressed data, maximum compression, from Unix, last modified: 1970-01-01 00:00:00 (null date)
11278366      0xAC181E        Flattened device tree, size: 425462 bytes, version: 17

a@sys:~/elf/bootimg$ abootimg -x boot.img
writing boot image config in bootimg.cfg
extracting kernel in zImage
extracting ramdisk in initrd.img
a@sys:~/elf/bootimg$ ls
boot.img  bootimg.cfg  initrd.img  zImage
a@sys:~/elf/bootimg$ ls -la
total 85916
drwxrwxr-x 2 a a     4096 Jan 20 22:04 .
drwxrwxr-x 6 a a     4096 Jan 20 22:04 ..
-rwxrw-r-- 1 a a 67108864 Jan 20 22:04 boot.img
-rw-rw-r-- 1 a a      523 Jan 20 22:04 bootimg.cfg
-rw-rw-r-- 1 a a  6914506 Jan 20 22:04 initrd.img
-rw-rw-r-- 1 a a 13936423 Jan 20 22:04 zImage
 

a@sys:~/elf/bootimg$ file zImage
zImage: gzip compressed data, max compression, from Unix
 

dmesg

[    0.000000] Virtual kernel memory layout:
[    0.000000] modules : 0xffffff8000000000 - 0xffffff8008000000   (   128 MB)
[    0.000000] vmalloc : 0xffffff8008000000 - 0xffffffbebfff0000   (   250 GB)
[    0.000000] .text : 0xffffff9bb9a80000 - 0xffffff9bbaa00000   ( 15872 KB)
[    0.000000] .rodata : 0xffffff9bbaa00000 - 0xffffff9bbb400000   ( 10240 KB)
[    0.000000] .init : 0xffffff9bbb400000 - 0xffffff9bbb800000   (  4096 KB)
[    0.000000] .data : 0xffffff9bbb800000 - 0xffffff9bbb9dc008   (  1905 KB)
[    0.000000] .bss : 0xffffff9bbb9dc008 - 0xffffff9bbbdbe4c0   (  3978 KB)
[    0.000000] fixed   : 0xffffffbefe7fb000 - 0xffffffbefec00000   (  4116 KB)
[    0.000000] PCI I/O : 0xffffffbefee00000 - 0xffffffbeffe00000   (    16 MB)
[    0.000000] vmemmap : 0xffffffbf00000000 - 0xffffffc000000000   (     4 GB maximum)
[    0.000000] 0xffffffbfb7000000 - 0xffffffbfbcf4e800   (    95 MB actual)
[    0.000000] memory  : 0xffffffedc0000000 - 0xffffffef3d3a0000   (  6099 MB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] \x09RCU dyntick-idle grace-period acceleration is enabled.

adb shell:

dmesg >dmesg.txt
echo 0 > /proc/sys/kernel/kptr_restrict
cat /proc/kallsyms >kallsyms.txt

ksyms = open("d:\kallsyms.txt")

i = 0

for line in ksyms:

i += 1

addr = int(line[0:16],16)

name = line[19:-1]

idaapi.set_debug_name(addr,name)

MakeNameEx(addr,name,SN_NOWARN)

add_func(addr)

if i % 100 == 0:

Message("cur: %d\n" % i)

# Message("%08X:%sn"%(addr,name))

注意点:

1、ida打开rom时,文件偏移量一般是0x1000或0x800,具体需要打开二进制文件看一下偏移量。

2、如果没有自动出现函数,需要按c键。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
反汇编带符号表的32/64ELF目标文件,CPU类型:ARM PowerPC MIPS 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.25.05相对上一版本,增加内存数据按数据类型解析功能;V1.25.04相对上一版本,完善X86反汇编,修复小BUG;V1.25.02相对上一版本,COREDUMP统计、匹配目标文件等相关功能优化,修复小BUG;V1.25.00相对上一版本,相关功能支持动态库文件,查询代码支持无符号目标文件+有符号目标文件,COREDUMP统计、与问题单关联、目标文件/CORE文件/问题单同步;V1.24.02相对上一版本,针对进程主动捕捉异常的信息定制处理进一步完善COREDUMP文件解析与应用,增强软件管理;V1.24.01相对上一版本,进一步完善COREDUMP文件解析与应用,提供部分ARM Thumb指令反汇编;V1.24.00相对上一版本,进一步完善COREDUMP文件解析与应用,提供堆栈调用关系分析;V1.23.03相对上一版本,提供32X86反汇编;V1.23.02相对上一版本,提供源代码行查询指令地址,OBJ/COREDUMP文件解析,sprintf函数参数特定检查,完善文件拖放操作,修复小BUG;V1.23.01相对上一版本,提供ELF文件指令修改,修复ARM MLS指令反汇编错误等BUG;V1.23.00相对上一版本,提供程序地址对应源代码行查询,修复MIPS调试信息错误;V1.22相对上一版本,修复MIPS小端字节序反汇编错误,网上最新版本提示;另部分增强功能的菜单操作设有密码,如有兴趣欢迎咨询。欢迎大家反馈相关软件使用过程中的问题!
反汇编带符号表的32/64ELF目标文件,CPU类型:ARM PowerPC MIPS X86 操作菜单选择:文件解析 Alx+P ELF文件解析 Alt+E 另有文本比较等杂项功能。V1.26.00相对上一版本,增强EXE反汇编,增加dbx老邮件解析、二维码功能,;V1.25.07相对上一版本,增加二进制反汇编、IQ数据解析功能,完善MIPS反汇编,修复小BUG;V1.25.05相对上一版本,增加内存数据按数据类型解析功能;V1.25.04相对上一版本,完善X86反汇编,修复小BUG;V1.25.02相对上一版本,COREDUMP统计、匹配目标文件等相关功能优化,修复小BUG;V1.25.00相对上一版本,相关功能支持动态库文件,查询代码支持无符号目标文件+有符号目标文件,COREDUMP统计、与问题单关联、目标文件/CORE文件/问题单同步;V1.24.02相对上一版本,针对进程主动捕捉异常的信息定制处理进一步完善COREDUMP文件解析与应用,增强软件管理;V1.24.01相对上一版本,进一步完善COREDUMP文件解析与应用,提供部分ARM Thumb指令反汇编;V1.24.00相对上一版本,进一步完善COREDUMP文件解析与应用,提供堆栈调用关系分析;V1.23.03相对上一版本,提供32X86反汇编;V1.23.02相对上一版本,提供源代码行查询指令地址,OBJ/COREDUMP文件解析,sprintf函数参数特定检查,完善文件拖放操作,修复小BUG;V1.23.01相对上一版本,提供ELF文件指令修改,修复ARM MLS指令反汇编错误等BUG;V1.23.00相对上一版本,提供程序地址对应源代码行查询,修复MIPS调试信息错误;V1.22相对上一版本,修复MIPS小端字节序反汇编错误,网上最新版本提示;V1.21相对上一版本,菜单调整,完善64ELF文件解析,解析调试信息;另部分增强功能的菜单操作设有密码,如有兴趣欢迎咨询。欢迎大家反馈相关软件使用过程中的问题!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AppNinja

你的鼓励是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值