Uiautomator: Extract IMEI from e-SIM
Print IMEI from e-SIM (the only known method as of now, please contribute if you know more)
#!/bin/bash
# Author: wuseman
adb shell input keyevent KEYCODE_CALL;
sleep 1;
input text '*#06#';
uiautomator dump --compressed /dev/stdout \
| tr ' ' '\n' \
| awk -F'"' '{print $2}' \
| grep "^[0-9]\{15\}$" \
| nl -w 1 -s':' \
| sed 's/^/IMEI/g'
Print IMEI from SIM if the device is locked (the only known method as of now, please contribute if you know more)
input keyevent 26 # Wake up screen
input touchscreen swipe 126 1459 413 1000 # Swipe screen
input text xxxxxxx # Input passcode/passphrase/keycode
# Run Code
sleep 1
input keyevent KEYCODE_CALL;
sleep 1;
input text '*#06#';
uiautomator dump --compressed /dev/stdout\
|tr ' ' '\n'\
|awk -F'"' '{print $2}'|grep "^[0-9]\{15\}$" \
|nl -w 1 -s':'\
|sed 's/^/IMEI/g'
When we have IMEI window open *#06# we can read imei, imei2, eid and sn
uiautomator dump --compressed /dev/stdout \
| grep -oE 'text="[^"]+"' \
| cut -d'"' -f2 \
| awk '
prev~/^IMEI[12]$/ {
match($0, /[0-9]{15}/)
print prev ":" substr($0, RSTART, RLENGTH)
}
prev=="EID" { print "EID:" $0 }
prev=="SN" { print "SN:" $0 }
{ prev=$0 }
'