ESP32 SIFRELEME ARACI
----------------------------------------------
Bu arac, esptool ve espefuse terminal komutlarini tek tiklamaya indirmek icin hazirlanmistir.
Kullanim Adimlari:
1. Arduino IDE'den veya ESP-IDF'ten aldiginiz '.bin' dosyalarini bu klasore kopyalayin.
2. Dosya isimlerini su sekilde degistirin:
- Bootloader dosyaniz -> bootloader.bin
- Partition tablonuz (Orn: Blink.ino.partitions.bin) -> partition-table.bin
- Ana yaziliminiz (Orn: Blink.ino.bin) -> app.bin
3. Bilgisayarinizda Python'un ve esptool'un yuklu oldugundan emin olun.
(Yuklu degilse komut satirina 'py -m pip install esptool' yazarak kurabilirsiniz)
4. 'ESP-Flasher.bat' dosyasi olusturup assagidaki kodu içine koyun ve cift tiklayin.
5. Ekrana cihazin bagli oldugu COM portunu (ornek: COM5) girin ve yonergeleri izleyin.
Not: Ilk calistirmada 'encryption_key.bin' adinda 256-bit'lik bir anahtar uretilir.
Bu dosyayi guvenli bir diske yedekleyin. Ayni urunun diger kopyalarina (ornek: seri uretimdeki diger cihazlara) ayni anahtari basmak icin bu dosya kullanilacaktir.
ESP Generic için
@echo off
title KLASIK ESP32 Otomatik Sifreleme Arac
color 0B
echo.
set /p COMPORT="1) Cihazin bagli oldugu COM Portunu girin (Orn: COM4): "
echo.
pause
echo.
echo [ADIM 1] Sifreleme Anahtari Kontrolu...
if exist encryption_key.bin (
echo Anahtar zaten var, mevcut anahtar kullaniliyor.
) else (
py -m espsecure generate_flash_encryption_key encryption_key.bin
echo Yeni anahtar uretildi.
)
echo.
echo [ADIM 2] eFuse'a Anahtar Yaziliyor (DONANIM KILITLENMESI)
py -m espefuse --port %COMPORT% --do-not-confirm burn-key flash_encryption encryption_key.bin
py -m espefuse --port %COMPORT% --do-not-confirm burn-efuse FLASH_CRYPT_CONFIG 0xF
py -m espefuse --port %COMPORT% --do-not-confirm burn-efuse FLASH_CRYPT_CNT 1
echo.
echo [ADIM 3] Bin Dosyalari Sifrelenerek Cihaza Yukleniyor...
py -m esptool --port %COMPORT% --baud 460800 write-flash --encrypt 0x1000 bootloader.bin 0x8000 partition-table.bin 0x10000 app.bin
echo.
echo ===================================================
echo ISLEM TAMAMLANDI! Cihaz donanimsal olarak sifrelendi.
echo ===================================================
pause
ESP32 S3 ve C3 için
@echo off
title ESP32-S3 ve C3 Ortak Sifreleme Araci
color 0B
echo.
echo UYARI: Klasordeki .bin dosyalarinin, o an baglayacaginiz cipe
echo (S3 veya C3) gore derlendiginden KESINLIKLE emin olun!
echo (S3 icin derlenen kod C3'te calismaz, cihaz surekli reset atar)
echo.
set /p COMPORT="1) Cihazin bagli oldugu COM Portunu girin (Orn: COM4): "
echo.
pause
echo.
echo [ADIM 1] Sifreleme Anahtari Kontrolu...
if exist encryption_key.bin (
echo Anahtar zaten var, mevcut anahtar kullaniliyor.
) else (
py -m espsecure generate_flash_encryption_key encryption_key.bin
echo Yeni anahtar uretildi.
)
echo.
echo [ADIM 2] eFuse'a Anahtar Yaziliyor (DONANIM KILITLENMESI)
py -m espefuse --port %COMPORT% --do-not-confirm burn-key --keypurpose XTS_AES_128_KEY BLOCK_KEY0 encryption_key.bin
py -m espefuse --port %COMPORT% --do-not-confirm burn-efuse SPI_BOOT_CRYPT_CNT 1
echo.
echo [ADIM 3] Bin Dosyalari Sifrelenerek Cihaza Yukleniyor...
py -m esptool --port %COMPORT% --baud 460800 write-flash --encrypt 0x0000 bootloader.bin 0x8000 partition-table.bin 0x10000 app.bin
echo.
echo ===================================================
echo ISLEM TAMAMLANDI! Cihaz donanimsal olarak sifrelendi.
echo ===================================================
pause