๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

์•ˆ๋…• ๋ชจ๋‘

์˜ค๋Š˜ ์ €ํฌ, ๋น…ํ„ฐ ์•ˆํ‹ฐํฌํ”„์™€ ์ผ๋ฆฌ์•ผ ์•Œ๋ ˆ์‹ ์€ Python PyUSB๋ฅผ ํ†ตํ•ด USB ์žฅ์น˜๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒฝํ—˜๊ณผ ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

์„ ์‚ฌ ์‹œ๋Œ€

2019๋…„์— ๋Ÿฌ์‹œ์•„ ์—ฐ๋ฐฉ ์ •๋ถ€ ๊ฒฐ์˜์•ˆ ์ œ224ํ˜ธ "๋‹ด๋ฐฐ ์ œํ’ˆ์— ์‹๋ณ„ ์ˆ˜๋‹จ์„ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•œ ๊ทœ์น™ ์Šน์ธ ๋ฐ ๋‹ด๋ฐฐ ์ œํ’ˆ๊ณผ ๊ด€๋ จ๋œ ์‹๋ณ„ ์ˆ˜๋‹จ ํ‘œ์‹œ ์˜๋ฌดํ™” ๋Œ€์ƒ ์ƒํ’ˆ์˜ ์œ ํ†ต์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•œ ๊ตญ๊ฐ€ ์ •๋ณด ์‹œ์Šคํ…œ ๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ"์ด ๋ฐœํšจ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ด ๋ฌธ์„œ๋Š” 1๋…„ 2019์›” XNUMX์ผ๋ถ€ํ„ฐ ์ œ์กฐ์—…์ฒด๊ฐ€ ๋ชจ๋“  ๋‹ด๋ฐฐ ๊ฐ‘์— ๋ผ๋ฒจ์„ ๋ถ€์ฐฉํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ง์ ‘ ์œ ํ†ต์—…์ฒด๋Š” UPD(Universal Transfer Document) ๋“ฑ๋ก์„ ํ†ตํ•ด ์ œํ’ˆ์„ ์ˆ˜๋ นํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋งค์žฅ์—์„œ๋Š” ๋ผ๋ฒจ์ด ๋ถ€์ฐฉ๋œ ์ œํ’ˆ์˜ ํŒ๋งค๋ฅผ ๊ธˆ์ „ ๋“ฑ๋ก๊ธฐ๋ฅผ ํ†ตํ•ด ๋“ฑ๋กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ 1๋…„ 2020์›” XNUMX์ผ๋ถ€ํ„ฐ ํ‘œ์‹œ๊ฐ€ ์—†๋Š” ๋‹ด๋ฐฐ ์ œํ’ˆ์˜ ์œ ํ†ต์ด ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋“  ๋‹ด๋ฑƒ๊ฐ‘์—๋Š” ํŠน์ˆ˜ ๋ฐ์ดํ„ฐ๋งคํŠธ๋ฆญ์Šค ๋ฐ”์ฝ”๋“œ๊ฐ€ ํ‘œ์‹œ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”์šฑ ์ค‘์š”ํ•œ ์ ์€ ๋ฐ์ดํ„ฐ๋งคํŠธ๋ฆญ์Šค๊ฐ€ ์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ๋งคํŠธ๋ฆญ์Šค๊ฐ€ ์•„๋‹ˆ๋ผ ๊ทธ ๋ฐ˜๋Œ€๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํฐ์ƒ‰ ๋ฐ”ํƒ•์— ๊ฒ€์€์ƒ‰ ์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ทธ ๋ฐ˜๋Œ€์ž…๋‹ˆ๋‹ค.

