Guest User

Untitled

a guest
Aug 21st, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. #!/bin/sh
  2. #
  3. # Created 18H21
  4. #
  5.  
  6. if [ $# -ne 1 ]; then
  7. cat << EOL
  8. Usage: $(basename $0) symbol ...
  9.  
  10. EOL
  11. exit 1
  12. fi
  13.  
  14. SYM="$1"
  15.  
  16. SYSKEXTDIR=/System/Library/Extensions/System.kext/PlugIns
  17. [ ! -d $SYSKEXTDIR ] && echo "$SYSKEXTDIR not found" && exit 1
  18.  
  19. for KEXT in $SYSKEXTDIR/*.kext; do
  20. EXEC=$(basename $KEXT .kext)
  21. if [ -f "$KEXT/$EXEC" -a -x "$KEXT/$EXEC" ]; then
  22. nm "$KEXT/$EXEC" | grep -iq "$SYM" || continue
  23.  
  24. echo "$EXEC:"
  25. nm "$KEXT/$EXEC" | grep -i "$SYM" && echo
  26.  
  27. INFO="$KEXT/Info.plist"
  28. if [ -f "$INFO" ]; then
  29. cat "$INFO" | grep CFBundleIdentifier -A 1 | tail -1 | sed 's/<.*>\(.*\)<\/.*>/\1/'
  30. cat "$INFO" | grep OSBundleCompatibleVersion -A 1 | tail -1 | sed 's/<.*>\(.*\)<\/.*>/\1/'
  31. fi
  32. fi
  33. done
Add Comment
Please, Sign In to add comment