Hardware Hacking

HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

JTAG

JTAG рдПрдХ рд╕реАрдорд╛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕реАрдорд╛ рд╕реНрдХреИрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд░реНрдХрд┐рдЯрд░реА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рди рдХреЗ рд▓рд┐рдП рдПрдореНрдмреЗрдбреЗрдб рд╕реАрдорд╛-рд╕реНрдХреИрди рд╕реЗрд▓ рдФрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

JTAG рдорд╛рдирдХ рд╕реАрдорд╛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • BYPASS рдЖрдкрдХреЛ рдЕрдиреНрдп рдЪрд┐рдкреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреЗ рдУрд╡рд░рд╣реЗрдб рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪрд┐рдк рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

  • SAMPLE/PRELOAD рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрд╢реАрд▓рддрд╛ рдореЛрдб рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдирдореВрдирд╛ рд▓реЗрддрд╛ рд╣реИред

  • EXTEST рдкрд┐рди рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рд╕реЗрдЯ рдФрд░ рдкрдврд╝рддрд╛ рд╣реИред

рдпрд╣ рдЕрдиреНрдп рдЖрджреЗрд╢реЛрдВ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ:

  • IDCODE рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

  • INTEST рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЖрдВрддрд░рд┐рдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП

рдЖрдк рдЗрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЖрдк JTAGulator рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЯреЗрд╕реНрдЯ рдПрдХреНрд╕реЗрд╕ рдкреЛрд░реНрдЯ

рд╕реАрдорд╛ рд╕реНрдХреИрди рдореЗрдВ рдЪрд╛рд░-рддрд╛рд░ рдЯреЗрд╕реНрдЯ рдПрдХреНрд╕реЗрд╕ рдкреЛрд░реНрдЯ (TAP) рдХреЗ рдкрд░реАрдХреНрд╖рдг рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рдкреЛрд░реНрдЯ рд╣реИ рдЬреЛ рдПрдХ рдШрдЯрдХ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд JTAG рдкрд░реАрдХреНрд╖рдг рд╕рдорд░реНрдерди рдХрд╛рд░реНрдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред TAP рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд╛рдВрдЪ рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

  • рдЯреЗрд╕реНрдЯ рдХреНрд▓реЙрдХ рдЗрдирдкреБрдЯ (TCK) TCK рд╡рд╣ рдШрдбрд╝реА рд╣реИ рдЬреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ TAP рдирд┐рдпрдВрддреНрд░рдХ рдХрд┐рддрдиреА рдмрд╛рд░ рдПрдХрд▓ рдХреНрд░рд┐рдпрд╛ рдХрд░реЗрдЧрд╛ (рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╕реНрдерд┐рддрд┐ рдорд╢реАрди рдореЗрдВ рдЕрдЧрд▓реА рд╕реНрдерд┐рддрд┐ рдкрд░ рдХреВрджреЗрдЧрд╛)ред

  • рдЯреЗрд╕реНрдЯ рдореЛрдб рдЪрдпрди (TMS) рдЗрдирдкреБрдЯ TMS рд╕реАрдорд┐рдд рд╕реНрдерд┐рддрд┐ рдорд╢реАрди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдШрдбрд╝реА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдмреАрдЯ рдкрд░, рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ JTAG TAP рдирд┐рдпрдВрддреНрд░рдХ TMS рдкрд┐рди рдкрд░ рд╡реЛрд▓реНрдЯреЗрдЬ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╡реЛрд▓реНрдЯреЗрдЬ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдереНрд░реЗрд╢реЛрд▓реНрдб рд╕реЗ рдиреАрдЪреЗ рд╣реИ, рддреЛ рд╕рдВрдХреЗрдд рдХреЛ рдХрдо рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ 0 рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛рдпрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдпрджрд┐ рд╡реЛрд▓реНрдЯреЗрдЬ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдереНрд░реЗрд╢реЛрд▓реНрдб рд╕реЗ рдКрдкрд░ рд╣реИ, рддреЛ рд╕рдВрдХреЗрдд рдХреЛ рдЙрдЪреНрдЪ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ 1 рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛рдпрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

  • рдЯреЗрд╕реНрдЯ рдбреЗрдЯрд╛ рдЗрдирдкреБрдЯ (TDI) TDI рд╡рд╣ рдкрд┐рди рд╣реИ рдЬреЛ рд╕реНрдХреИрди рд╕реЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд┐рдк рдореЗрдВ рдбреЗрдЯрд╛ рднреЗрдЬрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХреНрд░реЗрддрд╛ рдЗрд╕ рдкрд┐рди рдкрд░ рд╕рдВрдЪрд╛рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ JTAG рдЗрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

  • рдЯреЗрд╕реНрдЯ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ (TDO) TDO рд╡рд╣ рдкрд┐рди рд╣реИ рдЬреЛ рдЪрд┐рдк рд╕реЗ рдбреЗрдЯрд╛ рдмрд╛рд╣рд░ рднреЗрдЬрддрд╛ рд╣реИред

  • рдЯреЗрд╕реНрдЯ рд░реАрд╕реЗрдЯ (TRST) рдЗрдирдкреБрдЯ рд╡реИрдХрд▓реНрдкрд┐рдХ TRST рд╕реАрдорд┐рдд рд╕реНрдерд┐рддрд┐ рдорд╢реАрди рдХреЛ рдПрдХ рдЬреНрдЮрд╛рдд рдЕрдЪреНрдЫреЗ рд░рд╛рдЬреНрдп рдореЗрдВ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдпрджрд┐ TMS рдХреЛ рдкрд╛рдВрдЪ рд▓рдЧрд╛рддрд╛рд░ рдХреНрд▓реЙрдХ рдЪрдХреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП 1 рдкрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рд░реАрд╕реЗрдЯ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ TRST рдкрд┐рди рдХрд░реЗрдЧрд╛, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ TRST рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред

рдХрднреА-рдХрднреА рдЖрдк рдЗрди рдкрд┐рдиреЛрдВ рдХреЛ PCB рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдкрд╛рдПрдВрдЧреЗред рдЕрдиреНрдп рдЕрд╡рд╕рд░реЛрдВ рдкрд░ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

JTAG рдкрд┐рдиреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛

JTAG рдкреЛрд░реНрдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рдВрдЧрд╛ рддрд░реАрдХрд╛ JTAGulator рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ UART рдкрд┐рдирдЖрдЙрдЯ рдХрд╛ рднреА рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

рдЗрд╕рдореЗрдВ 24 рдЪреИрдирд▓ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдмреЛрд░реНрдб рдХреЗ рдкрд┐рди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рдпрд╣ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХрд╛ BF рд╣рдорд▓рд╛ рдХрд░рддрд╛ рд╣реИ, IDCODE рдФрд░ BYPASS рд╕реАрдорд╛ рд╕реНрдХреИрди рдЖрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕реЗ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ JTAG рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдЪреИрдирд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

JTAG рдкрд┐рдирдЖрдЙрдЯ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд╕реНрддрд╛ рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдзреАрдорд╛ рддрд░реАрдХрд╛ JTAGenum рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдПрдХ Arduino-рд╕рдВрдЧрдд рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдкрд░ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

JTAGenum рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдкреНрд░реЛрдмрд┐рдВрдЧ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдкрд┐рдиреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рдЖрдк рдПрдиреНрдпреВрдорд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЖрдкрдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдкрд┐рдирдЖрдЙрдЯ рдЖрд░реЗрдЦ рдХрд╛ рд╕рдВрджрд░реНрдн рд▓реЗрдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рдЗрди рдкрд┐рдиреЛрдВ рдХреЛ рдЖрдкрдХреЗ рд▓рдХреНрд╖рд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

JTAG рдкрд┐рдиреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХрд╛ рддреАрд╕рд░рд╛ рддрд░реАрдХрд╛ PCB рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рдкрд┐рдирдЖрдЙрдЯ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХреЗред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, PCBs рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рд╕реЗ Tag-Connect рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╕рдВрдХреЗрдд рд╣реИ рдХрд┐ рдмреЛрд░реНрдб рдореЗрдВ рдПрдХ JTAG рдХрдиреЗрдХреНрдЯрд░ рднреА рд╣реИред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╣ рдЗрдВрдЯрд░рдлреЗрд╕ https://www.tag-connect.com/info/ рдкрд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, PCB рдкрд░ рдЪрд┐рдкрд╕реЗрдЯ рдХреЗ рдбреЗрдЯрд╛рд╢рд┐рдЯ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рд╕реЗ JTAG рдЗрдВрдЯрд░рдлреЗрд╕ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд┐рдирдЖрдЙрдЯ рдЖрд░реЗрдЦ рдкреНрд░рдХрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

SDW

SWD рдПрдХ ARM-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ рдЬрд┐рд╕реЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

SWD рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рджреЛ рдкрд┐рдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ: рдПрдХ рджреНрд╡рд┐рджрд┐рд╢ SWDIO рд╕рдВрдХреЗрдд, рдЬреЛ JTAG рдХреЗ TDI рдФрд░ TDO рдкрд┐рдиреЛрдВ рдХреЗ рд╕рдордХрдХреНрд╖ рд╣реИ рдФрд░ рдПрдХ рдШрдбрд╝реА, рдФрд░ SWCLK, рдЬреЛ JTAG рдореЗрдВ TCK рдХреЗ рд╕рдордХрдХреНрд╖ рд╣реИред рдХрдИ рдЙрдкрдХрд░рдг рд╕реАрд░рд┐рдпрд▓ рд╡рд╛рдпрд░ рдпрд╛ JTAG рдбрд┐рдмрдЧ рдкреЛрд░реНрдЯ (SWJ-DP) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рд╕рдВрдпреБрдХреНрдд JTAG рдФрд░ SWD рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд▓рдХреНрд╖рд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ SWD рдпрд╛ JTAG рдкреНрд░реЛрдм рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

Last updated