์Šค์บ๋„ˆ๋ฅผ ํ…Œ์ŠคํŠธํ•ด ๋ณธ ๊ฒฐ๊ณผ, ๋Œ€๋ถ€๋ถ„ ์Šค์บ๋„ˆ๋ฅผ ์žฌํ”Œ๋ž˜์‹œํ•˜๊ฑฐ๋‚˜ ์žฌ๊ต์œกํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ด ๋ฐ”์ฝ”๋“œ๋ฅผ ์ธ์‹ํ•˜๊ณ  ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์€ ์ €ํฌ ํšŒ์‚ฌ์— ํฐ ๊ณจ์นซ๊ฑฐ๋ฆฌ๊ฐ€ ๋  ์ˆ˜๋ฐ–์— ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ €ํฌ ํšŒ์‚ฌ๋Š” ๋„“์€ ์ง€์—ญ์— ๋งค์žฅ์ด ์‚ฐ์žฌํ•ด ์žˆ๊ณ , ์ˆ˜๋งŒ ๊ฐœ์˜ ๊ธˆ์ „ ๋“ฑ๋ก๊ธฐ๊ฐ€ ์žˆ๋Š”๋ฐ๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์‹œ๊ฐ„์ด ๋งค์šฐ ๋ถ€์กฑํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ฌด์—‡์„ ํ•ด์•ผ ํ–ˆ์„๊นŒ์š”? ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ์งธ, ํ˜„์žฅ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์Šค์บ๋„ˆ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์žฌํ”Œ๋ž˜์‹œํ•˜๊ณ  ๋ฏธ์„ธ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‘˜์งธ, ์›๊ฒฉ์œผ๋กœ ์ž‘์—…ํ•˜๊ณ , ๊ฐ€๊ธ‰์ ์ด๋ฉด ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ ์Šค์บ๋„ˆ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์˜ต์…˜์€ ๋‹น์—ฐํžˆ ์šฐ๋ฆฌ์—๊ฒŒ ์ ํ•ฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์—”์ง€๋‹ˆ์–ด ๋ฐฉ๋ฌธ์— ๋น„์šฉ์„ ์ง€์ถœํ•ด์•ผ ํ–ˆ๊ณ , ๊ทธ๋Ÿด ๊ฒฝ์šฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ์–ดํ•˜๊ณ  ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ณ„์† ์ž‘์—…ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์˜ค๋ฅ˜๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ณ , ๋งˆ๊ฐ์ผ์„ ๋งž์ถ”์ง€ ๋ชปํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ์˜ต์…˜์€ ๋ชจ๋‘์—๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™์ง€๋งŒ, ํ•œ ๊ฐ€์ง€ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์—…์ฒด๋Š” ํ•„์š”ํ•œ ๋ชจ๋“  OS์— ํ•„์š”ํ•œ ์›๊ฒฉ ํ”Œ๋ž˜์‹ฑ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๋งˆ๊ฐ์ผ์ด ์ด‰๋ฐ•ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ง์ ‘ ์ƒ๊ฐํ•ด ๋‚ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ, ๋ฐ๋น„์•ˆ 9.x OS์—์„œ ์† ์Šค์บ๋„ˆ ๋„๊ตฌ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฐœ๋ฐœํ–ˆ๋Š”์ง€ ์•Œ๋ ค๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค(์ €ํฌ์˜ ๋ชจ๋“  ๊ธˆ์ „ ๋“ฑ๋ก๊ธฐ๋Š” ๋ฐ๋น„์•ˆ ๊ธฐ๋ฐ˜์ž…๋‹ˆ๋‹ค).

์ˆ˜์ˆ˜๊ป˜๋ผ๋ฅผ ํ’€์–ด๋ณด์„ธ์š”: ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๋น…ํ„ฐ ์•ˆํ‹ฐํฌํ”„๊ฐ€ ์ด์•ผ๊ธฐ๋ฅผ ๋“ค๋ ค์ค๋‹ˆ๋‹ค.

๊ณต๊ธ‰์—…์ฒด์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ณต์‹ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” Windows ๋ฐ IE์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๊ณ  ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€์ƒ ์‹œ์Šคํ…œ์ด ๋ฐ๋น„์•ˆ์ด๋ฏ€๋กœ ๋ฐ๋น„์•ˆ์—๋Š” USB-Redirector ์„œ๋ฒ„๋ฅผ, ์œˆ๋„์šฐ์—๋Š” USB-Redirector ํด๋ผ์ด์–ธํŠธ๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. USB-Redirector ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Linux ์ปดํ“จํ„ฐ์—์„œ Windows ์ปดํ“จํ„ฐ๋กœ ์Šค์บ๋„ˆ๋ฅผ ์ „๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ณต๊ธ‰์—…์ฒด์˜ Windows์šฉ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์Šค์บ๋„ˆ๋ฅผ ์ธ์‹ํ•˜๊ณ  ์ •์ƒ์ ์œผ๋กœ ํ”Œ๋ž˜์‹ฑ๊นŒ์ง€ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ฒซ ๋ฒˆ์งธ ๊ฒฐ๋ก ์€ OS์™€๋Š” ๋ฌด๊ด€ํ•˜๋ฉฐ, ํ”Œ๋ž˜์‹ฑ ํ”„๋กœํ† ์ฝœ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ข‹์•„์š”. Windows ์ปดํ“จํ„ฐ์—์„œ ๋ฆฌํ”Œ๋ž˜์‹ฑ์„ ์‹œ์ž‘ํ–ˆ๊ณ , Linux ์ปดํ“จํ„ฐ์—์„œ๋Š” ๋คํ”„๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋คํ”„๋ฅผ WireShark์— ๋ฐ€์–ด ๋„ฃ์—ˆ๊ณ ... ์Šฌํސ์Šต๋‹ˆ๋‹ค(๋คํ”„์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์‚ฌํ•ญ ์ค‘ ์ผ๋ถ€๋Š” ๊ฑด๋„ˆ๋›ฐ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค).

