8eBLUに使った日本語化バッチファイル
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
cd /d "%~dp0"
for /F %%a in ('echo prompt $E ^| cmd') do set "ESC=%%a"
set "RED=%ESC%[31m"
set "GRN=%ESC%[32m"
set "YEL=%ESC%[33m"
set "CYN=%ESC%[36m"
set "RST=%ESC%[0m"
echo %CYN%=================================================================%RST%
echo 作者:酷安 @Kernix
echo Github:https://github.com/Linuxoid-cn
echo フィードバックメール:jehsianbenites@gmail.com
echo Telegram: @C_Valmont
echo.
echo %RED%[免責声明] 本スクリプトは技術交流目的のみです。%RST%
echo %RED%BLアンロックによりデータ全消去・保証無効になります。%RST%
echo %RED%本スクリプトによるいかなる損害も作者は一切責任を負いません。%RST%
echo %CYN%=================================================================%RST%
set /p confirm="リスクを理解した上で続行しますか?(Y で続行、それ以外は終了): "
if /i "%confirm%" neq "Y" (
echo ユーザーがキャンセルしました。
pause
exit /B 1
)
:menu
set "factoryImages="
set "unlockGPT="
set "ifFlash="
echo %CYN%==========================================%RST%
echo %GRN%解鎖する機種を選択してください%RST%
echo %CYN%==========================================%RST%
echo 1. Redmi K80 Pro
echo 2. Redmi K90
echo 3. Xiaomi 15
echo 4. Xiaomi 15 Pro
echo 5. Xiaomi 15 Ultra
echo 6. Xiaomi Pad 8 Pro
echo %RED%0. 終了%RST%
echo %CYN%==========================================%RST%
set /p choice=番号を入力して Enter:
if "%choice%"=="1" (
set factoryImages=Redmik80pro
set unlockGPT=else
set ifFlash=0
)
if "%choice%"=="2" (
set factoryImages=Redmik90
set unlockGPT=else
set ifFlash=0
)
if "%choice%"=="3" (
set factoryImages=Xiaomi15
set unlockGPT=else
set ifFlash=1
)
if "%choice%"=="4" (
set factoryImages=Xiaomi15pro
set unlockGPT=else
set ifFlash=1
)
if "%choice%"=="5" (
set factoryImages=Xiaomi15ultra
set unlockGPT=else
set ifFlash=0
)
if "%choice%"=="6" (
set factoryImages=Xiaomipad8pro
set unlockGPT=Xiaomipad8pro
set ifFlash=0
)
if "%choice%"=="0" exit /B
if "%factoryImages%"=="" goto menu
set abl_path=%~dp0unlockFolder\factoryImages\%factoryImages%\images\abl.elf
:warning_confirm
echo %RED%=================================================================%RST%
echo !!! 最終警告 !!!
echo %RED%=================================================================%RST%
echo %RED%BLアンロックを行うと【全データが消去】され、【保証が無効】になります!%RST%
echo %RED%Yを入力すると操作は取り消せません。%RST%
echo %RED%=================================================================%RST%
echo.
echo %CYN%------------------------------------------%RST%
echo ファイルパス確認:
echo %YEL%%abl_path%%RST%
echo %YEL%%~dp0unlockFolder\unlockGPT\%unlockGPT%\unlockgpt_both4.bin%RST%
echo %CYN%------------------------------------------%RST%
echo.
set /p final_confirm="本当に続行しますか?(Y で実行): "
if /i "%final_confirm%" neq "Y" (
echo %YEL%[安全終了] スクリプトを終了します%RST%
pause
exit /B 1
)
echo %CYN%==========================================%RST%
echo %GRN%ADB接続を確認中...%RST%
echo %CYN%==========================================%RST%
:check_adb
set count=0
:wait_adb
adb devices 2>nul | findstr /v /i "List" | findstr /i "device" >nul
if %errorlevel% equ 0 goto adb_reboot
set /a count+=1
timeout /t 2 /nobreak >nul
echo adb接続試行中 [%count%/10]
if %count% lss 10 goto wait_adb
echo.
echo %RED%[!] デバイスが検出されません。%RST%
echo %RED% USBデバッグが有効か、ドライバが正しくインストールされているか確認してください。%RST%
echo.
echo 接続後にEnterを押してください...
set /p "="
goto check_adb
:adb_reboot
adb reboot bootloader
timeout /t 1 /nobreak >nul
echo %CYN%==========================================%RST%
echo %GRN%Fastboot接続を確認中...%RST%
echo %CYN%==========================================%RST%
:check_fastboot
set "count=0"
:loop_check
fastboot devices 2>nul | findstr /i "." >nul
if %errorlevel% equ 0 goto selinux_permissive
set /a count+=1
timeout /t 1 /nobreak >nul
echo fastboot接続試行中 [%count%/10]...
if %count% lss 10 goto loop_check
echo.
echo %RED%[!] Fastbootモードのデバイスが検出されません!%RST%
echo %RED% 1. 電話がFastbootモードになっているか確認%RST%
echo %RED% 2. Fastbootドライバがインストールされているか確認%RST%
echo.
echo 接続後にEnterを押してください...
set /p "="
goto check_fastboot
:selinux_permissive
fastboot oem set-gpu-preemption 0 androidboot.selinux=permissive
fastboot continue || fastboot reboot
timeout /t 1 /nobreak >nul
:check_adb_2
set count=0
:wait_adb_2
adb devices 2>nul | findstr /v /i "List" | findstr /i "device" >nul
if %errorlevel% equ 0 goto check_selinux
set /a count+=1
timeout /t 2 /nobreak >nul
echo adb接続試行中 [%count%/10]
if %count% lss 10 goto wait_adb_2
echo.
echo データ線またはポートを確認してください
echo Enterを押して再接続...
set /p "="
goto check_adb_2
:check_selinux
adb shell getenforce | findstr /i "Permissive" >nul || (
echo %RED%[!] SELinuxがPermissiveになっていません。%RST%
pause
exit /B 1
)
:flash_abl
if "%unlockGPT%"=="else" (
adb push "%abl_path%" /data/local/tmp/abl && (
adb shell service call miui.mqsas.IMQSNative 21 i32 1 s16 "dd" i32 1 s16 'if=/data/local/tmp/abl of=/dev/block/by-name/abl_a' s16 '/data/mqsas/log.txt' i32 60
timeout /t 1 /nobreak >nul
adb shell service call miui.mqsas.IMQSNative 21 i32 1 s16 "dd" i32 1 s16 'if=/data/local/tmp/abl of=/dev/block/by-name/abl_b' s16 '/data/mqsas/log.txt' i32 60
timeout /t 1 /nobreak >nul
) || (
echo %YEL%ABLの書き込みに失敗しました。通信を安定させてEnterで再試行%RST%
set /p "="
goto flash_abl
)
) else (
if "%unlockGPT%"=="Xiaomipad8pro" (
adb push "%abl_path%" /data/local/tmp/abl/abl.elf && (
adb shell service call miui.mqsas.IMQSNative 21 i32 1 s16 "dd" i32 1 s16 'if=/data/local/tmp/abl/abl.elf of=/dev/block/by-name/abl_a' s16 '/data/mqsas/log.txt' i32 60
timeout /t 1 /nobreak >nul
adb shell service call miui.mqsas.IMQSNative 21 i32 1 s16 "dd" i32 1 s16 'if=/data/local/tmp/abl/abl.elf of=/dev/block/by-name/abl_b' s16 '/data/mqsas/log.txt' i32 60
timeout /t 1 /nobreak >nul
) || (
echo %YEL%ABLの書き込みに失敗しました。通信を安定させてEnterで再試行%RST%
set /p "="
goto flash_abl
)
)
)
adb reboot bootloader
timeout /t 1 /nobreak >nul
:check_fastboot_1
set "count=0"
:loop_check_1
fastboot devices 2>nul | findstr /i "." >nul
if %errorlevel% equ 0 goto check_ifFlash
set /a count+=1
timeout /t 1 /nobreak >nul
echo fastboot接続試行中 [%count%/10]...
if %count% lss 10 goto loop_check_1
echo.
echo %YEL%手動でFastbootモードに入ってEnterを押してください%RST%
set /p "="
goto check_fastboot_1
:check_ifFlash
if "%ifFlash%"=="0" goto flash_gpt
if "%ifFlash%"=="1" goto run_flashall
:run_flashall
cmd /c "%~dp0unlockFolder\factoryImages\%factoryImages%\flash_all.bat"
timeout /t 1 /nobreak >nul
:check_fastboot_2
set "count=0"
:loop_check_2
fastboot devices 2>nul | findstr /i "." >nul
if %errorlevel% equ 0 goto flash_gpt
set /a count+=1
timeout /t 1 /nobreak >nul
echo fastboot接続試行中 [%count%/10]...
if %count% lss 10 goto loop_check_2
echo.
echo %YEL%手動でFastbootモードに入ってEnterを押してください%RST%
set /p "="
goto check_fastboot_2
:flash_gpt
fastboot flash partition:4 "%~dp0unlockFolder\unlockGPT\%unlockGPT%\unlockgpt_both4.bin"
timeout /t 1 /nobreak >nul
fastboot boot "%~dp08750-Ennea.img"
timeout /t 1 /nobreak >nul
fastboot reboot bootloader
timeout /t 1 /nobreak >nul
:check_fastboot_3
set "count=0"
:loop_check_3
fastboot devices 2>nul | findstr /i "." >nul
if %errorlevel% equ 0 goto restore_gpt
set /a count+=1
timeout /t 1 /nobreak >nul
echo fastboot接続試行中 [%count%/10]...
if %count% lss 10 goto loop_check_3
echo.
echo %YEL%手動でFastbootモードに入ってEnterを押してください%RST%
set /p "="
goto check_fastboot_3
:restore_gpt
fastboot flash partition:4 "%~dp0unlockFolder\factoryImages\%factoryImages%\images\gpt_both4.bin"
:check_bl
set "bl_status=0"
fastboot oem device-info > temp_bl.txt 2>&1
type temp_bl.txt
findstr /ic:"Device unlocked: true" temp_bl.txt >nul
if !errorlevel! equ 0 (
set "bl_status=1"
echo %GRN%[成功] BLは既にアンロックされています%RST%
) else (
set "bl_status=0"
echo %YEL%[情報] BLはまだアンロックされていません%RST%
)
del temp_bl.txt
echo.
:check_abl
set "frp_success=0"
fastboot erase frp > temp_frp.txt 2>&1
type temp_frp.txt
findstr /ic:"FAILED" temp_frp.txt >nul
if !errorlevel! neq 0 (
set "frp_success=1"
echo %GRN%[成功] Google FRPロックを解除しました%RST%
) else (
set "frp_success=0"
)
del temp_frp.txt
:check_status
if "!bl_status!"=="1" if "!frp_success!"=="1" (
echo %GRN%解鎖成功!%RST%
goto flash_official
)
if "!bl_status!"=="0" if "!frp_success!"=="1" (
echo %YEL%[警告] 工程ABLが正しく書き込まれていない可能性があります。%RST%
echo 酷安 @Kernix に連絡して再実行してください。
pause
goto check_fastboot_1
)
if "!bl_status!"=="0" if "!frp_success!"=="0" (
echo %RED%[危険] BLアンロック失敗かつABLが書き換わっています。%RST%
echo 直ちに小米售后へ連絡してください。
pause
exit /B 1
)
if "!bl_status!"=="1" if "!frp_success!"=="0" (
echo %RED%[エラー] 状態を確認しています...%RST%
set /p "=" >nul
goto check_bl
)
:flash_official
echo.
echo %CYN%-----------------------------------------------------------------%RST%
echo %YEL% [次の手順]%RST%
echo xiaomirom.com から公式線刷パッケージをダウンロード
echo 公式パッケージ内の %GRN%flash_all.bat%RST% をこのウィンドウにドラッグ&ドロップして実行
echo または「刷机匣」などのツールで公式ROMをインストールしてください
echo %CYN%-----------------------------------------------------------------%RST%
echo %CYN% スクリプトはここで終了しました。コマンドラインは継続中です...%RST%
echo.
if not defined IN_LOG_MODE cmd /kこれを8e-unlock.batという名前で上書き保存して、実行してください。