Latar belakang Jack
"Ini universal untuk semua merek ponsel, jadi harus memiliki nama" sebenarnya tidak. Sudah banyak telepon selama bertahun-tahun yang telah menggunakan berbagai konektor. Teknologi "standar" bukan standar formal seperti yang Anda anggap hal-hal seperti standar IEEE. Industri ini baru saja berkembang dari waktu ke waktu untuk cenderung menggunakan apa yang kita semua ketahui sebagai jack audio.
Soket audio khusus memiliki 3 dering, biasanya Tip, Dering, Lengan (TRS). Ini biasanya memetakan ke Kiri, Kanan, dan Tanah. Produsen ponsel ingin membuat jack ini berfungsi dengan headphone yang ada sehingga mereka menggunakan konektor dengan 4 dering, yang disebut Tip, Ring, Ring, Sleeve (TRRS). Peta ini ke Kiri, Kanan, dan tanah seperti 3 dering, tetapi konektor terakhir memetakan ke mikrofon. Ini membuatnya sehingga jika Anda menyambungkan kabel audio saja ke dalamnya, input mikrofon tersambung ke ground sehingga tidak ada yang sakit. Ini juga berarti bahwa jika headset dengan mikrofon terhubung ke perangkat audio saja, mikrofon terhubung ke ground, juga tidak ada salahnya. Ada konektor serupa di 2.5mm (digunakan pada beberapa ponsel untuk menghemat ruang), 3.5mm (untuk ponsel, mp3 player, dll) dan .25 "(untuk headphone, gitar, dll yang lebih besar).
Data tentang Jack
Sejauh apa "data" perjalanan ini, itu murni analog. Beberapa orang telah menggunakan kembali kabel ini untuk melewatkan data serial, tetapi mereka sangat spesifik untuk aplikasi. Untuk kasus perangkat yang menggunakan jack untuk keperluan lain, mereka dapat melakukan apa pun yang mereka mau selama sinyal pada saluran terbatas, artinya tidak ada frekuensi tinggi yang digunakan. Alasan untuk ini adalah bahwa ada filter pada input yang memblokir frekuensi terlalu tinggi. Frekuensi ini akan berubah tergantung pada perangkat itu sendiri tetapi biasanya sekitar 12 KHz atau lebih.
Metode yang digunakan orang untuk mengirim data melalui ini biasanya sangat mirip dengan cara kerja modem saluran telepon. Konsep umum adalah bahwa ada pemetaan antara frekuensi yang dikirim dan data serial. Jika Anda ingin merekayasa balik suatu sistem, Anda perlu merekam saluran dan melihat frekuensi apa yang ada. Bagian yang sulit adalah mencari tahu apa yang dimaksud dengan data yang dihasilkan.
Komunikasi 2 Arah
Saya juga ingin mencatat bahwa komunikasi 2 arah mungkin dalam sistem ini. Saluran mikrofon digunakan untuk mengirim informasi ke telepon dan saluran audio keluar digunakan untuk mengirim informasi kembali ke perangkat eksternal Anda. Jika Anda mencoba merekayasa balik suatu perangkat, Anda ingin melihat Mic, Kiri, dan Kanan untuk melihat apakah ada komunikasi dua arah.
Rekayasa Balik
Saya menyebutkan bahwa reverse engineering akan menjadi bagian yang sulit. Inilah metode yang akan saya lakukan:
- Periksa untuk melihat baris mana yang memiliki data. Anda dapat menggunakan jack audio komputer untuk mengambil data Anda. Ini mungkin akan menjadi metode termudah untuk melihat data.
- Tentukan laju simbol. Pada dasarnya ketika Anda melihat data yang diambil, Anda harus melihat titik yang sangat spesifik bahwa frekuensi berubah.
- Lihat untuk melihat apakah ada frekuensi diam-diam yang digunakan, dan berapa banyak yang digunakan pada saat yang sama. Misalnya, mungkin ada 6 KHz, 8 KHz, 10 KHz, dan 12 KHz. Ini bisa dipetakan ke 4 bit per simbol. Jadi, jika Anda melihat 6 dan 8 sekaligus itu mungkin berarti 1100 (atau mungkin 0011). Lihat simbol berikutnya dan bisa jadi 6, 8, dan 12 dan bisa berarti 1101. Tentu saja jika itu adalah protokol khusus, itu bisa benar-benar berarti apa pun yang mereka inginkan. Tapi ini setidaknya akan memberi Anda awal.
- Dengan asumsi Anda mengumpulkan data yang menjalankan kartu yang Anda ketahui datanya, Anda dapat mencari polanya. Berikut adalah informasi yang termasuk dalam kartu. Anda dapat melakukan hal-hal seperti jika kartu Anda memiliki urutan pendek sehingga pengulangan terlihat untuk melihat apakah simbol Anda memiliki pola berulang yang sama. Setelah Anda berhasil menyelesaikan beberapa pola ini, Anda harus dapat melakukan perbandingan 1 banding 1 untuk sisa bilangannya, Anda pada akhirnya harus bisa mendapatkan ide yang cukup bagus tentang apa yang sedang dikirim.
Mungkin ada beberapa data yang dikirim yang tidak ada hubungannya dengan kartu Anda dan Anda mungkin tidak pernah tahu apa artinya, tetapi selama Anda tahu posisi data yang Anda pedulikan, hanya itu yang diperlukan. Anda hanya harus berharap bahwa pembuat perangkat keras tidak menerapkan tindakan "anti-peretasan" atau "anti-penggunaan kembali". Berpotensi desainer dapat menggunakan komunikasi dua arah untuk memberikan enkripsi. Mungkin juga bagi mereka untuk hanya mencampur semua data sehingga sulit untuk mengetahui apa itu. Saya akan mengatakan tidak mungkin mereka melakukan semua ini.