๋งค๋ฆฝ์ง€๊ฐ€ ์šฐ๋ฆฌ์—๊ฒŒ ๋ณด์—ฌ์ค€ ๊ฒƒ:

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

Wireshark์— ๋”ฐ๋ฅด๋ฉด ์ฃผ์†Œ 0000-0030์€ USB ์„œ๋น„์Šค ์ •๋ณด์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” 0040-0070 ๋ถ€๋ถ„์— ๊ด€์‹ฌ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ผ ์ „์†ก ํ”„๋ ˆ์ž„์—์„œ๋Š” MOCFT ๊ธฐํ˜ธ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์•„๋ฌด๊ฒƒ๋„ ๋ช…ํ™•ํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐํ˜ธ๋“ค์€ ํŽŒ์›จ์–ด ํŒŒ์ผ์—์„œ ๊ฐ€์ ธ์˜จ ๊ธฐํ˜ธ์˜€์œผ๋ฉฐ, ํ”„๋ ˆ์ž„ ๋๊นŒ์ง€ ๋‚จ์€ ๊ธฐํ˜ธ๋“ค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์˜€์Šต๋‹ˆ๋‹ค(ํŽŒ์›จ์–ด ํŒŒ์ผ์€ ๊ฐ•์กฐ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค).

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฐœ์ธ์ ์œผ๋กœ ์ €๋Š” ์ผ๋ฆฌ์•„์ฒ˜๋Ÿผ fd 3e 02 01 fe๋ผ๋Š” ๊ธฐํ˜ธ๊ฐ€ ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ์ „ํ˜€ ๋ชฐ๋ž์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํ”„๋ ˆ์ž„์„ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค(์—ฌ๊ธฐ์„œ๋Š” ์„œ๋น„์Šค ์ •๋ณด๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ๊ณ , ํŽŒ์›จ์–ด ํŒŒ์ผ์ด ๊ฐ•์กฐ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค).

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ฌด์—‡์ด ๋ถ„๋ช…ํ•ด์กŒ์„๊นŒ์š”? ์ฒ˜์Œ ๋‘ ๋ฐ”์ดํŠธ๋Š” ์ผ์ข…์˜ ์ƒ์ˆ˜๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ดํ›„ ๋ชจ๋“  ๋ธ”๋ก์—์„œ ์ด๋ฅผ ํ™•์ธํ–ˆ์ง€๋งŒ, ์ „์†ก ๋ธ”๋ก์ด ๋๋‚˜๊ธฐ ์ „์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™”์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

์ด ํ”„๋ ˆ์ž„๋„ ํ—ท๊ฐˆ๋ ธ๋Š”๋ฐ, ์ƒ์ˆ˜๊ฐ€ ๋ฐ”๋€Œ์—ˆ๊ณ (๊ฐ•์กฐ ํ‘œ์‹œ๋จ) ์ด์ƒํ•˜๊ฒŒ๋„ ํŒŒ์ผ์˜ ์ผ๋ถ€๊ฐ€ ๋‚จ์•„ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ „์†ก๋œ ํŒŒ์ผ ๋ฐ”์ดํŠธ ํฌ๊ธฐ๋Š” 1024๋ฐ”์ดํŠธ๋กœ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ๋ฐ”์ดํŠธ๊ฐ€ ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€๋Š” ์ €๋„ ์•Œ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์šฐ์„ , ์ €๋Š” ์˜ค๋ž˜๋œ BBS-nik์œผ๋กœ์„œ ํ‘œ์ค€ ์ „์†ก ํ”„๋กœํ† ์ฝœ์„ ๊ฒ€ํ† ํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ํ”„๋กœํ† ์ฝœ๋„ 1024๋ฐ”์ดํŠธ๋ฅผ ์ „์†กํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ 1K X-modem ํ”„๋กœํ† ์ฝœ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœํ† ์ฝœ์€ 1024๋ฐ”์ดํŠธ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ, ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” 128๋ฐ”์ดํŠธ๋งŒ ์ „์†กํ–ˆ๊ณ , ์˜ค๋ฅ˜๊ฐ€ ์—†์„ ๋•Œ๋งŒ ์ „์†ก ๋ฐ”์ดํŠธ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ฆ‰์‹œ 1024๋ฐ”์ดํŠธ๋ฅผ ์ „์†กํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ „์†ก ํ”„๋กœํ† ์ฝœ, ํŠนํžˆ X-modem์„ ์—ฐ๊ตฌํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋Ž€์—๋Š” ๋‘ ๊ฐ€์ง€ ๋ณ€ํ˜•์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋จผ์ €, CRC8์„ ์ง€์›ํ•˜๋Š” XMODEM ํŒจํ‚ท ํฌ๋งท(์›๋ž˜ XMODEM):

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๋‘˜์งธ, CRC16์„ ์ง€์›ํ•˜๋Š” XMODEM ํŒจํ‚ท ํฌ๋งท(XmodemCRC):

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

