Advertisement
Guest User

Untitled

a guest
Jul 13th, 2012
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.61 KB | None | 0 0
  1. #!/bin/bash
  2. #Copyright (c) 2007 Li XianJing <xianjimli@hotmail.com>
  3. if [ "$1" = "" ]
  4. Then
  5.     echo "usage: " $0 " [maps file]"
  6.     exit 1
  7. Fi
  8.  
  9. grep r-xp $1 |grep /.so >all_so.tmp.log
  10.  
  11. awk 'BEGIN{i=0} {print i " " strtonum("0x"substr($1, 0, 8)) " " $6; i++}'
  12. all_so.tmp.log >baseaddr_so.tmp.log
  13. awk '{system("objdump -h " $3 "| grep text");}' baseaddr_so.tmp.log |
  14. awk 'BEGIN{i=0}{print i " " strtonum("0x" $4); i++}' >offset.tmp.log
  15.  
  16. join offset.tmp.log baseaddr_so.tmp.log >offset_baseaddr_so.tmp.log
  17.  
  18. awk '{printf("add-symbol-file %s 0x%x y ", $4, $2 + $3)}' offset_baseaddr_so.tmp.log
  19.  
  20. rm -f *.tmp.log
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement