Firmware router adalah perangkat lunak yang mengontrol fungsi router dan menyediakan antarmuka pengguna yang ramah untuk mengatur pengaturan jaringan. Ini adalah contoh dari sistem terbenam (embedded system), artinya perangkat lunak yang terintegrasi dalam perangkat keras. Jenis perangkat lunak ini dirancang khusus untuk beroperasi pada platform perangkat keras yang memiliki sumber daya terbatas, seperti router dengan memori dan daya proses yang terbatas.
Biasanya untuk melakukan dump firmware menggunakan bantuan alat Programmer CH341A. Programmer EEPROM CH341A adalah alat populer yang digunakan untuk membaca dan menulis data ke chip EEPROM (Electrically Erasable Programmable Read-Only Memory). Dalam konteks sistem tertanam router, CH341A dapat digunakan untuk mengakses dan memodifikasi firmware yang disimpan dalam chip EEPROM router.
Chip EEPROM di router berisi firmware yang mengontrol operasi router, termasuk pengaturan konfigurasinya, protokol jaringan, dan parameter penting lainnya. Jika firmware ini rusak atau rusak, router mungkin gagal berfungsi dengan baik, atau bahkan menjadi tidak berfungsi sama sekali. Dalam kasus seperti itu, mungkin perlu menggunakan alat seperti CH341A untuk membaca firmware dari chip EEPROM, memodifikasinya seperlunya, dan kemudian menuliskannya kembali ke chip.
CH341A terhubung ke chip EEPROM menggunakan satu set pin, yang biasanya dapat diakses di papan sirkuit router. Programmer kemudian dapat berkomunikasi dengan chip menggunakan protokol seperti SPI (Serial Peripheral Interface) atau I2C (Inter-Integrated Circuit), yang memungkinkannya membaca dan menulis data ke chip.
Kali ini kita akan lakukan tanpa bantuan Programmer CH341A dengan cara berikut. Untuk melakukan pembacaan firmware router, digunakan perintah mtd. Perintah mtd merupakan perintah bawaan dari linux di router tersebut.Subsystem MTD pada Linux menyediakan antarmuka yang terpadu untuk mengakses berbagai jenis perangkat memori flash. Utilitas MTD write adalah bagian dari subsistem ini dan memungkinkan pengguna untuk menulis data ke partisi MTD tertentu pada memori flash. Sebelum menggunakan utilitas MTD write, penting untuk mengidentifikasi lokasi dan ukuran perangkat memori flash menggunakan perintah “cat /proc/mtd”.
Langkah Dump Firmware
💡 Untuk dapat melakukan dump firmware router Bolt, pastikan anda sudah melakukan dan dapat mengakses root → Lihat Tutorial
- Login terlebih dahulu ke router melalui telnet.
- Setelah itu kita cek partisi flash dengan perintah
cat /proc/mtd
Nah disini terlihat bahwa router memiliki 7 partisi dari rentang 00000000 - 00010000
, Kita akan berfokus ke partisi mtd0
atau ALL. Karena partisi ini berisi semua informasi dari flash memory dari alamat paling awal hingga akhir.
- Setelah itu kita buat script downloadnya dengan mengetikkan perintah dibawah
cat <<EOF > /etc_ro/lighttpd/www/cgi-bin/mtd.sh
#!/bin/sh
echo "Pragma: no-cache\n"
echo "Cache-control: no-cache\n"
echo "Content-type: application/octet-stream"
echo "Content-Transfer-Encoding: binary"
echo "Content-Disposition: attachment; filename=fw-dump.bin"
echo ""
cat /dev/mtd0
EOF
chmod +x /etc_ro/lighttpd/www/cgi-bin/mtd.sh
- Setelah itu akses web dari router menggunakan ip address router tersebut. Setelah itu login dengan akun
admin
- Pergi ke halaman
cgi-bin/mtd.sh
Contoh:http://192.168.1.123/cgi-bin/mtd.sh
. Jika berhasil maka filefw-dump.bin
akan berhasil terunduh.
- Setelah terunduh kita check filenya, disini ternyata bersarnya sekitar ~16 MB, sesuai dengan besar flash memory yang dimiliki router ini yaitu sebesar 16 MB.
- Kita cek isi dari file dengan menggunakan
binwalk
untuk mengetahui apa isi dari firmware yang telah diunduh.
- Sukses, file yang terunduh sudah berisi dengan firmware dari flash memory kita, disini dapat dilihat terdapat 7 address yang terdiri dari firmware, config, linux kernel, dll. Setelah ini tergantung dari kita mau menggunakan firmware ini untuk cek source code atau digunakan untuk restore backup ke flash memory ketika terjadi brick routernya.
Sekian tutorial dump firmware router bolt BL-100 ✨
Selamat Mengoprek 👍
Loading Comments ...