これは、TAB-A05-BD 及び TAB-A05-BA1 専用の SELinux の状態を Permissive
にするためのエクスプロイトです。
Note
まず、大前提として、ADB が使用可能である必要が有ります。
開発者向けオプションが塞がれている場合、DchaStateChanger や NovaDirectInstaller を使用してください。
adb push shrinker /data/local/tmp
adb shell chmod +x /data/local/tmp/shrinker
adb shell /data/local/tmp/shrinker
Important
shrinker
を実行して一回目で成功できるとは限りません。
途中でクラッシュしたり、無効な引数があると返される場合があります。
残念ながら仕様なので、根気強く何度も挑戦して下さい。
一番最後に result 49
と返ってきたら、
adb shell getenforce
これを実行して、Permissive
と返って来る事を確認して下さい。
エクスプロイトの実行は成功です。
TAB-A05-BD 01.11.000 での実行コード
TAB-A05-BD:/ $ /data/local/tmp/shrinker
fingerprint: benesse/TAB-A05-BD/TAB-A05-BD:9/01.11.000/01.11.000:user/release-keys
failed, retry.
region freed 56
alias gpu va 100642000
read 0
cleanup flush region
release_mem_pool
reserve pages here
jit_freed
jit_free commit: 0 0
Found freed_idx 0
find_pgd, freed_idx is 0 start_pg is 0
find_pgd, freed_idx is 0 start_pg is 0
Found pgd 23, 100659000
write_data overwrite addr : 1041009bc 9bc
write_data overwrite addr : 1043009bc 9bc
write_func called with code_size = 8
write_func overwrite addr : 104100d48 d48
write_func overwrite addr : 104300d48 d48
time to run_enforce
run_enforce: before sleep
run_enforce: after sleep
run_enforce: open
result 48
run_enforce_un: before sleep
run_enforce_un: after sleep
run_enforce_un: open
run_enforce_un: after read
run_enforce_un: after close
result 49
TAB-A05-BD:/ $ getenforce
Permissive
Tip
ブートローダーアンロックは別の処理が必要となるので、次項を参照してください。
Important
SELinux が Permissive
の状態の端末を使用してください。
始めに、DchaServiceTester をインストールしてください。
インストールが終わり次第、アプリを起動し、copyUpdateImage
を選択して下さい。
「ファイルのコピー元フルパス」を /dev/block/by-name/ftp
、「ファイルのコピー先フルパス」を /sdcard/frp.bin
にして実行します。
正しく実行していれば、true
と返ってくるはずです。
PC に移り、
adb pull /sdcard/frp.bin
この様に実行し、frp.bin
を抽出します。
抽出したら、HexEd.it を開き、左上の「ファイルを開く」から、先程抽出したfrp.bin
を選択します。
一番最後の部分を、00
から 01
に書き換え、保存します。
保存出来次第、
adb push frp.bin /sdcard/frp.bin
この様に実行し、端末側に送ります。
もう一度、DchaServiceTester を開き、次は コピー元 と コピー先 を逆にして実行します。
先程と同様に、正しく実行していれば、true
と返ってくるはずです。
FRP の書き換えが出来たら、
adb reboot bootloader
これを実行し、fastboot モードに入ります。
fastboot flashing unlock
これを実行し、端末側で 音量+ ボタンを押します。
5秒程度でアンロックが完了します。
Tip
この時点で、修正済み factory.img
をフラッシュする事を強くお勧めします。
fastboot reboot
これを実行し、端末を再起動したら、自動的に初期化が始まります。
これでブートローダーアンロックは完了です!