SOH, ํŒจํ‚ค์ง€ ๋ฒˆํ˜ธ, CRC, ํŒจํ‚ค์ง€ ๊ธธ์ด๋ฅผ ์ œ์™ธํ•˜๋ฉด ๋น„์Šทํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ์ „์†ก ๋ธ”๋ก์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์„ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค(๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ํŽŒ์›จ์–ด ํŒŒ์ผ์„ ๋ณด์•˜์ง€๋งŒ ๋“ค์—ฌ์“ฐ๊ธฐ๊ฐ€ 1024๋ฐ”์ดํŠธ์˜€์Šต๋‹ˆ๋‹ค).

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

์ต์ˆ™ํ•œ ํ—ค๋” fd 3e 02๋ฅผ ๋ณด์•˜์ง€๋งŒ ๋‹ค์Œ ๋‘ ๋ฐ”์ดํŠธ๋Š” ์ด๋ฏธ ๋ฐ”๋€Œ์–ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.01 fe์˜€๊ณ  02 fd๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‘ ๋ฒˆ์งธ ๋ธ”๋ก์ด ์ด์ œ 02๋กœ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ง„ ๊ฒƒ์„ ๋ณด๊ณ  ์ดํ•ดํ–ˆ์Šต๋‹ˆ๋‹ค.๋‚ด ์•ž์— ์ „์†ก ๋ธ”๋ก์˜ ๋ฒˆํ˜ธ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.์ฒซ ๋ฒˆ์งธ 1024 ์ „์†ก์€ 01, ๋‘ ๋ฒˆ์งธ๋Š” 02, ์„ธ ๋ฒˆ์งธ๋Š” 03์ž…๋‹ˆ๋‹ค(๋ฌผ๋ก  1์ง„์ˆ˜).ํ•˜์ง€๋งŒ fe์—์„œ fd๋กœ์˜ ๋ณ€๊ฒฝ์€ ๋ฌด์—‡์„ ์˜๋ฏธํ• ๊นŒ์š”?๋‚ด ๋ˆˆ์€ 0 ๊ฐ์†Œํ•œ ๊ฒƒ์„ ๋ณด์•˜๊ณ , ๋‚ด ๋‡Œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ 1์ด ์•„๋‹ˆ๋ผ 1๋ถ€ํ„ฐ ์„ผ๋‹ค๋Š” ๊ฒƒ์„ ์ƒ๊ธฐ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ์ฒซ ๋ฒˆ์งธ ๋ธ”๋ก์€ 0์ด ์•„๋‹ˆ๋ผ 02์ผ๊นŒ์š”?์ €๋Š” ์ด ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ๋‘ ๋ฒˆ์งธ ๋ธ”๋ก์€ ์–ด๋–ป๊ฒŒ ์„ธ๋Š”์ง€ ์ดํ•ดํ–ˆ์Šต๋‹ˆ๋‹ค.๋‘ ๋ฒˆ์งธ ๋ธ”๋ก์€ FF - (๋งˆ์ด๋„ˆ์Šค) ์ฒซ ๋ฒˆ์งธ ๋ธ”๋ก์˜ ๋ฒˆํ˜ธ์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค.๋”ฐ๋ผ์„œ ๋‘ ๋ฒˆ์งธ ๋ธ”๋ก์€ = 02 (FF-02) = XNUMX FD๋กœ ์ง€์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.๊ทธ ํ›„์— ๋คํ”„๋ฅผ ์ฝ์–ด๋ณด๋‹ˆ ๋‚ด ์ถ”์ธก์ด ๋งž์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ์ž ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ „์†ก ๊ทธ๋ฆผ์ด ๋‚˜ํƒ€๋‚˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ „์†ก ์‹œ์ž‘
fd3e02-์‹œ์ž‘
01 FE โ€“ ์ „์†ก ์นด์šดํ„ฐ
์ „์†ก(34๊ฐœ ๋ธ”๋ก, 1024๋ฐ”์ดํŠธ ์ „์†ก)
fd 3e 1024๋ฐ”์ดํŠธ์˜ ๋ฐ์ดํ„ฐ(30๋ฐ”์ดํŠธ ๋ธ”๋ก์œผ๋กœ ๋‚˜๋ˆ”).
์ „์†ก ์ข…๋ฃŒ
FD 25

1024๋ฐ”์ดํŠธ๋กœ ์ •๋ ฌํ•˜๊ธฐ ์œ„ํ•œ ๋‚จ์€ ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค.

๋ธ”๋ก ์ „์†ก ํ”„๋ ˆ์ž„์˜ ๋์€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋‚˜์š”?

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

fd 25 โ€“ ๋ธ”๋ก ์ „์†ก ์ข…๋ฃŒ ์‹ ํ˜ธ. 2f 52 โ€“ ์ตœ๋Œ€ 1024๋ฐ”์ดํŠธ๊นŒ์ง€์˜ ๋‚˜๋จธ์ง€ ํŒŒ์ผ. ํ”„๋กœํ† ์ฝœ์— ๋”ฐ๋ฅด๋ฉด 2f 52๋Š” 16๋น„ํŠธ CRC ์ฒดํฌ์„ฌ์ž…๋‹ˆ๋‹ค.

์Šต๊ด€์ ์œผ๋กœ C๋กœ ํŒŒ์ผ์—์„œ 1024๋ฐ”์ดํŠธ๋ฅผ ์ถ”์ถœํ•˜์—ฌ 16๋น„ํŠธ CRC๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ด ๋ณด๋‹ˆ 16๋น„ํŠธ CRC๊ฐ€ ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ํ•œ๋ฒˆ, ์•ฝ 1024์ผ ๋™์•ˆ ๋ฉํ•˜๋‹ˆ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ ์ €๋Š” ๊ทธ๊ฒƒ์ด ์ฒดํฌ์„ฌ์ด ์•„๋‹ˆ๋ผ๋ฉด ๋ฌด์—‡์ผ์ง€ ์ดํ•ดํ•˜๋ ค๊ณ  ์• ์ผ์Šต๋‹ˆ๋‹ค. ์˜์–ด ์‚ฌ์ดํŠธ๋“ค์„ ์‚ดํŽด๋ณด๋‹ˆ X-๋ชจ๋Ž€์ด ์ž์ฒด ์ฒดํฌ์„ฌ ๊ณ„์‚ฐ ๋ฐฉ์‹์ธ CRC-CCITT(XModem)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ณ„์‚ฐ์„ C๋กœ ๊ตฌํ˜„ํ•œ ์‚ฌ์ดํŠธ๋Š” ์—†์—ˆ์ง€๋งŒ, ์˜จ๋ผ์ธ์—์„œ ์ด ์ฒดํฌ์„ฌ์„ ๊ณ„์‚ฐํ•˜๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. XNUMX๋ฐ”์ดํŠธ ํŒŒ์ผ์„ ์›น ํŽ˜์ด์ง€๋กœ ์ „์†กํ–ˆ๋”๋‹ˆ, ํ•ด๋‹น ์‚ฌ์ดํŠธ์—์„œ ํŒŒ์ผ์˜ ์ฒดํฌ์„ฌ๊ณผ ์™„์ „ํžˆ ์ผ์น˜ํ•˜๋Š” ์ฒดํฌ์„ฌ์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

๋งŒ์„ธ! ๋งˆ์ง€๋ง‰ ์ˆ˜์ˆ˜๊ป˜๋ผ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์œผ๋‹ˆ, ์ด์ œ ์ง์ ‘ ํŽŒ์›จ์–ด๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ œ ์ง€์‹์„ (์˜ค์ง ๋จธ๋ฆฟ์†์—๋งŒ ๋‚จ์•„ ์žˆ๋˜) ๊ฐ•๋ ฅํ•œ ํˆดํ‚ท์ธ Python์— ์ •ํ†ตํ•œ Ilya์—๊ฒŒ ์ „์ˆ˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ

์ผ๋ฆฌ์•„ ์•Œ๋ ˆ์‹ ์ด ์ด์•ผ๊ธฐ๋ฅผ ๋“ค๋ ค์ค๋‹ˆ๋‹ค.

