#!/bin/sh -u
# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

if [ -z "$*" ]; then
  cat <<EOF 1>&2

Usage:  vbutil_what_keys [-v|-V] IMAGE [IMAGE...]

Given a ChromiumOS disk (or BIOS) image, try to figure out how it's signed.
Note that this does not verify the signature, it just reports which keyblock
was used to create the signature.

With the -v option, it will attempt to mount any rootfs partitions from disk
images (using sudo), extract the BIOS from /usr/sbin/chromeos-firmwareupdate,
and process it as well. Use -V to display the shellball -V message too.
that.

EOF
  exit 1
fi

# We'll grep for the known sha1sums within this script (they're at the end).
# Obtain them by running script on images you know have been signed correctly
# (since the keys themselves are inside the HSM).
#
# BTW, the default H2C HWIDs are fixed for each platform:
#
# {97A1FBD6-FDE1-4FC5-BB81-286608B90FCE}    Alex H2C
# {9D799111-A88A-439E-9E1F-FBBB41B00A9A}    Mario H2C
# {24B107F2-BA6A-4EBD-8CDD-E768438CE0F0}    Stumpy H2C
# {FA42644C-CF3A-4692-A9D3-1A667CB232E9}    ZGB H2C


# args?
unpack_it=
verbose=
if [ "${1:-}" = "-v" ]; then
  unpack_it=yes
  shift
fi
if [ "${1:-}" = "-V" ]; then
  unpack_it=yes
  verbose=yes
  shift
fi

# clean up on exit
cleanup() {
  [ -n "${CLEAN_UM:-}" ] && sudo umount $CLEAN_UM
  [ -n "${CLEAN_RM:-}" ] && rm -rf $CLEAN_RM
}
trap cleanup EXIT

# temp stuff
TMPFILE=$(mktemp /tmp/keyblock_XXXXXXXXX)
CLEAN_RM="$TMPFILE"
if [ -n "$unpack_it" ]; then
  TMPMNT=$(mktemp -d /tmp/mountdir_XXXXXXXXX)
  TMPDIR=$(mktemp -d /tmp/extractdir_XXXXXXXXX)
  CLEAN_RM="$CLEAN_RM $TMPDIR $TMPMNT"
fi

greppy() {
  local key="$1"
  grep "$key" "$0" 2>/dev/null | sed -e 's/ \+/ /g' | \
    cut -d ' ' -f 4- | sed -e ':a;N;$!ba;s/\n/, /g'
}


showbios() {
  local file="$1" space="$2"
  local hwid matchh rootkey matchn recoverykey matchr

  hwid=$(futility gbb_utility --hwid "$file" | sed -e 's/^.*: *//') || return
  matchh=$(grep "$hwid" "$0" 2>/dev/null | sed -e 's/^# //')

  futility gbb_utility --rootkey="$TMPFILE" "$file" >/dev/null
  rootkey=$(futility vbutil_key --unpack "$TMPFILE" | grep sha1sum | \
    sed -e 's/^.*: *//')
  matchn=$(greppy "$rootkey")

  futility gbb_utility --recoverykey="$TMPFILE" "$file" >/dev/null
  recoverykey=$(futility vbutil_key --unpack "$TMPFILE" | grep sha1sum | \
    sed -e 's/^.*: *//')
  matchr=$(greppy "$recoverykey")

  echo "$space  hwid:          ${matchh:-$hwid}"
  echo "$space  root key:      ${rootkey}  ${matchn}"
  echo "$space  recovery key:  ${recoverykey}  ${matchr}"
}



