Pengantar Embedded Reverse Engineering Drubicza Indonesian Research and Development Center March 19, 2015 Abstract Tutorial ini ditujukan kepada rekan-rekan yang berminat untuk mempelajari hal yang berkaitan dengan embedded device reverse engineering mulai dari pengenalan perlengkapan yang dapat digunakan untuk membantu proses reverse engineering, beberapa protokol komunikasi dan antarmuka yang sering digunakan pada perangkat embedded serta beberapa hal penting lainnya. Reverse engineering terhadap perangkat embedded itu sendiri bertujuan untuk mengetahui cara kerjanya, mencari kemungkinan celah keamanan serta kemungkinan mengaktifkan atau menambahkan fitur yang terdapat pada perangkat tersebut. 1 1 Disclaimer Tutorial ini hanya untuk tujuan pembelajaran semata, penulis tidak bertanggungjawab atas penggunaan maupun penyalahgunaan tutorial ini. Perlu dicatat bahwa penulis tidak memiliki latar belakang pengetahuan elektronika, dan semua yang ada pada tulisan ini hanya merupakan rangkuman dari pengalaman dan pelajaran yang penulis dapatkan secara otodidak jadi kemungkinan banyak penjelasan yang kurang tepat atau bahkan salah. 2 2 Tools of Trade Berikut ini adalah beberapa perlengkapan yang dapat membantu dalam proses embedded reversing: Multimeter Seperti namanya, alat ini digunakan untuk berbagai jenis pengukuran, diantaranya kuat arus, voltase (AC/DC), tahanan, dan ada juga yang menyediakan fitur untuk melakukan pengecekan transistor. Jika Anda berniat untuk membeli multimeter, ada baiknya Anda membeli multimeter jenis digital dan akan lebih baik lagi jika Anda membeli tipe autorange karena Anda tidak perlu mengatur lagi batas yang ingin Anda ukur. Multimeter profesional biasanya harganya relatif cukup mahal dan ada beberapa merk terkenal yang sering digunakan, yaitu Fluke, Gossen, Agilent, UNI-T dan lain sebagainya. Anda tidak perlu menggunakan multimeter profesional jika tujuan Anda hanya untuk hobby yang tidak terlalu serius. Untuk entry level multimeter, Anda dapat menggunakan produk dari UNI-T, Extech, dan lain-lain. Solder Solder digunakan untuk menghubungkan komponen menggunakan timah solder. Dalam proses embeded reversing, terkadang kita perlu untuk menyolder kabel jumper ataupun melepaskan komponen dari papan rangkaian (PCB), untuk itu dibutuhkan solder. Ada berbagai macam solder, namun sebaiknya gunakan solder yang memiliki pengatur suhu untuk memudahkan proses penyolderan. Untuk mata solder, sebaiknya gunakan sesuai kebutuhan, namun perlu diingat bahwa mata solder lancip (tajam) lebih lambat dalam mengantarkan panas dibandingkan mata solder pipih (chisel). Demikian pula jika Anda menggunakan timah solder bebas timbal (lead free), maka Anda membutuhkan solder dengan suhu yang lebih tinggi dibandingkan jika Anda menggunakan timah solder biasa. Untuk tahap awal, Anda dapat menggunakan solder yang mudah dijumpai dipasaran seperti merk goot, dekko dan lain-lain yang tidak memiliki pengatur suhu. Namun, jika Anda memiliki dana lebih, ada baiknya menggunakan soldering station yang telah dilengkapi dengan blower (solder uap) untuk memudahkan jika Anda harus berurusan dengan komponen Surface Mount Technology(SMT/SMD) yaitu komponen elektronika yang metode pemasangannya cukup dengan diletakkan pada papan sirkuit tanpa harus melubangi papan sirkuit tersebut. Untuk hal tersebut, Anda dapat menggunakan solder seperti Atten seri 8586. Adapun untuk keperluan profesional, Anda dapat menggunakan solder dengan kualitas lebih baik pula, misalnya merk JBC, Hakko, Metcal, Weller, Ersa dan lain sebagainya. 3 Timah Solder Ada 2 jenis timah solder yang sering digunakan, yaitu timah solder bebas timbal (lead free) dan timah solder yang mengandung timbal. Selain itu, ukuran diameter timah solder juga beragam, dan yang umum ditemui adalah timah solder yang memiliki diameter 0,8 mm. Untuk kebutuhan sehari-hari, Anda dapat menggunakan tipe 60/40 (60 persen timah, 40 persen timbal) rosin core, artinya pada bagian tengah timah solder terdapat rosin flux yang fungsinya untuk mempermudah proses penyolderan dengan hasil yang lebih bagus. Selain menggunakan rosin core solder, ada juga rosin flux yang dijual terpisah dan sangat membantu proses penyolderan dan kini tersedia dalam bentuk yang mudah terlarut dalam air (water soluble flux) yang memudahkan dalam membersihkan residunya. Solder Wick Solder wick fungsinya untuk membantu membersihkan sisa-sisa solder yang berlebihan atau mengangkat solder dari komponen sehingga komponen elektronik dapat diangkat/dilepas dengan mudah dari papan sirkuit (PCB). Selain menggunakan solder wick, Anda juga dapat menggunakan vacuum khususnya jika Anda mengerjakan komponen-komponen throughhole. Bus Pirate Bus pirate adalah perangkat yang dapat digunakan untuk mengamati dan berinteraksi menggunakan berbagai protokol komunikasi yang umum digunakan oleh perangkat elektronik, misalnya UART, SPI, I2C dan lain sebagainya. Anda dapat membaca secara lengkap dokumentasi mengenai bus pirate pada situs dangerous prototypes. Oscilloscope Oscilloscope adalah perangkat yang dapat digunakan untuk mengamati perubahan sinyal dalam jangka waktu tertentu. Sinyal pada oscilloscope ditampilkan dalam bentuk perbandingan voltase terhadap waktu. Saat ini ada berbagai jenis oscilloscope yang beredar, untuk tahap awal, Anda dapat menggunakan USB oscilloscope, yaitu oscilloscope yang terhubung dengan komputer dan Anda menggunakan aplikasi pada komputer untuk menampilkan sinyal yang dikirimkan oleh USB oscilloscope. Selain itu, ada pula bench oscilloscope, yaitu oscilloscope yang memiliki monitor yang terintegrasi. 4 Logic Analyzer Logic analyzer digunakan untuk melakukan analisis terhadap sinyal logic pada sebuah sistem digital. Secara sederhana, sinyal yang akan dianalisa terlebih dahulu disimpan (capture/sampling), baru kemudian dapat dilakukan decoding sesuai dengan protokol yang digunakan oleh sample tersebut. Sample yang disimpan oleh logic analyzer ada yang bersifat sequential (uncompressed) yaitu tersimpan dalam kondisi apa adanya dan ada pula yang melalui proses kompresi (compressed samples) dan untuk melakukan sampling, logic analyzer menggunakan trigger yang akan menentukan kapan harus mulai menangkap sinyal yang akan dijadikan sample untuk dianalisa. Ada 2 buah mode trigger yang digunakan oleh logic analyzer yaitu mode timing dan mode state. Trigger yang umum digunakan adalah trigger menggunakan timing mode. Logic analyzer yang umum digunakan diantaranya Saleae Logic, Open Bench Logic Sniffer, Asix Sigma2, USBee-SX dan lain sebagainya. Sedangkan pada sisi front end client software, terdapat beberapa pilihan alternatif dan bersifat open source diantaranya OLS dan sigrok. JTAG Adapter Sebenarnya Anda dapat menggunakan bus pirate sebagai jtag adapter disertai dengan openOCD. Namun, jika Anda tidak memiliki bus pirate, Anda dapat menggunakan jtag adapter lainnya untuk melakukan komunikasi/debugging melalui protokol JTAG. Ada banyak jenis JTAG adapter yang dapat Anda gunakan diantaranya GoodFET, jtagulator, Die Datenkrake, Flyswatter2, Bus Blaster dan lain-lain. Untuk memahami lebih lanjut mengenai JTAG, Anda dapat membaca referensi berupa standard yang digunakan yaitu IEEE 1149.1. Binwalk (Software) Binwalk adalah aplikasi opensource yang dapat digunakan untuk melakukan analisa dan mengekstrak firmware yang terdapat pada perangkat embedded. Analisa firmware dilakukan untuk mencari tahu fungsi-fungsi yang kadang tidak terdapat pada dokumentasi, termasuk kemungkinan adanya backdoor yang disisipkan oleh pembuat perngkat embedded. Flashrom (Software) Flashrom adalah aplikasi opensource yang dapat digunakan untuk membaca, menulis dan melakukan verifikasi terhadap data yang terdapat pada flash chip (EEPROM). Flash chip pada umumnya berisi firmware dan contoh yang umum ditemukan adalah chip BIOS pada komputer. Flashrom itu sendiri sifatnya sangat fleksibel dan mendukung banyak jenis flash chip 5 dan beragam hardware programmer, serta dapat digunakan pada beberapa jenis sistem operasi. Datasheet Datasheet berisi informasi mengenai suatu komponen dan biasanya disertai dengan schematic yang direkomendasikan untuk komponen tesebut. Datasheet merupakan sumber informasi yang sangat penting dalam proses embedded reversing. Contoh sederhana, datasheet mengenai suatu Integrated Circuit (IC) pada umumnya berisi informasi mengenai fungsi dari setiap pin yang ada pada IC tersebut. Misalnya sebuah IC memiliki pin untuk komunikasi menggunakan serial, biasanya kita dapat memperoleh informasi untuk memudahkan proses debugging dari pin Tx (transmit) yang ada pada IC tersebut dengan cara sniffing. Pin lain yang umum digunakan oleh IC saat ini adalah pin JTAG. Pin JTAG memiliki banyak fungsi, diantaranya adalah untuk debugging, menulis dan mengekstrak firmware yang berada di dalam IC, dan dapat pula digunakan untuk enumerasi komponen-komponen lain yang terhubung dengan IC tersebut. Perlengkapan Lain Perlengkapan lain yang sebaiknya Anda miliki adalah seperangkat obeng, tang potong, tang jepit, pinset, kaca pembesar, breadboard, kabel jumper, hot glue gun, LCR meter, frequency counter, dremel dan masih banyak perangkat pendukung lainnya. Selain itu, Anda wajib memiliki pengetahuan mengenai elektronika dasar, khususnya fungsi dari komponen diskrit seperti transistor, resistor, kapasitor dan lain-lain, serta pengetahuan mengenai arsitektur mikrokontroller/mikroprosesor yang umum digunakan pada perangkat embedded. 6 3 Pengetahuan Dasar Elektronika Sebagai tahap awal, Anda perlu mengenali beberapa komponen dasar elektronika berupa komponen pasif dan fungsinya masing-masing: Resistor Resistor atau tahanan adalah komponen elektronika yang fungsi dasarnya untuk menghambat arus pada suatu rangkaian. Secara sederhana, fungsi resistor dapat diandaikan seperti ketika Anda minum teh botol menggunakan sedotan, dimana sedotan tersebut kemudian Anda jepit menggunakan jari sehingga teh yang sampai ke mulut Anda jumlahnya menjadi sedikit. Resistor yang umum digunakan untuk hobby adalah tipe through hole dan tipenya adalah carbon film dan metal film. Perbedaan mendasar antara resistor carbon film dan metal film adalah nilai toleransinya. Resistor carbon film secara umum memiliki nilai toleransi 5% sedangkan resistor metal film nilai toleransinya lebih kecil yaitu 1%. Keuntungan menggunakan resistor metal film adalah nilai tahanannya lebih akurat dibandingkan resistor carbon film. Dari segi penampakan pun, kedua jenis resistor tersebut dapat dibedakan dari warna dasarnya, dimana resistor carbon film memiliki warna dasar cokelat muda sedangkan resistor metal film memiliki warna dasar biru muda. Untuk menghitung nilai tahanan resistor, dapat Anda lakukan secara manual yaitu dengan membaca strip lingkaran yang ada pada permukaan resistor. Resistor berhubungan erat dengan hukum Ohm yaitu persamaan: V =I ×R Dimana V adalah tegangan listrik atau voltase yang memiliki satuan Volt. I adalah kuat arus, satuannya Ampere. R adalah tahanan yang satuannya adalah ohm. Hambatan yang dihasilkan oleh resistor jika dipasang secara seri adalah jumlah tahanan tiap resistor dengan persamaan: Rtotal = R1 + R2 + R3 + ... + Rn sedangkan hambatan yang dihasilkan oleh resistor yang dipasang secara paralel adalah jumlah dari satu dibagi tahanan tiap resistor dengan persamaan sebagai berikut: Rtotal = 1 1 1 1 + + + ... + R1 R2 R3 Rn Pemahaman mengenai fungsi resistor akan sangat membantu Anda dalam proses embedded reverse engineering, misalnya dengan mengamati letak pull-up resistor pada sebuah rangkaian, maka Anda bisa mendapatkan sedikit gambaran mengenai cara kerja komponen yang berada di sekitarnya. 7 Kapasitor Kapasitor adalah komponen diskrit yang secara sederhana fungsinya adalah untuk menyimpan energi dalam bentuk medan listrik. Ukuran kapasitor dihitung dengan menggunakan satuan Farad. Kapasitor ada yang memiliki polaritas dan ada pula yang tidak memiliki polaritas. Memiliki polaritas artinya pin atau kaki pada kapasitor tersebut terdiri atas pin positif dan pin negatif, sehingga tidak boleh dipasang secara terbalik pada rangkaian elektronik. Pada umumnya kapasitor yang memiliki polaritas adalah kapasitor tipe elektrolit sedangkan kapasitor tanpa polarisasi pada umumnya berupa kapasitor keramik. Kapasitor mempunyai banyak fungsi pada rangkaian elektronik, misalnya untuk mengurangi noise pada jalur yang dilalui oleh tegangan/arus listrik dan biasanya disebut dengan istilah kapasitor bypass/decoupling dimana kapasitor yang umum digunakan memiliki ukuran 10 F, 1 F dan 100 nF. Selain itu kapasitor juga banyak digunakan pada rangkaian filter sinyal, misalnya pada rangkaian yang berkaitan dengan sinyal audio dan frekuensi radio. Beberapa jenis filter yang umum digunakan antara lain: low pass filter yang berfungsi untuk meneruskan sinyal yang memiliki frekuensi rendah, sedangkan high pass filter fungsinya untuk meneruskan sinyal yang memiliki frekuensi tinggi, ada pula band pass filter yang digunakan untuk menyaring sinyal dengan batasan tertentu. Sebagai catatan, Anda perlu berhati-hati dengan kapasitor yang memiliki nilai tegangan besar karena dapat mengakibatkan kejutan listrik yang dapat membahayakan jiwa Anda. Sebelum melakukan kegiatan yang berkaitan dengan kapasitor bertegangan tinggi tersebut, sebaiknya Anda melakukan shorting, yaitu menghubungkan kedua pin/kaki kapasitor misalnya menggunakan obeng yang memiliki isolator. Diode Secara sederhana, salah satu fungsi utama dioda adalah sebagai penyearah arus yaitu mengubah arus bolak-balik menjadi arus searah. Jadi diode itu ibarat katup yang akan menyebabkan fluida mengalir ke satu arah dan menahan aliran dari arah yang sebaliknya, namun pada komponen elektronik, fluida tersebut adalah arus yang mengalir. Selain itu, ada juga jenis dioda yang digunakan untuk menstabilkan tegangan yang biasanya disebut dengan istilah dioda zener. Adapun cara kerja dioda zener adalah membiarkan arus mengalir selama tegangannya berada pada jangkauan operasionalnya dan jika melebihi tegangan operasionalnya maka diode zener tersebut akan memastikan bahwa arus yang keluar tidak melebihi jangkauan operasionalnya. Dioda juga terdapat dalam bentuk lain, misalnya sensor cahaya atau lazim disebut photodiode dan kebalikannya yaitu dalam bentuk lampu yang sering disingkat LED (Light Emitting Diode). 8 Transistor Transistor jika diandaikan secara sederhana, ibarat keran air. Jika Anda memutar keran, maka air akan mengalir. Transistor memiliki 3 buah kaki. Pada transistor jenis BJT (Bipolar Junction Transistor), ketiga kaki tersebut diberi nama base, collector dan emitter. Sedangkan pada transistor jenis FET (Field Effect Transistor), ketiga kakinya diberi nama gate, source dan drain. Salah satu perbedaan antara transistor BJT dan FET adalah transistor tipe BJT bersifat aktif. Crystal Oscillator Crystal oscillator atau biasa disingkat xtal adalah komponen yang umum digunakan untuk membangkitkan clock signal pada rangkaian elektronik serta untuk menstabilkan frekuensi pada perangkat yang berhubungan dengan gelombang radio (RF). Crystal oscillator pada rangkaian elektronik biasanya memiliki dua buah kapasitor pada tiap kakinya yang berfungsi sebagai beban (load). Ada beberapa alternatif selain menggunakan crystal oscillator, diantaranya ceramic resonator yang pada prinsipnya mirip dengan crystal oscillator namun memiliki kapasitor load internal, dan selain itu ada juga PLL (Phase-Locked Loop) synthesizer IC yang dalam kehidupan nyata biasanya menjadi target para overclocker untuk menjalankan processor melampaui batas yang dianjurkan oleh produsen. 9 4 Protokol dan Antarmuka UART/USART UART/USART (Universal Asynchronous/Synchronous Receiver-Transmitter) atau biasa juga disebut komunikasi serial adalah antarmuka yang umum ditemukan pada perangkat embedded. Protokol yang umum digunakan pada antarmuka ini adalah RS-232, dan juga RS-485 yang sering digunakan untuk kebutuhan perangkat industrial. Ada 2 buah jalur sinyal penting yang digunakan untuk berkomunikasi pada antarmuka ini, yaitu: • Tx (Transmit). Seperti namanya, pin Tx (Transmit) berfungsi untuk mengirimkan data. • Rx (Receive). Pin Rx (Receive), berfungsi untuk menerima data. Kecepatan komunikasi pada antarmuka UART dihitung dengan menggunakan satuan baud yaitu jumlah sinyal per detik, namun seiring perkembangan jaman, rata-rata perangkat yang menggunakan antarmuka UART sudah memiliki fitur untuk mendeteksi baud rate secara otomatis (automatic baud rate detection). Hal yang perlu diperhatikan untuk protokol UART/USART adalah koneksi antara perangkat master dan slave, pin Tx pada master dihubungkan dengan pin Rx pada slave, dan demikian pula sebaliknya pin Tx pada slave terhubung dengan pin Rx pada perangkat yang berfungsi sebagai master. Saat ini, komunikasi serial pada perangkat embedded umumnya menggunakan adapter antara serial dan USB, dan IC yang umum digunakan sebagai adapter adalah buatan FTDI, misalnya seri FT232. SPI SPI atau Serial Peripheral Interface adalah protokol komunikasi yang cukup banyak digunakan oleh perangkat elektronik selain UART. Protokol SPI dapat menghubungkan beberapa periferal, dimana satu periferal berfungsi sebagai master dan periferal lainnya berfungsi sebagai slave. Koneksi antara master dan slave menggunakan jalur SCLK, MISO dan MOSI yang sama, namun jalur CS untuk setiap periferal berbeda. Protokol komunikasi ini menggunakan 4 buah jalur untuk sinyal. Jalur-jalur tersebut adalah: • SCLK (Serial Clock) adalah jalur yang digunakan oleh perangkat master untuk membangkitkan clock yang akan digunakan mengatur aliran data ketika terjadi komunikasi antara perangkat master dan slave. • MISO (Master In Slave Out) adalah jalur yang digunakan utuk mengirimkan data dari perangkat slave ke perangkat master. 10 • MOSI (Master Out Slave In) merupakan jalur yang digunakan untuk mengirimkan data dari perangkat master ke perangkat slave. • SS (Slave Select) / CS (Chip Select) berfungsi mengaktifkan periferal slave yang akan diajak berkomunikasi oleh master dan menonaktifkan periferal lain yang tidak digunakan. Namun demikian, ada kondisi dimana hal tersebut tidak berfungsi demikian. Hal tersebut disebabkan oleh slave yang jalur outputnya (MISO) tidak dilengkapi dengan logika tri-state. I2 C I2 C (Inter Integrated Circuit) adalah protokol yang ditemukan oleh perusahaan Philips Semiconductor (kini namanya NXP). Protokol ini sering juga disebut dengan TWI (Two Wire Interface) karena dulu nama I2 C adalah merupakan hak paten dari NXP. Kelebihan dari protokol komunikasi ini adalah karena hanya membutuhkan dua buah jalur sinyal untuk pengiriman data yaitu: • SCL (Serial Clock Line). Perangkat yang bertugas sebagai master berfungsi untuk membangkitkan clock yang akan dikirim melalui jalur SCL (Serial Clock Line) sedangkan perangkat yang bertugas sebagi slave berfungsi menerima clock dari master dan kemudian memberikan respon dalam bentuk menerima atau mengirimkan data. • SDA (Serial Data Line) adalah jalur yang digunakan untuk pertukaran data antara perangkat master dan slave. Sama dengan SPI, beberapa perangkat dapat dihubungkan menggunakan protokol I2 C, dan batasannya adalah jumlah maksimum alamat perangkat yang terhubung serta kapasitansi total koneksi antar perangkat yaitu 400pF. Perangkat yang umum menggunakan protokol komunikasi I2 C misalnya EEPROM, sensor IMU (Inertial Measurement Unit), Real Time Clock (RTC) dan lain sebagainya. JTAG JTAG adalah metode pengujian komponen elektronik yang diatur oleh standar IEEE 1149.1 dan pada awalnya merupakan rekomendasi oleh kelompok yang terdiri dari produsen komponen elektronik yang tergabung dalam Joint Test Action Group. Kelebihan dari JTAG adalah, kemampuannya dalam melakukan pengujian komponen elektronik tanpa melakukan kontak langsung secara fisik dengan pin yang ingin diubah ataupun dibaca nilainya. Hal tersebut sangat penting, mengingat komponen elektronik saat ini ukurannya semakin kecil dengan pin yang sangat susah dijangkau, misalnya pin yang terdapat pada komponen yang menggunakan packaging BGA/WLCSP. JTAG memiliki antarmuka yang dikenal dengan nama Test Access Port (TAP), dan berikut ini adalah jalur sinyal yang digunakan oleh antarmuka tersebut: 11 • TMS (Test Mode Select) adalah jalur sinyal yang mengatur state machine antarmuka TAP. • TCK (Test Data Clock) adalah jalur sinyal yang mengirimkan clock untuk mengatur aliran data pada antarmuka TAP. • TDI (Test Data In) adalah jalur sinyal yang digunakan untuk menerima data oleh komponen yang sedang diuji. • TDO (Test Data Out) adalah jalur sinyal yang digunakan mengirimkan data keluar dari komponen yang sedang diuji pada perangkat embedded. • TRST (Test Reset) adalah pin yang bersifat opsional, dimana fungsinya adalah melakukan reset pada antarmuka TAP. Perlu diperhatikan bahwa antarmuka JTAG sifatnya hanya berupa standard, dan setiap produsen komponen boleh melakukan implementasi sesuai dengan yang mereka inginkan. Oleh karenanya, Anda harus terlebih dahulu mencari informasi mengenai implementasi JTAG yang digunakan oleh produsen untuk perangkat embedded yang akan menjadi target reverse engineering. Protokol dan antarmuka yang dijelaskan di atas hanya sebagian dari protokol yang terdapat pada perangkat embedded. Masih banyak protokol dan antarmuka lainnya yang dapat Anda pelajari, diantaranya Inter Integrated Circuit Sound(I2 S) yang digunakan untuk sinyal audio, Serial Wire Debug(SWD) yaitu protokol yang dikembangkan oleh ARM, Spy-bi-Wire (SBW) yang dikembangkan oleh Texas Instruments, Camera Serial Interface (CSI) Digital Serial Interface (DSI) yang dikembangkan oleh MIPI Alliance, CANBUS yang pada umumnya digunakan pada kendaraan, Low Voltage Differential Signalling (LVDS) yang biasanya digunakan pada display misalnya LCD, dan lain-lain. 12 5 Tips & Tricks • Rangkaian elektronik pada umumnya memiliki titik kontak yang memiliki identifikasi TP dan diikuti dengan angka, misalnya TP1, TP2, ..., titik kontak tersebut adalah Test Point yang digunakan ketika proses Quality Control untuk menguji apakah perangkat tersebut dapat berfungsi dengan baik atau memiliki kerusakan sehingga tidak layak dipasarkan. Anda dapat menggunakan Test Point tersebut sebagai awal untuk melakukan reverse engineering dengan mengamati sinyal yang melewati jalur tersebut. • Sejumlah perangkat embedded memiliki jalur sinyal yang menggunakan antarmuka serial (UART), Anda dapat menggunakan trik memanfaatkan multimeter untuk mengukur tegangan pada jalur yang kemungkinan merupakan antarmuka serial tersebut. Biasanya voltase untuk pin Tx (Transmit) memiliki tegangan sekitar 1,8V atau 2,8V dan untuk pin Rx (Receive) memiliki tegangan sekitar 1,7V atau 2,7V. • Jika Anda bingung memulai dari mana, maka Anda dapat memulai dari hal yang sederhana, misalnya dengan memanfaatkan komputer bekas yang sudah tidak dipakai. Sebagai referensi, Anda dapat membaca tutorial Low Cost Embedded x86 Teaching Tool. 13 6 Penutup Embedded reverse engineering memang bukanlah hal yang mudah, namun asalkan Anda sabar dan rajin membaca referensi/dokumentasi dan melakukan eksperimen, maka hal tersebut akan menjadi sesuatu yang menarik bahkan menyenangkan. Ada banyak contoh manfaat pengetahuan mengenai embedded di lapangan. Salah satu contoh studi kasusnya adalah pemanfaatan dan kustomisasi coreboot sebagai fitur pengamanan tambahan pada mesin ATM. Sekian tulisan singkat kali ini, semoga bermanfaat. Terima kasih kepada Tuhan Yang Maha Esa, Maxindo, N3 dan Anda yang telah membaca tulisan ini. 14 7 Lampiran Berikut ini adalah gambar beberapa perangkat yang dapat membantu dalam proses embedded reverse engineering: Gambar 1. Digital Storage Oscilloscope Gambar 2. Logic Analyzer 15 Gambar 3. Autorange Multimeter Gambar 4. SMD Tester 16 Gambar 5. Frequency Counter Gambar 6. RF Explorer 17 Gambar 7. Bus Pirate Gambar 8. FTDI USB to Serial Adapter 18 Gambar 10. FTDI FT2232 JTAG Adapter Gambar 11. OpenXC Vehicle Interface 19 Gambar 12. TSOP48 Adapter 20 Gambar 13. ATTEN 8586 Soldering Station 21