๊ด€๋ จ ์ง€์‹œ๋ฅผ ๋ฐ›๊ณ  ๋‚˜๋Š” ๋งค์šฐ "๊ธฐ๋ปค๋‹ค".

์–ด๋””์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์•ผ ํ• ๊นŒ์š”? ๋„ค, ์ฒ˜์Œ๋ถ€ํ„ฐ์š”. ๏Š USB ํฌํŠธ์—์„œ ๋คํ”„๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ๋ถ€ํ„ฐ์š”.

USB-pcap ์‹คํ–‰ https://desowin.org/usbpcap/tour.html

์žฅ์น˜๊ฐ€ ์—ฐ๊ฒฐ๋œ ํฌํŠธ์™€ ๋คํ”„๋ฅผ ์ €์žฅํ•  ํŒŒ์ผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

์Šค์บ๋„ˆ๋ฅผ Windows์šฉ ๊ธฐ๋ณธ EZConfigScanning ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์„ค์น˜๋œ ์ปดํ“จํ„ฐ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ์žฅ์น˜์— ๋ช…๋ น์„ ๋ณด๋‚ด๋Š” ์š”์ ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ช…๋ น๋“ค์€ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ• ๊นŒ์š”? ์–ด๋””์„œ ์–ป์„ ์ˆ˜ ์žˆ์„๊นŒ์š”?
ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘๋˜๋ฉด ์žฅ๋น„๊ฐ€ ์ž๋™์œผ๋กœ ํด๋ง๋ฉ๋‹ˆ๋‹ค(์ด ๋ถ€๋ถ„์€ ์ž ์‹œ ํ›„์— ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค). ๊ทธ๋ฆฌ๊ณ  ๊ณต์‹ ์žฅ๋น„ ๋ฌธ์„œ์˜ ๊ต์œก์šฉ ๋ฐ”์ฝ”๋“œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์„ค์ •์ž…๋‹ˆ๋‹ค. ์ €ํฌ ํŒ€์ž…๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค. Wireshark๋ฅผ ํ†ตํ•ด dump.pcap์„ ์—ฝ๋‹ˆ๋‹ค.

EZConfigScanning์„ ์‹œ์ž‘ํ•  ๋•Œ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•œ ๋ถ€๋ถ„์€ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

์ด ๋ชจ๋“  ๊ฒƒ์„ ์ฒ˜์Œ ๋ณธ ๋‚˜๋Š” ๋‚™๋‹ดํ–ˆ๋‹ค. ๋‹ค์Œ์—๋Š” ์–ด๋””๋ฅผ ํŒŒ์•ผ ํ• ์ง€ ์•Œ ์ˆ˜ ์—†์—ˆ๋‹ค.

์•ฝ๊ฐ„์˜ ๋ธŒ๋ ˆ์ธ์Šคํ† ๋ฐ๊ณผ... ์•„ํ•˜! ์“ฐ๋ ˆ๊ธฐ์žฅ์—์„œ ์•„์›ƒ -๊ฐ€์š” in๊ณผ in ๊ทธ๊ฒƒ ์•„์›ƒ.

URB_INTERRUPT๊ฐ€ ๋ญ”์ง€ ๊ตฌ๊ธ€์—์„œ ๊ฒ€์ƒ‰ํ•ด ๋ดค๋Š”๋ฐ, ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐฉ์‹์ด๋ผ๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์—๋Š” ์ œ์–ด ๋ฐฉ์‹, ์ธํ„ฐ๋ŸฝํŠธ ๋ฐฉ์‹, ๋“ฑ์‹œ์„ฑ ๋ฐฉ์‹, ๋Œ€๋Ÿ‰ ๋ฐฉ์‹ ๋“ฑ ๋„ค ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์„ค๋ช…์€ ๋ณ„๋„๋กœ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

USB ์žฅ์น˜ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์—”๋“œํฌ์ธํŠธ ์ฃผ์†Œ๋Š” "lsusb โ€“v" ๋ช…๋ น์ด๋‚˜ pyusb๋ฅผ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ํ•ด๋‹น VID๋ฅผ ๊ฐ€์ง„ ๋ชจ๋“  ์žฅ์น˜๋ฅผ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. VID:PID๋กœ ๊ตฌ์ฒด์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ž…๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