# handle one input file
dofile() {
  file="$1"
  size=$(stat -c %s "$file")

  if [ -f "$file" ] && [ "$size" -le 8388608 ]; then
    echo -e "\nBIOS: $file"

    showbios "$file" ""

  else
    echo -e "\nIMAGE: $file"

    for pnum in $(cgpt find -n -t kernel "$file" 2>/dev/null); do

      psize=$(cgpt show -s -i "$pnum" "$file")
      if [ "$psize" -ge 128 ]; then

        pstart=$(cgpt show -b -i "$pnum" "$file")
        dd if="$file" of="$TMPFILE" bs=512 count=128 skip="$pstart" 2>/dev/null

        psum=$(futility vbutil_keyblock --unpack "$TMPFILE" 2>/dev/null | \
          grep sha1sum | sed -e 's/^.*: *//')

        if [ -n "$psum" ]; then
          match=$(greppy "$psum")
          flags=$(futility vbutil_keyblock --unpack "$TMPFILE" 2>/dev/null | \
            grep Flags: | sed -e 's/^.*:[ 0-9]*//')
        else
          match=""
          psum="--invalid--"
          flags=""
        fi

        echo "  part $pnum kernel:   $psum  ($flags)  $match"
      fi

    done

    if [ -n "$unpack_it" ]; then
      for pnum in $(cgpt find -n -t rootfs "$file" 2>/dev/null); do

        psize=$(cgpt show -s -i "$pnum" "$file")
        if [ "$psize" -ge 128 ]; then

          pstart=$(cgpt show -b -i "$pnum" "$file")

          echo "  part $pnum shellball:"
          sudo mount -o loop,ro,offset=$(( $pstart * 512 )) "$file" "$TMPMNT"
          CLEAN_UM="$TMPMNT"
          [ -n "$verbose" ] && "$TMPMNT/usr/sbin/chromeos-firmwareupdate" -V
          "$TMPMNT/usr/sbin/chromeos-firmwareupdate" \
            --sb_extract "$TMPDIR" > /dev/null
          sudo umount "$TMPMNT"
          CLEAN_UM=

          showbios "$TMPDIR/bios.bin" "  "
        fi

      done
    fi

  fi
}


for file in "$@"; do
  dofile $file
done

echo ""

exit 0;

##############################################################################
# Here are the known keys
##############################################################################
#
# Firmware recovery keys
#
# c14bd720b70d97394257e3e826bd8f43de48d4ed  recovery developer keys
#
# 5c5776bf7574e5601c25042e0748b6844cfdd1dc  recovery Alex MP
# 5c5776bf7574e5601c25042e0748b6844cfdd1dc  recovery Alex MP-v4
# 5c5776bf7574e5601c25042e0748b6844cfdd1dc  recovery Alex-HE MP-v4
# b3373d76358c3528d0653c4035bdd0020e2b0e1b  recovery Butterfly MP-v3
# 8a22e18a91e89f46f1f59b44a7887ab3821cb18d  recovery Butterfly Pre-MP
# b6079520f8c8dc7192a78d111b9fefb98cee49b3  recovery Clapper MP
# 13b0ddf343bb0c325b178e5be138d4969a9e02be  recovery Daisy MP-v3
# 5e9d23b2d908a6ac5ee5c9747a9e2fe6dff01372  recovery Daisy-Skate MP
# 540bb135df55fe0036fe061b7a1f2a52d287cd1b  recovery Daisy-Spring MP-v2
# ae67678f8ed662ef4d1e4a639226d278b90ccaa3  recovery Enguarde MP-v10
# ff7c07ae0ac04ccb92090e339545b716228a6da4  recovery Expresso MP-v10
# 3c359d59432641a151161e2738ba8ca2b3eb12ab  recovery Falco MP-v2
# 3c359d59432641a151161e2738ba8ca2b3eb12ab  recovery Falco-li MP-v2
# c989d1ab66d2a67886e1019330812cb9e4e48f31  recovery Glimmer MP
# ab325d5411c6a21b41142b71b747335144e12538  recovery Gnawty MP
# d81c751df76a7d53a6d3c2f58987562c87416735  recovery Kiev MP
# 02601fcbcac953f043a53eac6fed7a5367a7189c  recovery Kiev PreMP
# 6eaa4b094cd75eacc0f2fa4516d33ed86ea6f3d2  recovery Kip MP
# dc65a88c92511494999d2c03a72ec2584d21917d  recovery Leon MP
# 7e74cd6d66f361da068c0419d2e0946b4d091e1c  recovery Link MP
# 7e74cd6d66f361da068c0419d2e0946b4d091e1c  recovery Link MP-v4
# 08b2d19bc87d05d860a1c274f874bc9fa9ab7dfb  recovery Link Pre-MP
# 0d800afb53cdd05dd849addee0143ca1d96e893c  recovery Lumpy MP
# 0d800afb53cdd05dd849addee0143ca1d96e893c  recovery Lumpy MP-v3
# ebcac421fbf411bee99ee90672a3add17f5a967b  recovery Lumpy PVT
# 5d0d163b824cab5ae4f23fb2cc012e2a4124f4fe  recovery Mario MP
# 5d0d163b824cab5ae4f23fb2cc012e2a4124f4fe  recovery Mario MP-v3
# 51dd0b446540182fd91c6196b9a8dfcd7bcf6256  recovery McCloud MP
# 67f01715f3acf6526ce48a3d2cf81b003a01f334  recovery Monroe MP
# 40832bb15fa40a18b8e5d80fd17d0405b624884e  recovery Nyan PreMP
# 2b356618cd0f739877b7a3f155917341f8778523  recovery Nyan-Big MP
# 26900310befce802836cca982f819aa72445e190  recovery Nyan-Blaze MP
# e74e63e14b285700324ffd3acc4b776dc3104b8f  recovery Panther MP
# 7f03c648d2bb4ab3979cb87633da51ed90267f03  recovery Parrot MP
# 7f03c648d2bb4ab3979cb87633da51ed90267f03  recovery Parrot MP-v3
# 7f03c648d2bb4ab3979cb87633da51ed90267f03  recovery Parrot-ivb MP-v3
# d254b3b3ddaac32f7b843753de9257ec4f6c67ed  recovery Peach-Pi MP
# 6d9a2ca8b3080a97e1e5a4efbc5386ead77c3c7f  recovery Peach-Pit MP-v2
# bf39d0d3e30cbf6a121416d04df4603ad5310779  recovery Peppy MP-v2
# 60aa1bbbea1d2f724c6e5daa0653ca472ac3085e  recovery Quawks MP
# fb4847ecb6bfcc300e5f570c5e8f3ab881204968  recovery Rambi PreMP
# 462edb5ebfd817e29e813db7a424582c3ce35768  recovery Samus PreMP
# 13b0ddf343bb0c325b178e5be138d4969a9e02be  recovery Snow MP
# cdc2858ca78351dc4b54d5d5d02bc695830f7802  recovery Squawks MP
# 5cb31faf8c524672a15fd4628c585af79eca0247  recovery Stout MP
# 5cb31faf8c524672a15fd4628c585af79eca0247  recovery Stout MP-v3
# 37e7bad73449f782f280b1668fed48d1132137fa  recovery Stumpy MP
# 8540f56f87d91c5403704c960c1f385705201e20  recovery Stumpy PVT
# e0b610bc85908c35fb7bd11bfd34afb84d547190  recovery Swanky MP
# 50759cb8bc2f86ef378571fa7b30a161e7dcdc03  recovery Tricky MP
# a0c56006541cd38d6c884d27210a135f5c309a3f  recovery Winky PreMP
# a4ee431f7a07c59e920fe570ead0b938cdd4019d  recovery Wolf MP
# 9bd99a594c45b6739899a17ec29ac2289ee75463  recovery ZGB MP
# 9bd99a594c45b6739899a17ec29ac2289ee75463  recovery ZGB MP-v3
# 9bd99a594c45b6739899a17ec29ac2289ee75463  recovery ZGB-HE MP-v3
# ba07696c1c82891fdacab28a434148d239e7c834  recovery Zako MP-v2
#
# Firmware root keys
#
# b11d74edd286c144e1135b49e7f0bc20cf041f10      root developer keys
#
# 00f77be2a0c013343db84fc6259da09e558b8318      root Alex MP
# 00f77be2a0c013343db84fc6259da09e558b8318      root Alex MP-v4
# 00f77be2a0c013343db84fc6259da09e558b8318      root Alex-HE MP-v4
# c788cee8c798669fe4822b7544dd3e399ce22604      root Butterfly MP-v3
# 12a2c88b58cbd9eef6b777a3af440f611ea4f561      root Butterfly Pre-MP
# 952dd6852c11fd8b36b4fb88f3335ecae722e0e6      root Clapper MP
# a026a7a4a0bf0fa32d6b7aa90a80d5ef01a3b799      root Daisy MP-v3
# c788cee8c798669fe4822b7544dd3e399ce22604      root Daisy-Skate MP
# ab3521d3b1938af52009b2c3dfad964594f6b367      root Daisy-Spring MP-v2
# 48dc3c5917b9095d6b4188560c9726ba31a192ee      root Enguarde MP-v10
# 82f706e156e5927bbdf8f14f4a9f45bc59986311      root Expresso MP-v10
# c788cee8c798669fe4822b7544dd3e399ce22604      root Falco MP-v2
# c788cee8c798669fe4822b7544dd3e399ce22604      root Falco-li MP-v2
# 952dd6852c11fd8b36b4fb88f3335ecae722e0e6      root Glimmer MP
# fc68bcb88bf9af1907289a9f377d658b3b9fe5b0      root Gnawty MP
# 4c5067795ddbbf100d19f9ba08928af1c1ef37c6      root Kiev MP
# 9c138273527db0a0797233e2345ee39e46c0df95      root Kiev PreMP
# c788cee8c798669fe4822b7544dd3e399ce22604      root Kip MP
# 154512de86cc1cc36a67d4225eb2fcc37dac1b7c      root Leon MP
# 7b5c520ceabce86f13e02b7ca363cfb509fc5b98      root Link MP
# 7b5c520ceabce86f13e02b7ca363cfb509fc5b98      root Link MP-v4
# e63058bf4b86b6fb1f148bc7acea9c71fe51675f      root Link Pre-MP
# 4e92f07efd4a920c4e4f1ed97cf47b7b04ee1428      root Lumpy MP
# 4e92f07efd4a920c4e4f1ed97cf47b7b04ee1428      root Lumpy MP-v3
# c9fc61f331b34e00a148e657bde5fb6b0b576c0a      root Lumpy PVT
# 541f467a7d8747f55ae9087ee4e34155f5ee3cd7      root Mario MP
# 541f467a7d8747f55ae9087ee4e34155f5ee3cd7      root Mario MP-v3
# fc68bcb88bf9af1907289a9f377d658b3b9fe5b0      root McCloud MP
# eec186f8a0cd6be2e9d86dc9ce284790739be202      root Monroe MP
# 3f54dd6a6e16128aec5c6c3052763388ae99d350      root Nyan PreMP
# fc68bcb88bf9af1907289a9f377d658b3b9fe5b0      root Nyan-Big MP
# c788cee8c798669fe4822b7544dd3e399ce22604      root Nyan-Blaze MP
# 758a59f4f911b63a1335223d761d2485313674c8      root Panther MP
# 9f59876c7f7dc881f02d934786c6b7c2c17dcaac      root Parrot MP
# 9f59876c7f7dc881f02d934786c6b7c2c17dcaac      root Parrot MP-v3
# 9f59876c7f7dc881f02d934786c6b7c2c17dcaac      root Parrot-ivb MP-v3
# a026a7a4a0bf0fa32d6b7aa90a80d5ef01a3b799      root Peach-Pi MP
# a026a7a4a0bf0fa32d6b7aa90a80d5ef01a3b799      root Peach-Pit MP-v2
# fc68bcb88bf9af1907289a9f377d658b3b9fe5b0      root Peppy MP-v2
# 758a59f4f911b63a1335223d761d2485313674c8      root Quawks MP
# b3119b02f2b5371da5596b13d612facbca99b94f      root Rambi PreMP
# cb8086a9c1cd26318fef9a9fb3f846ca12320737      root Samus PreMP
# a026a7a4a0bf0fa32d6b7aa90a80d5ef01a3b799      root Snow MP
# 758a59f4f911b63a1335223d761d2485313674c8      root Squawks MP
# 952dd6852c11fd8b36b4fb88f3335ecae722e0e6      root Stout MP
# 952dd6852c11fd8b36b4fb88f3335ecae722e0e6      root Stout MP-v3
# 4ec4ba0a746b37b1c6286ab807c2a5b1e7ab4ab0      root Stumpy MP
# 06939c65797eadfe6be1b3343a2e339800a34108      root Stumpy PVT
# 154512de86cc1cc36a67d4225eb2fcc37dac1b7c      root Swanky MP
# ed3dab48746de569513aa288439f86fe24cc3386      root Tricky MP
# 5915703fb47bf569d7a6b8726cb9a1bd159487b0      root Winky PreMP
# ed3dab48746de569513aa288439f86fe24cc3386      root Wolf MP
# 9f59876c7f7dc881f02d934786c6b7c2c17dcaac      root ZGB MP
# 9f59876c7f7dc881f02d934786c6b7c2c17dcaac      root ZGB MP-v3
# 9f59876c7f7dc881f02d934786c6b7c2c17dcaac      root ZGB-HE MP-v3
# c788cee8c798669fe4822b7544dd3e399ce22604      root Zako MP-v2
#
# Normal kernel keys
#
# d6170aa480136f1f29cf339a5ab1b960585fa444    normal developer keys
#
# af24e46b6c3805869616e71c002c9a2a847ad266    normal Alex MP
# af24e46b6c3805869616e71c002c9a2a847ad266    normal Alex MP-v4
# af24e46b6c3805869616e71c002c9a2a847ad266    normal Alex-HE MP-v4
# 6026d95d1f11e1b88c19a139effbb02660523904    normal Butterfly MP-v3
# 24fcff70ef3d834451384452bd9bc64c4d01c559    normal Butterfly Pre-MP
# d03ba05319cd77d0830b268804804f21fcb7672c    normal Clapper MP
# 0d96e14c31a405b28dd7c7d2e416bbf960bc9779    normal Daisy MP-v3
# da0bb5a3e2e80ebab0ac268ba2204ec360e9bb45    normal Daisy-Skate MP
# 94b5cfc5933e2f6294095820fa9eaf8162ca8021    normal Daisy-Spring MP-v2
# dd15b9458ffc5ecb8048dbc4ae5e7f480c9e1852    normal Duck PreMP
# d9ffc2514c179472b6c5553b8ed20237cdfef73e    normal Enguarde MP-v10
# bd99dc86506b9ebe3025e5af69a26decf607173d    normal Expresso MP-v10
# c5d935b69950c29b2d2bba7cecacd2859fb9afbd    normal Falco MP-v2
# c5d935b69950c29b2d2bba7cecacd2859fb9afbd    normal Falco-li MP-v2
# c6bc5788eb62701cdd69b309766fe2a49ead14d1    normal Glimmer MP
# 32778b8483e14e4570b582c34df065c5ee833a59    normal Gnawty MP
# f82f08a5953b688b078f465731f1077fdf0d97cf    normal Kiev MP
# b3ad5503fda8b06c74a000fed289006c97bf5600    normal Kip MP
# 933610d5c9926ec5540e180cda18c0395a853012    normal Leon MP
# d5927774fc14bb18a38c27fef47a36517a089d04    normal Link MP
# ad9e35dcd4287a3e27264ce49df6df40aaf2dcbb    normal Link MP-v4
# 7cb50f352af15f807f4bf3eaaede62d2f9c70d27    normal Link Pre-MP
# ad9e35dcd4287a3e27264ce49df6df40aaf2dcbb    normal Link-freon MP-v4
# cc887372ac2d1c415eac93fc11e753629c387358    normal Lumpy MP v2
# cc887372ac2d1c415eac93fc11e753629c387358    normal Lumpy MP-v3
# fa55cba16857a49270fb1561f87343c00959eb19    normal Lumpy PVT
# a1454fcecb98a6f33b38638564bdfc20161a7b04    normal Mario MP v2
# a1454fcecb98a6f33b38638564bdfc20161a7b04    normal Mario MP-v3
# 8848be24f4c34f064ae23c0450d27b62e558d2ed    normal McCloud MP
# ac65608a05976a904f4c6123953968cd1aa444ab    normal Monroe MP
# 78d388d49c494510d48cfa1650eacd45aa871da5    normal Nyan PreMP
# 71dd606970080aab093da2bbe91ca4348988175c    normal Nyan-Big MP
# c4c00693dd7b99fffc1b272641f769d0a2f19ef5    normal Nyan-Blaze MP
# 39f6088397ebfcc8fffbd933b4bcd8a0e74ba409    normal Panther MP
# 8975d168123d5cfc7cebf674627958445f0d2a52    normal Parrot MP v2
# e18e8ac7835390a71d2d70d02880694c6da9ac92    normal Parrot MP-v3
# e18e8ac7835390a71d2d70d02880694c6da9ac92    normal Parrot-ivb MP-v3
# ef469c6417138a8a371b51483d941a01453d27a3    normal Peach-Pi MP
# 2cf0eddab3a021044fc66fdca492c7899de5b7eb    normal Peach-Pit MP-v2
# 320e083d80e1a49d9c11cc0d8d055b050a92805a    normal Peppy MP-v2
# c65c3e3648eca66449ac9cdaf60edc2ba1b136e8    normal Quawks MP
# 037f4ed441ac39ca0a7fdd6c0829d4add9bf5f34    normal Rambi PreMP
# 989186f9aec3bced013d7f085c0f8caa07518e34    normal Samus PreMP
# c5120666c642f031e76edab8a2b45dd32232f80d    normal Snow MP v2
# 1cab1dedc34076b8887c9ebd4e6769eda6c41ed2    normal Squawks MP
# 09cb9b45c2cd4ca674861fe484aa758ba5568be0    normal Stout MP
# 47a82928807763a30956f40e4de0e68af2a17975    normal Stout MP-v3
# de0b76af3caa55a8e7aa34c805e4248ad03b18e7    normal Stumpy MP
# f7e48006982a0ad4a41c0ca6610f062adb0eec44    normal Stumpy MP v2
# 04dd63e835c979b57f87fd74e99af68e0cd39ad7    normal Stumpy PVT
# c321ed66f9b999598d39be7be3246bb25362740b    normal Swanky MP
# 5c626cd8a684e470e74d3ceaf518aae745fe15dc    normal Tegra2-Kaen PVT
# 09790fcb8c2b6732ec54bc406d34ec16c55992ba    normal Tricky MP
# 202bb448a3f269771cffe53c38d6f05b2d1329ae    normal Winky PreMP
# 7d4f5255af3552d8c8b40f60873d683268050015    normal Wolf MP
# 7b7ae8652775ad7305f565161b3acc00fcc8ea22    normal ZGB MP v2
# 7b7ae8652775ad7305f565161b3acc00fcc8ea22    normal ZGB MP-v3
# 7b7ae8652775ad7305f565161b3acc00fcc8ea22    normal ZGB-HE MP-v3
# f70f0373b60ea8e2c5df7a9afeb75726fe0c8eb3    normal Zako MP-v2
#
# Recovery kernel keys
#
# e78ce746a037837155388a1096212ded04fb86eb  recovery developer keys
#
# 03172b08f0b99172c73d947f51e8ca23d418bcbf  recovery Alex MP
# 03172b08f0b99172c73d947f51e8ca23d418bcbf  recovery Alex MP-v4
# 03172b08f0b99172c73d947f51e8ca23d418bcbf  recovery Alex-HE MP-v4
# c65d20649d35019a40642a4e2540b19587ee6458  recovery Butterfly MP-v3
# 934e38b44b11eb892d1edc32cb3ba87c558232d9  recovery Butterfly Pre-MP
# 889367bc86d0af857412a409f98e2ab9d798f887  recovery Clapper MP
# f32b5f6b6cfb6d77136ac0d8ed0cdf67e6df7b91  recovery Daisy MP-v3
# 66496dd27c44ae81cf0c41671b5af59a316969da  recovery Daisy-Skate MP
# a1f00935770234a434c4b14414c48866b1661e40  recovery Daisy-Spring MP-v2
# 9a04d0ea29b095c6c227b50d4bb75f431355dbb0  recovery Duck PreMP
# e30dc74a05de0d0e7522817f8d97f04f08ff6a8b  recovery Enguarde MP-v10
# 4e22acdedf89a3dbb6b9861b513e2121bd457a96  recovery Expresso MP-v10
# af1e6c23c3148d3261b5fc7c30860d89faeee7a6  recovery Falco MP-v2
# af1e6c23c3148d3261b5fc7c30860d89faeee7a6  recovery Falco-li MP-v2
# 45145bcfc866b5cc7d711d6451fd1272f55ba087  recovery Glimmer MP
# 377f89af74389c1d06876981bda3a7a591332f67  recovery Gnawty MP
# 10d73c2b24b35c0ea387babd72e9b242f2d79c9f  recovery Kiev MP
# 5dea047c25331a6b3ed0f40efa7e2b8b90676abf  recovery Kip MP
# 51a7f92ef6d727da9b0f0ebd8882a836db296e97  recovery Leon MP
# e8c4e66b00df5468e4d7ec9757347842cfd6c1da  recovery Link MP
# e8c4e66b00df5468e4d7ec9757347842cfd6c1da  recovery Link MP-v4
# 93e0ecffb36199071a3d995f6726770e799dcd0e  recovery Link Pre-MP
# e8c4e66b00df5468e4d7ec9757347842cfd6c1da  recovery Link-freon MP-v4
# 49d40533b0812d3f31232c5eedd47e7e11acc293  recovery Lumpy MP
# 49d40533b0812d3f31232c5eedd47e7e11acc293  recovery Lumpy MP-v3
# cb45bc04a932e4bcac41b44d31afd9516ca0fe24  recovery Lumpy PVT
# f6fadd7e31eebf4bcc4eb8d2dd512e3a2313627f  recovery Mario MP
# f6fadd7e31eebf4bcc4eb8d2dd512e3a2313627f  recovery Mario MP-v3
# 95b4a4abb2a55e7163824e36583c109c90a2e78d  recovery McCloud MP
# 5e2ca8bc287af2d94615e940ee17e9620d3191dd  recovery Monroe MP
# b914dc4800f6929d0c1ecea536dbff9ef618af26  recovery Nyan PreMP
# 9cdfb53d6ef4f4746de2dace828d1142c216a130  recovery Nyan-Big MP
# 934ce4a3a23316457727a500b7dce4e04b2f7147  recovery Nyan-Blaze MP
# ef1c9cdbf547acc397288cf58fd3ee274383abbb  recovery Panther MP
# cfa1a4a784a90cc7c1df6859fa226b89e6afbeb5  recovery Parrot MP
# cfa1a4a784a90cc7c1df6859fa226b89e6afbeb5  recovery Parrot MP-v3
# cfa1a4a784a90cc7c1df6859fa226b89e6afbeb5  recovery Parrot-ivb MP-v3
# 7cabfc4c72cb300399c8c490b39c1ce0c45b11c0  recovery Peach-Pi MP
# b39e9b9b12f3ab4fd1017e6c92d4ccff2723347d  recovery Peach-Pit MP-v2
# 74ec605d3525e24b7f7a4b633afd2ec048dc6d12  recovery Peppy MP-v2
# 315417a5d8a95b954f5f101acaef5b107136a418  recovery Quawks MP
# d0b7feba2bb53ecd8eda6602ccf6a0c25e5b001f  recovery Rambi PreMP
# 61cad57963dd64202cead8dcfc62aea76c9911c2  recovery Samus PreMP
# f32b5f6b6cfb6d77136ac0d8ed0cdf67e6df7b91  recovery Snow MP
# d45eb14119d14b5b1d4b259f177e32c522d27f99  recovery Squawks MP
# fa4497f70968a1820ceb0ac4364d8e9ec0abc0b2  recovery Stout MP
# fa4497f70968a1820ceb0ac4364d8e9ec0abc0b2  recovery Stout MP-v3
# 6f6d6df4e328633904990cf8c60baa18b8cf6fc7  recovery Stumpy MP
# 057a03c1526a1be7f42d29095c5a583231a75b35  recovery Stumpy PVT
# d56ac05587d7d45d681cb52d113fb5d95e787d1d  recovery Swanky MP
# de11a604715a920d7371ceefda75a5b1b062443f  recovery Tegra2-Kaen PVT
# 4fe89a587d09c9fb58e79b556014b833f64559fb  recovery Tricky MP
# 72bb00bb0c89d06569df2d9d2e8087e040bbbb8b  recovery Winky PreMP
# a01a2a2502fe8f6e3dc8100080b0e486bc0a3468  recovery Wolf MP
# 20f3e8b77da6577706c91feefb203f98ee20d479  recovery ZGB MP
# 20f3e8b77da6577706c91feefb203f98ee20d479  recovery ZGB MP-v3
# 20f3e8b77da6577706c91feefb203f98ee20d479  recovery ZGB-HE MP-v3
# 070611f0aa70b6887dd3c96b4086c13894ffa25f  recovery Zako MP-v2
