mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 04:33:28 +00:00
Translated ['todo/hardware-hacking/uart.md'] to tr
This commit is contained in:
parent
8204de326f
commit
08adcdc4f1
1 changed files with 31 additions and 19 deletions
|
@ -2,11 +2,11 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Sıfırdan kahraman olmak için AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Sıfırdan kahraman olmak için AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong> ile</strong></summary>
|
||||
|
||||
HackTricks'ı desteklemenin diğer yolları:
|
||||
|
||||
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
|
||||
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
|
||||
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
|
||||
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
|
||||
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
|
||||
|
@ -16,11 +16,11 @@ HackTricks'ı desteklemenin diğer yolları:
|
|||
|
||||
## Temel Bilgiler
|
||||
|
||||
UART, verileri bileşenler arasında bir bit aynı anda aktardığı anlamına gelen bir seri protokoldür. Buna karşılık, paralel iletişim protokolleri verileri aynı anda birden fazla kanaldan iletilir. Yaygın seri protokoller arasında RS-232, I2C, SPI, CAN, Ethernet, HDMI, PCI Express ve USB bulunur.
|
||||
UART, verileri bir bitlik birimler halinde bileşenler arasında ileten bir seri protokoldür. Buna karşılık, paralel iletişim protokolleri verileri aynı anda birden fazla kanaldan iletilir. Yaygın seri protokoller arasında RS-232, I2C, SPI, CAN, Ethernet, HDMI, PCI Express ve USB bulunur.
|
||||
|
||||
Genel olarak, UART boşta iken (mantıksal 1 değerinde) hat yüksek tutulur. Daha sonra, veri transferinin başlangıcını belirtmek için verici, alıcıya bir başlangıç biti gönderir, bu sırada sinyal düşük tutulur (mantıksal 0 değerinde). Daha sonra, verici gerçek mesajı içeren beş ila sekiz veri biti gönderir, bunu isteğe bağlı bir çiftlik biti ve yapılandırmaya bağlı olarak bir veya iki durdurma biti (mantıksal 1 değerinde) izler. Hata kontrolü için kullanılan çiftlik biti, uygulamada nadiren görülür. Durdurma biti (veya bitleri) iletimin sonunu belirtir.
|
||||
Genel olarak, UART boşta iken (mantıksal 1 değerinde) hat yüksek tutulur. Daha sonra, veri transferinin başlangıcını belirtmek için verici, alıcıya bir başlangıç biti gönderir, bu sırada sinyal düşük tutulur (mantıksal 0 değerinde). Daha sonra, verici, gerçek mesajı içeren beş ila sekiz veri biti gönderir, ardından isteğe bağlı bir çiftlik biti ve bir veya iki durdurma biti (mantıksal 1 değerinde) gönderir, yapılandırmaya bağlı olarak. Hata denetimi için kullanılan çiftlik biti, uygulamada nadiren görülür. Durdurma biti (veya bitleri) iletimin sonunu belirtir.
|
||||
|
||||
En yaygın yapılandırmaya 8N1 denir: sekiz veri biti, çiftlik biti olmadan ve bir durdurma biti. Örneğin, 8N1 UART yapılandırmasında karakter C'yi veya ASCII'de 0x43'ü göndermek isteseydik, aşağıdaki bitleri gönderirdik: 0 (başlangıç biti); 0, 1, 0, 0, 0, 0, 1, 1 (0x43 değerinin ikili karşılığı) ve 0 (durdurma biti).
|
||||
En yaygın yapılandırmaya 8N1 adını veririz: sekiz veri biti, çiftlik yok ve bir durdurma biti. Örneğin, 8N1 UART yapılandırmasında karakter C'yi veya ASCII'de 0x43'ü göndermek isteseydik, aşağıdaki bitleri gönderirdik: 0 (başlangıç biti); 0, 1, 0, 0, 0, 0, 1, 1 (0x43 değerinin ikili karşılığı), ve 0 (durdurma biti).
|
||||
|
||||
![](<../../.gitbook/assets/image (761).png>)
|
||||
|
||||
|
@ -28,7 +28,7 @@ UART ile iletişim kurmak için donanım araçları:
|
|||
|
||||
* USB-seri adaptör
|
||||
* CP2102 veya PL2303 yongalarıyla adaptörler
|
||||
* Bus Pirate, Adafruit FT232H, Shikra veya Attify Badge gibi çok amaçlı araçlar
|
||||
* Bus Pirate, Adafruit FT232H, Shikra veya Attify Badge gibi çok amaçlı araçlar gibi
|
||||
|
||||
### UART Bağlantı Noktalarını Tanımlama
|
||||
|
||||
|
@ -36,18 +36,18 @@ UART'ın 4 bağlantı noktası vardır: **TX**(Gönder), **RX**(Al), **Vcc**(Ger
|
|||
|
||||
Bir **multimetre** ve cihaz kapalıyken:
|
||||
|
||||
* **Toprak bağlantısını belirlemek** için **Süreklilik Testi** modunu kullanın, arka ucu toprağa yerleştirin ve kırmızı ucu ile test edin, multimetreden bir ses duyana kadar. PCB'de birkaç GND pini bulunabilir, bu nedenle UART'a ait olanı bulmuş olabilirsiniz veya olmayabilirsiniz.
|
||||
* **VCC bağlantı noktasını belirlemek** için **DC gerilim modunu** ayarlayın ve 20 V gerilime kadar ayarlayın. Siyah probu toprağa, kırmızı probu pine yerleştirin. Cihazı açın. Multimetre sabit bir 3.3 V veya 5 V gerilim ölçerse, Vcc pini bulmuşsunuz demektir. Başka gerilimler alırsanız, diğer bağlantı noktaları ile tekrar deneyin.
|
||||
* **TX** **bağlantı noktasını belirlemek** için **DC gerilim modunu** 20 V gerilime kadar ayarlayın, siyah probu toprağa, kırmızı probu pine yerleştirin ve cihazı açın. Gerilimin birkaç saniye boyunca dalgalanıp daha sonra Vcc değerinde sabitlendiğini bulursanız, muhtemelen TX bağlantı noktasını bulmuşsunuz demektir. Bu, cihazı açarken bazı hata ayıklama verileri gönderdiği içindir.
|
||||
* **RX bağlantı noktası**, diğer 3'e en yakın olan olacaktır, en düşük gerilim dalgalanması ve tüm UART pinlerinin en düşük genel değerine sahiptir.
|
||||
* **Topraklılık Testi** modunu kullanarak **GND** pini tanımlamak için, arka ucu toprağa yerleştirin ve kırmızı ucu ile test edin, multimetreden bir ses duyana kadar. PCB'de birkaç GND pini bulunabilir, bu nedenle UART'a ait olanı bulmuş olabilirsiniz veya olmayabilirsiniz.
|
||||
* **VCC bağlantı noktasını** tanımlamak için **DC gerilim modunu** ayarlayın ve 20 V gerilime kadar ayarlayın. Siyah probu toprağa, kırmızı probu pine yerleştirin. Cihazı açın. Multimetre sabit bir 3.3 V veya 5 V gerilim ölçerse, Vcc pini bulmuşsunuz demektir. Başka gerilimler alırsanız, diğer bağlantı noktaları ile tekrar deneyin.
|
||||
* **TX** **bağlantı noktasını** tanımlamak için, **DC gerilim modunu** 20 V gerilime kadar ayarlayın, siyah probu toprağa, kırmızı probu pine yerleştirin ve cihazı açın. Gerilimin birkaç saniye boyunca dalgalanıp daha sonra Vcc değerinde sabitlendiğini bulursanız, muhtemelen TX bağlantı noktasını bulmuşsunuz demektir. Bu, cihazı açarken bazı hata ayıklama verileri gönderdiği içindir.
|
||||
* **RX bağlantı noktası**, diğer 3'e en yakın olanı olacaktır, en düşük gerilim dalgalanması ve tüm UART pinlerinin en düşük genel değerine sahiptir.
|
||||
|
||||
TX ve RX bağlantı noktalarını karıştırabilirsiniz ve hiçbir şey olmaz, ancak GND ve VCC bağlantı noktalarını karıştırırsanız devreyi yakabilirsiniz.
|
||||
|
||||
Bazı hedef cihazlarda, üretici tarafından RX veya TX veya hatta her ikisi devre dışı bırakılarak UART bağlantı noktası devre dışı bırakılabilir. Bu durumda, devre kartındaki bağlantıları izlemek ve bazı kesme noktalarını bulmak faydalı olabilir. UART'nin algılanmadığını ve devrenin kırıldığını doğrulamak için güçlü bir ipucu, cihazın garantiye sahip olup olmadığını kontrol etmektir. Cihazın bir garanti ile gönderilmiş olması durumunda, üretici bazı hata ayıklama arayüzleri (bu durumda UART) bırakır ve bu nedenle UART'yi bağlamış ve hata ayıklama yaparken tekrar bağlayacaktır. Bu kesme pinleri lehimleme veya jumper tellerle bağlanabilir.
|
||||
Bazı hedef cihazlarda, üretici tarafından RX veya TX veya hatta her ikisi devre dışı bırakılarak UART bağlantı noktası devre dışı bırakılabilir. Bu durumda, devre kartındaki bağlantıları izlemek ve bazı kırılma noktalarını bulmak faydalı olabilir. UART'nin algılanmadığını ve devrenin kırıldığını doğrulamak için güçlü bir ipucu, cihazın garantisini kontrol etmektir. Cihazın garanti ile birlikte gönderilmiş olması durumunda, üretici bazı hata ayıklama arayüzleri (bu durumda UART) bırakır ve bu nedenle UART'yi bağlantıyı kesmiş ve hata ayıklama yaparken tekrar bağlayacaktır. Bu kırılma pinleri lehimleme veya jumper tellerle bağlanabilir.
|
||||
|
||||
### UART Baud Oranını Tanımlama
|
||||
|
||||
Doğru baud oranını belirlemenin en kolay yolu, **TX piminden çıktıyı incelemek ve veriyi okumaya çalışmaktır**. Aldığınız veri okunabilir değilse, veri okunabilir hale gelene kadar bir sonraki mümkün baud oranına geçin. Bunu yapmak için bir USB-seri adaptör veya Bus Pirate gibi çok amaçlı bir cihaz kullanabilir ve [baudrate.py](https://github.com/devttys0/baudrate/) gibi bir yardımcı betikle eşleştirebilirsiniz. En yaygın baud oranları 9600, 38400, 19200, 57600 ve 115200'dür.
|
||||
Doğru baud oranını tanımlamanın en kolay yolu, **TX piminden çıktıyı incelemek ve veriyi okumaya çalışmaktır**. Aldığınız veri okunabilir değilse, veri okunabilir hale gelene kadar bir sonraki mümkün baud oranına geçin. Bunu yapmak için bir USB-seri adaptör veya Bus Pirate gibi çok amaçlı bir cihaz kullanabilir ve [baudrate.py](https://github.com/devttys0/baudrate/) gibi bir yardımcı betikle eşleştirebilirsiniz. En yaygın baud oranları 9600, 38400, 19200, 57600 ve 115200'dür.
|
||||
|
||||
{% hint style="danger" %}
|
||||
Bu protokolde bir cihazın TX'sini diğer cihazın RX'ine bağlamanız gerektiğini unutmamak önemlidir!
|
||||
|
@ -55,7 +55,7 @@ Bu protokolde bir cihazın TX'sini diğer cihazın RX'ine bağlamanız gerektiğ
|
|||
|
||||
## CP210X UART to TTY Adaptörü
|
||||
|
||||
CP210X Yongası, NodeMCU (esp8266 ile) gibi birçok prototip kartında Seri İletişim için kullanılır. Bu adaptörler oldukça ucuzdur ve hedefin UART arayüzüne bağlanmak için kullanılabilir. Cihazın 5 pini vardır: 5V, GND, RXD, TXD, 3.3V. Herhangi bir hasarı önlemek için hedef tarafından desteklenen gerilimi bağlamayı unutmayın. Son olarak, Adaptörün RXD pimini hedefin TXD'sine ve Adaptörün TXD pimini hedefin RXD'sine bağlayın.
|
||||
CP210X Yongası, NodeMCU (esp8266 ile) gibi birçok prototip kartında Seri İletişim için kullanılır. Bu adaptörler oldukça ucuzdur ve hedefin UART arayüzüne bağlanmak için kullanılabilir. Cihazın 5 pini vardır: 5V, GND, RXD, TXD, 3.3V. Herhangi bir hasar olmaması için hedef tarafından desteklenen gerilimi bağlamayı unutmayın. Son olarak, Adaptörün RXD pimini hedefin TXD'sine ve Adaptörün TXD pimini hedefin RXD'sine bağlayın.
|
||||
|
||||
Adaptör algılanmazsa, CP210X sürücülerinin ana sistemde yüklü olduğundan emin olun. Adaptör algılandığında ve bağlandığında, picocom, minicom veya screen gibi araçlar kullanılabilir.
|
||||
|
||||
|
@ -67,13 +67,25 @@ UART arayüzü ile temel etkileşim için aşağıdaki komutu kullanın:
|
|||
```
|
||||
picocom /dev/<adapter> --baud <baudrate>
|
||||
```
|
||||
Minicom'i yapılandırmak için aşağıdaki komutu kullanın:
|
||||
minicom için, onu yapılandırmak için aşağıdaki komutu kullanın:
|
||||
```
|
||||
minicom -s
|
||||
```
|
||||
`Seri port ayarları` seçeneğinde baud hızı ve cihaz adı gibi ayarları yapılandırın.
|
||||
|
||||
Yapılandırmadan sonra `minicom` komutunu kullanarak UART Konsolunu başlatın.
|
||||
|
||||
## Arduino UNO R3 Üzerinden UART (Çıkarılabilir Atmel 328p Yonga Kartları)
|
||||
|
||||
UART Seri USB adaptörleri mevcut değilse, Arduino UNO R3 hızlı bir hile ile kullanılabilir. Arduino UNO R3 genellikle her yerde bulunabilir olduğundan, bu yöntem çok zaman kazandırabilir.
|
||||
|
||||
Arduino UNO R3'ün kendisinde kart üzerinde bulunan bir USB'den Seri adaptörü vardır. UART bağlantısı almak için, sadece Arduino'dan Atmel 328p mikrodenetleyici yongasını çıkarın. Bu hile, Arduino UNO R3 varyantlarında (SMD versiyonunda kullanılan) kart üzerine lehimlenmemiş olan Atmel 328p'ye sahip olanlarda çalışır. Arduino'nun RX pini (Dijital Pin 0) ile UART Arayüzünün TX pini ve Arduino'nun TX pini (Dijital Pin 1) ile UART arayüzünün RX pini bağlanır.
|
||||
|
||||
Son olarak, UART arayüzüne göre baud hızını ayarlayarak Arduino IDE'yi kullanmanız önerilir. Menüdeki `tools` bölümünde `Serial Console` seçeneğini seçin ve baud hızını ayarlayın.
|
||||
|
||||
## Bus Pirate
|
||||
|
||||
Bu senaryoda, Arduino'nun programın tüm çıktılarını Seri Monitöre gönderdiği UART iletişimini dinleyeceğiz.
|
||||
Bu senaryoda, Arduino'nun programın tüm çıktılarını Seri Monitöre gönderdiği UART iletişimini izleyeceğiz.
|
||||
```bash
|
||||
# Check the modes
|
||||
UART>m
|
||||
|
@ -147,14 +159,14 @@ waiting a few secs to repeat....
|
|||
```
|
||||
<details>
|
||||
|
||||
<summary><strong>Sıfırdan kahraman olmaya kadar AWS hacklemeyi öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>AWS hackleme konusunda sıfırdan kahramana dönüşmek için</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> öğrenin!</strong></summary>
|
||||
|
||||
HackTricks'ı desteklemenin diğer yolları:
|
||||
|
||||
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
|
||||
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
|
||||
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
|
||||
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
|
||||
* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
|
||||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin.**
|
||||
* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
|
||||
|
||||
</details>
|
||||
|
|
Loading…
Reference in a new issue