计算内核地址偏移脚本
1 #!/bin/bash 2 3 # 4 # toUpper str 5 # 6 function toUpper() { 7 echo "$1" | awk '{print toupper($0)}' 8 } 9 # 10 # getDiff var1 var2 11 # 12 function getDiff() { 13 echo "obase=16;ibase=16;$(toUpper $1)- $(toUpper $2)" | bc 14 } 15 echo ".text .data .bss /proc/kallsyms" 16 echo $(cat /proc/kallsyms | grep '_stext' | awk '{print $1}') 17 echo $(cat /proc/kallsyms | grep '_sdata' | awk '{print $1}') 18 echo $(cat /proc/kallsyms | grep '_sinittext' | awk '{print $1}') 19 20 var1=$(cat /proc/kallsyms | grep '_stext' | awk '{print $1}') 21 var2=$(cat /boot/System.map-`uname -r` | grep '_stext' | awk '{print $1}') 22 23 echo -e "\nkernel base diff :$(getDiff $var1 $var2)"