์ด์ œ ํ•„์š”ํ•œ ์ •๋ณด, ์ฆ‰ P_INFO ๋˜๋Š” DEFALT ๋ช…๋ น, ๋ช…๋ น์„ ์ž‘์„ฑํ•  ์ฃผ์†Œ(์—”๋“œํฌ์ธํŠธ=03)์™€ ์‘๋‹ต์„ ๋ฐ›์„ ์ฃผ์†Œ(์—”๋“œํฌ์ธํŠธ=86)๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋ช…๋ น์„ XNUMX์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…๋งŒ ๋‚จ์•˜์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

์ด๋ฏธ ์žฅ์น˜๋ฅผ ์ฐพ์•˜์œผ๋ฏ€๋กœ ์ปค๋„์—์„œ ์—ฐ๊ฒฐ์„ ๋Š๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

โ€ฆ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์ฃผ์†Œ 0x03์˜ ์—”๋“œํฌ์ธํŠธ์— ์“ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

... ๊ทธ๋ฆฌ๊ณ  ์ฃผ์†Œ 0x86์˜ ์—”๋“œํฌ์ธํŠธ์—์„œ ์‘๋‹ต์„ ์ฝ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ตฌ์กฐํ™”๋œ ๋‹ต๋ณ€:

P_INFOfmt: 1
mode: app
app-present: 1
boot-present: 1
hw-sn: 18072B44CA
hw-rev: 0x20
cbl: 4
app-sw-rev: CP000116BBA
boot-sw-rev: CP000014BAD
flash: 3
app-m_name: Voyager 1450g
boot-m_name: Voyager 1450g
app-p_name: 1450g
boot-p_name: 1450g
boot-time: 16:56:02
boot-date: Oct 16 2014
app-time: 08:49:30
app-date: Mar 25 2019
app-compat: 289
boot-compat: 288
csum: 0x6986

์šฐ๋ฆฌ๋Š” dump.pcap์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค! ์‹œ์Šคํ…œ ๋ฐ”์ฝ”๋“œ๋ฅผ 16์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ๊ต์œก ๊ธฐ๋Šฅ์ด ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํŽŒ์›จ์–ด๋Š” ์–ด๋–ค๊ฐ€์š”? ๋˜‘๊ฐ™์•„ ๋ณด์ด์ง€๋งŒ, ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌํ”Œ๋ž˜์‹œ ๊ณผ์ •์„ ์™„์ „ํžˆ ์‚ดํŽด๋ณด๊ณ  ๋‚˜๋‹ˆ, ๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์ง€๊ณ  ์žˆ๋Š”์ง€ ๋Œ€๋žต์ ์œผ๋กœ ์ดํ•ดํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. XMODEM์— ๋Œ€ํ•œ ๊ธ€์„ ์ฐธ๊ณ ํ–ˆ๋Š”๋ฐ, ์ด ํ†ต์‹ ์ด ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š”์ง€, ๋น„๋ก ์ผ๋ฐ˜์ ์ธ ๋‚ด์šฉ์ด์ง€๋งŒ, ์ดํ•ดํ•˜๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. http://microsin.net/adminstuff/others/xmodem-protocol-overview.html ๋‚˜๋Š” ๋…์„œ๋ฅผ ๊ถŒํ•ฉ๋‹ˆ๋‹ค.

๋คํ”„๋ฅผ ์‚ดํŽด๋ณด๋ฉด ํ”„๋ ˆ์ž„ ํฌ๊ธฐ๊ฐ€ 1024์ด๊ณ , URB ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๊ฐ€ 64์ธ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๋”ฐ๋ผ์„œ โ€“ 1024/64 โ€“ ๋ธ”๋ก์— 16์ค„์„ ๋„ฃ๊ณ , ํŽŒ์›จ์–ด ํŒŒ์ผ์„ ํ•œ ๋ฒˆ์— ํ•œ ๋ฌธ์ž์”ฉ ์ฝ์–ด ๋ธ”๋ก์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก์˜ ํ•œ ์ค„์„ ํŠน์ˆ˜ ๋ฌธ์ž fd1e1 + ๋ธ”๋ก ๋ฒˆํ˜ธ๋กœ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค์Œ 14์ค„์„ fd25 +๋กœ ๋ณด์™„ํ•˜๊ณ , XMODEM.calc_crc()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „์ฒด ๋ธ”๋ก์˜ ์ฒดํฌ์„ฌ์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค("FF - 1"์ด CSUM์ด๋ผ๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค). ๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰ 16๋ฒˆ์งธ ์ค„์„ fd3e๋กœ ๋ณด์™„ํ•ฉ๋‹ˆ๋‹ค.

ํŽŒ์›จ์–ด ํŒŒ์ผ์„ ์ฝ๊ณ , ๋ธ”๋ก์„ ๋ˆ„๋ฅด๊ณ , ์Šค์บ๋„ˆ๋ฅผ ์ฝ”์–ด์—์„œ ๋ถ„๋ฆฌํ•˜์—ฌ ์žฅ์น˜๋กœ ์ „์†กํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์Šค์บ๋„ˆ๋ฅผ ํŽŒ์›จ์–ด ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ะพั‚ะฟั€ะฐะฒะธะฒ ะตะผัƒ NEWAPP = โ€˜\xfd\x0a\x16\x4e\x2c\x4e\x45\x57\x41\x50\x50\x0dโ€™.
์ด ๋ช…๋ น์€ ์–ด๋””์„œ ๋‚˜์˜จ ๊ฑด๊ฐ€์š”?? ๋คํ”„์—์„œ ๋‚˜์˜จ ๊ฑฐ์˜ˆ์š”.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

ํ•˜์ง€๋งŒ 64๊ฐœ ์ œํ•œ ๋•Œ๋ฌธ์— ์ „์ฒด ๋ธ”๋ก์„ ์Šค์บ๋„ˆ๋กœ ๋ณด๋‚ผ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

NEWAPP ์žฌํ”Œ๋ž˜์‹œ ๋ชจ๋“œ์˜ ์Šค์บ๋„ˆ๋Š” 16์ง„์ˆ˜๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ ์ค„์„ bytes_array๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

[253, 10, 22, 78, 44, 78, 69, 87, 65, 80, 80, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

๊ทธ๋ฆฌ๊ณ  ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์Šค์บ๋„ˆ๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋‹ต์„ ์–ป์Šต๋‹ˆ๋‹ค:

[2, 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

XMODEM์— ๋Œ€ํ•œ ๊ธฐ์‚ฌ๋ฅผ ํ™•์ธํ•˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์Šน์ธ๋œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ชจ๋“  ๋ธ”๋ก์ด ์ „์†ก๋œ ํ›„ ์ „์†ก์„ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค. END_TRANSFER = 'xfdx01x04'.

์ด ๋ธ”๋ก๋“ค์€ ์ผ๋ฐ˜์ธ์—๊ฒŒ๋Š” ์•„๋ฌด๋Ÿฐ ์ •๋ณด๋„ ์ „๋‹ฌํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ํŽŒ์›จ์–ด๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆจ๊น€ ๋ชจ๋“œ๋กœ ์„ค์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ˜น์‹œ ๋ชจ๋ฅผ ์ƒํ™ฉ์— ๋Œ€๋น„ํ•˜์—ฌ tqdm์„ ํ†ตํ•ด ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ์ค„์„ ๊ตฌ์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ์ž‘์—… ๋˜๋Š” ๊ณต๊ธ‰์—…์ฒด ์—†์ด ํœด๋Œ€์šฉ ์Šค์บ๋„ˆ๋ฅผ ํ”Œ๋ž˜์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

์‚ฌ์‹ค, ์ด์ œ ํฐ ๋ฌธ์ œ๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ๋‚จ์€ ๊ฒƒ์€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜๋œ ์‹œ๊ฐ„์— ๋Œ€๋Ÿ‰ ๋ณต์ œ๋ฅผ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ๋กœ ์†”๋ฃจ์…˜์„ ๋ž˜ํ•‘ํ•˜์—ฌ ๊ณ„์‚ฐ๋Œ€ ์ž‘์—… ์†๋„๋ฅผ ๋Šฆ์ถ”์ง€ ์•Š๊ณ  ๋กœ๊น…์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ•ฉ๊ณ„

๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ, ๊ทธ๋ฆฌ๊ณ  ๋•€ ํ˜๋ฆฐ ๋…ธ๋ ฅ ๋์—, ์ €ํฌ๋Š” ํ•„์š”ํ•œ ์†”๋ฃจ์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ๋งˆ๊ฐ์ผ๋„ ์ค€์ˆ˜ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์—, ์Šค์บ๋„ˆ๋Š” ์ค‘์•™์—์„œ ์žฌํ”Œ๋ž˜์‹œ ๋ฐ ์žฌ๊ต์œก๋˜๋ฏ€๋กœ ์ „์ฒด ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋•๋ถ„์— ํšŒ์‚ฌ๋Š” ์‹œ๊ฐ„๊ณผ ๋น„์šฉ์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , ์ €ํฌ๋Š” ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ์žฅ๋น„ ์—ญ์„ค๊ณ„์— ๋Œ€ํ•œ ๊ท€์ค‘ํ•œ ๊ฒฝํ—˜์„ ์Œ“์•˜์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com