
Specter-FlipperZero v2.3
๐ป Specter โ Flipper Zero์ฉ ์๋ 13.56MHz NFC ๋ฆฌ๋/์คํค๋จธ ๋์ฒญ ํ์ง. ๋ด์ฅ NFC ์นฉ์ ์ฌ์ฉํ๋ ๋๊ฐ์ฒญ EMF ๋ฏธํฐ. ์ถ๊ฐ ํ๋์จ์ด ๋ถํ์.
Specter ๐ป
๋ณด์ด์ง ์๋ ๋ฆฌ๋๊ธฐ๋ฅผ ์ฐพ์๋ด์ธ์.
Specter๋ Flipper Zero๋ฅผ ์ฃผ๋จธ๋ ์ ๋์ฒญ ํ์ง ์ฅ์น(counter-surveillance bug-sweep)๋ก ๋ง๋ค์ด ์ค๋๋ค โ ํ์ฑ 13.56 MHz NFC ๋ฆฌ๋๊ธฐ๋ฅผ ์ฐพ๊ธฐ ์ํ ๋๊ตฌ์ ๋๋ค. ์ ์์ด ์ผ์ง ๋ฆฌ๋๊ธฐ๊ฐ ๊ณ์ ๋ฐฉ์ถํ๋ RF ํ๋๋ฅผ ์๋์ ์ผ๋ก ์ฒญ์ทจํฉ๋๋ค โ ๊ฒฐ์ ๋จ๋ง๊ธฐ์ ๋ชฐ๋ ๋ผ์์ง ์นด๋ ์คํค๋จธ, ๋ฌธ ํจ๋ ๋ค์ ์จ์ ์๋ฐํ ๋ฆฌ๋๊ธฐ, ์ฑ ์ ์๋ ํ ์ดํ๋ก ๋ถ์ธ ๋ถ๋ฒ ๋ก๊ฑฐ โ ๊ทธ๋ฆฌ๊ณ ์ด๋์ ์๋์ง, ์ด๋ค ์ข ๋ฅ์ธ์ง, ๊ณต๊ฐ์ด ๊นจ๋ํ์ง, ๊ทธ๋ฆฌ๊ณ โ ์์น ๋ชจ๋๋ก ๋จ๊ฒจ๋๋ฉด โ ์๋ฆฌ๋ฅผ ๋น์ด ์ฌ์ด ํ๋๊ฐ ๋ํ๋ ์๊ฐ์ ์๋ ค์ค๋๋ค. ์ ๋ ์ก์ ํ์ง ์์ต๋๋ค.
๋ฆฌ๋๊ธฐ๋ ๋ณด์ด์ง ์์ต๋๋ค. Specter๊ฐ ๊ทธ๊ฒ๋ค์ ๋ณด์ด๊ฒ ํฉ๋๋ค.
๐ Flipper์์
์ค์ (์กฐ์ฉํจ) ย ยทย ์ค์ (๋ฆฌ๋๊ธฐ ๊ณ ์ ) ย ยทย ํ๊ฑฐํ๋ฆฐํธ ย ยทย ์๋ฒ ์ด (์คํ ์ค) ย ยทย ์๋ฒ ์ด (ํ์ )
์์น (๊นจ๋ํจ) ย ยทย ์์น (๋ฆฌ๋๊ธฐ ๊ฐ์ง!) ย ยทย ๋ก๊ทธ๋ถ ย ยทย ์บ๋ฆฌ๋ธ๋ ์ด์
ย ยทย ์ค์
โจ ๊ธฐ๋ฅ
Specter๋ ๋ค ๊ฐ์ง ์ง๋ฌธ์ ๋ตํฉ๋๋ค โ ์ด๋์ ์๋๊ฐ, ๋ฌด์์ธ๊ฐ, ๊ณต๊ฐ์ด ๊นจ๋ํ๊ฐ, ๊ทธ๋ฆฌ๊ณ ์๋ฆฌ๋ฅผ ๋น์ด ์ฌ์ด ํ๋๊ฐ ๋ํ๋ฌ๋๊ฐ โ ๊ฐ ์ง๋ฌธ์๋ ์ ์ฉ ํ๋ฉด์ด ์์ต๋๋ค.
๐ ์ค์ โ ์ด๋์ ์๋?
ํต์ฌ ๊ธฐ๋ฅ: ์๋ ๋ก๊ทธ ์คํ์ผ EMF ๊ฒ์ด์ง์ ๋๋ค. ๋ฐ๋์ ์ค์๊ฐ์ผ๋ก FIELD % ๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉฐ, ํผํฌ-ํ๋ ๋ง์ปค๊ฐ ๊ฐ์ฅ ๊ฐํ ์ ํธ๋ฅผ ๊ธฐ์ตํ๊ณ , ๋ค์ด์ผ ์๋จ์ ํซ ์กด์ ๋๋ค. ์กฐ์ฉํ ๋์ ์ค์๊ฐ ํํ์ด ๋ ธ์ด์ฆ ํ๋ก์ด๋ฅผ ๊ทธ๋ ค์ค๋๋ค.
๋ฆฌ๋๊ธฐ์ ์บ๋ฆฌ์ด๊ฐ ๊ฐ์ง๋๋ ์๊ฐ ํ๋ฉด์ ์๋ ํ
๋๋ฆฌ๊ฐ ๋ํ๋๊ณ , ๋ค์ด์ผ ์ฃผ์๋ก ๋งฅ๋ ๋ง์ด ์ธ๋ฆฌ๋ฉฐ, ์ํ ํ์์ค์ด โ ACTIVE READER ๋ก ์ ํ๋๋ฉด์ ๊ทผ์ ๋ ํ๋
๊ฐ(FAINT โ NEAR โ CLOSE โ STRONG)์ด ํ์๋ฉ๋๋ค. ์ ํ ์ฌํญ์ธ ๊ฐ์ด๊ฑฐ ํด๋ฆญ์์ ํ๋๊ฐ ๊ฐํด์ง์๋ก ๋นจ๋ผ์ ธ์, ์ฃผ๋จธ๋์ Flipper๋ฅผ ๋ฃ์ ์ฑ ํ๋ฉด์ ์ค์ํ๋ฉด์ ๊ฐ๊น์์ง๋ ๊ฒ์ ์๋ฆฌ๋ก ๋๋ ์ ์์ต๋๋ค.
OK๋ ํผํฌ/์ ์ด ํ์ ์ด๊ธฐํ ยท OK ๊ธธ๊ฒ๋ ํ์ฌ ํ๋
๊ฐ ๊ธฐ๋ก ยท LEFT๋ ํ์ฌ ๊ณต๊ฐ์ ๋ง์ถฐ ์บ๋ฆฌ๋ธ๋ ์ด์
.
๐ฌ ํ๊ฑฐํ๋ฆฐํธ โ ๋ฌด์์ธ๊ฐ? ย NEW in 2.0
๋ฌด์ธ๊ฐ๋ฅผ ์ฐพ์๋์? ๊ทธ ์์ Flipper๋ฅผ ๊ณ ์ ํ์ธ์. Specter๋ ๊ทผ์ ๋ ์ถ์ ์ ๋ฉ์ถ๊ณ ์บ๋ฆฌ์ด์ on/off ์ฃ์ง ํ์ด๋ฐ์ ์ธก์ ํ์ฌ, ํ์ฌ ๋ณด๊ณ ์๋ ๊ฒ์ด ์ด๋ค ์ข ๋ฅ์ ๋ฐฉ์ถ์ฒด์ธ์ง ์๋ ค์ค๋๋ค:
| ํด๋์ค | ์๋ฏธ |
|---|---|
| CONTINUOUS | ์บ๋ฆฌ์ด๊ฐ ๊ณ์ ์ผ์ ธ ์์ |
| POLLING | ๊ณ ์ ํด๋ง ์ฃผ๊ธฐ โ ์ฃผ๊ธฐ๊ฐ ms ๋จ์๋ก ํ์๋จ |
| INTERMITTENT | ๋ฒ์คํธ์ฑ์ด์ง๋ง ๋ถ๊ท์นํจ |
ํด๋ง ์ฃผ๊ธฐ, ๋ฒ์คํธ ํญ, ์งํฐ, ๋ํฐ ์ฌ์ดํด๊ณผ ์ ๋ขฐ๋ ๋ฐ๋ฅผ ์ป์ ์ ์์ผ๋ฉฐ, ํ๋จ์๋ ์์ ์บ๋ฆฌ์ด์ ๋ก์ง ์ ๋๋ผ์ด์ ํ์ค ํธ๋ ์ธ๋ ํจ๊ป ํ์๋๋ฏ๋ก ํ์ ์ ๋จ๋ ์ผ๋ก ๋ฏฟ์ด์ผ ํ ํ์๊ฐ ์์ต๋๋ค. ๋ฆฌ๋๊ธฐ์ ํด๋ง ๋ฃจํ๋ ํฌ๋ฆฌ์คํธ ๊ธฐ๋ฐ ์ ๋ฐ ํ์ด๋ฐ์ผ๋ก ๊ตฌ๋๋๋ฏ๋ก, ์ง์ง ํด๋ง์ ํ๋ฆผ์๋ ๊ตฌํํ๋ก ๋ํ๋ฉ๋๋ค.
OK๋ ๊ฐ์ง ๊ฒฐ๊ณผ๋ฅผ ๋ก๊ทธ๋ถ์ ์ ์ฅ ยท OK ๊ธธ๊ฒ๋ ์ธก์ ์ฌ์์.
๐บ๏ธ ์ฌ์ดํธ ์๋ฒ ์ด โ ์ด ๊ณต๊ฐ์ ๊นจ๋ํ๊ฐ? ย NEW in 2.0
๊ณต๊ฐ ์ ์ฒด๋ฅผ ์๊ฐ ์ ํ ์ค์ํฉ๋๋ค. ์์ํ๊ณ ๊ณต๊ฐ์ ๊ฑธ์ด ๋ค๋๋ฉด, ๋ด๋ด ๋ฐ๋์ ์ง์ผ๋ณผ ํ์ ์์ด ๋์ ํ๋์ ํ์ ์ ๋ฐ์ต๋๋ค:
CLEANโ ๋ ธ์ด์ฆ ํ๋ก์ด๋ฅผ ๋์ ์ ํธ ์์TRACEโ ์งง๊ฑฐ๋ ํฌ๋ฏธํ ์ ํธ, ๋ ๋ฒ์งธ ์ ๊ฒ ๊ฐ์น ์์ACTIVE READERโ ์ค์ ๋ก ์ผ์ ธ์ ๋ฐฉ์ถ ์ค์ธ ๋ฌด์ธ๊ฐ๊ฐ ์์์
โฆ์ต๋/ํ๊ท ํ๋, ์ ์ด ํ์, ๊ทธ๋ฆฌ๊ณ ์๋ฒ ์ด ์ค ์ค์ ๋ก ์บ๋ฆฌ์ด๊ฐ ์ผ์ ธ ์๋ ์๊ฐ ๋น์จ๋ ํจ๊ป ํ์๋ฉ๋๋ค. 30์ด, 60์ด ๋๋ 2๋ถ๊ฐ ์คํ๋๋ฉฐ ๊ฒฐ๊ณผ๋ ์๋์ผ๋ก ๊ธฐ๋ก๋ฉ๋๋ค.
๐ฐ๏ธ ์์น ๋ชจ๋ โ ํ๋๋ผ๋ ๋ํ๋๋ฉด ์๋ ค์ค ย NEW in 2.1
์ค์์ด ๋น์ ์ด ์ง์ ์ฌ๋ฅํ๋ ๋ฐฉ์์ด๊ณ ์๋ฒ ์ด๊ฐ ์ ํํ ํ์ ์ด๋ผ๋ฉด, ์์น๋ ๋ฌด๊ธฐํ์ผ๋ก ๊ฒฝ๋น๋ฅผ ์ญ๋๋ค. ์๋์ํค๊ณ Flipper๋ฅผ ๋ด๋ ค๋์ ๋ค ์๋ฆฌ๋ฅผ ๋น์ฐ์ธ์. ๊ฒฝ๊ณผ ์๊ฐ๊ณผ ๊ฐ์ง ํ์๋ฅผ ์ ์งํ๊ณ , ๋ง์ง๋ง ์ ์ด ์๊ฐ์ ๊ธฐ์ตํ๋ฉฐ, ๊ทธ๋ฆฌ๊ณ ํต์ฌ์ธ โ ๋ฆฌ๋๊ธฐ๊ฐ ๋ํ๋๋ ์๊ฐ ํ๋ฉด์ ๊นจ์ฐ๊ณ ์๋์ ์ธ๋ฆฝ๋๋ค. ์๋ก์ด ์ ์ด์ ํ์์คํฌํ์ ํจ๊ป ์๋ ๊ธฐ๋ก๋ฉ๋๋ค.
์๋์ ์ผ๋ก ์คํ
์ค๋ฅผ ๋ฌด์ํฉ๋๋ค: ๋ฌด์ธ๊ฐ๋ฅผ ๋ดค๋ค๊ณ ์๋ ค์ฃผ์ง ์๋ ์กฐ์ฉํ๊ณ ์ด๋์ด ๊ฒฝ๋น๋ ๋ฌด์ฉ์ง๋ฌผ๋ณด๋ค ๋ชปํ๊ธฐ ๋๋ฌธ์
๋๋ค. OK๋ฅผ ๋๋ฅด๋ฉด ์ฌ์๋ํฉ๋๋ค(ํ์์ ํ์ด๋จธ ์ด๊ธฐํ).
๐ ๋ก๊ทธ๋ถ + ๋ผ์ด๋ธ CSV ย CSV NEW in 2.1
๋ชจ๋ ๊ฐ์ง ๊ฒฐ๊ณผ๋ ํ ๋ฒ์ ๋์์ผ๋ก ๋ ๊ฐ์ง ํ์์ผ๋ก ๊ธฐ๋ก๋ฉ๋๋ค โ ๊ธฐ๊ธฐ์์ ์ฝ์ ์ ์์ ๋ฟ ์๋๋ผ ์ด๋ฏธ ์คํ๋ ๋์ํธ ํ์์ด๋ฏ๋ก, ๊ธฐ์ตํด์ผ ํ ๋ด๋ณด๋ด๊ธฐ ๋จ๊ณ๊ฐ ์์ต๋๋ค:
logbook.txt โ ๊ธฐ๊ธฐ ๋ด ๋ทฐ์ด์ฉ ๊ทธ๋ฃน ํ์ | logbook.csv โ ํญ๋ชฉ๋น ํ๋์ ํ๋ซ ํ |
|---|---|
|
|
๋ ๋ค SD ์นด๋์ apps_data/specter/์ ์ ์ฅ๋ฉ๋๋ค. ์ด๋ค ๋ฐ์ดํฐ๋ ๊ธฐ๊ธฐ๋ฅผ ๋ฒ์ด๋์ง ์์ต๋๋ค.
๐ฏ ์๋ ์บ๋ฆฌ๋ธ๋ ์ด์
ย NEW in 2.0
์ค์ ํ๋ฉด์์ LEFT๋ฅผ ๋๋ฅด๋ฉด Specter๊ฐ 3์ด๊ฐ ์ฃผ๋ณ ๋ ธ์ด์ฆ ํ๋ก์ด๋ฅผ ์ฒญ์ทจํ ํ, ์ธก์ ๋ ๊ฐ ๋ฐ๋ก ์๋ก ๊ฐ์ง ์๊ณ๊ฐ์ ์ค์ ํฉ๋๋ค โ Custom ๊ฐ๋๋ก ์ ์ฅ๋ฉ๋๋ค. ๋ชจ๋ ๊ณต๊ฐ์ RF ํ๋ก์ด๋ ๋ค๋ฆ ๋๋ค. ์ด ๊ธฐ๋ฅ์ ๋น๋ ์ ๊ณ ์ ๋ ์ซ์๊ฐ ์๋๋ผ ํ์ฌ ์ ์๋ ๊ณต๊ฐ์ ๋ง์ถฐ ์กฐ์ ๋ฉ๋๋ค.
๐ถ๏ธ ์คํ
์ค ๋ชจ๋ ย NEW in 2.0
์ค์ ๋ด๋ด ํ๋ฉด๊ณผ LED๋ฅผ ์ด๋ก๊ฒ ์ ์งํ๋ฏ๋ก, ๋น์ ์ด ๊ด์ฐฐํ๋ ๋์ Flipper๊ฐ ๋น๋์ง ์์ต๋๋ค. ์๋ฆฌ์ ์ง๋์ ๊ณ์ ์๋ํฉ๋๋ค โ ์ค์์ ์๋ดํ๋ ํผ๋๋ฐฑ์ ๋๋ ๊ฒ์ด ๋ชฉ์ ์ด ์๋๊ธฐ ๋๋ฌธ์
๋๋ค. ์คํ
์ค ํ๋ฉด์ ๋๊ฐ๋ฉด ๋์คํ๋ ์ด๊ฐ ๋ค์ ์ผ์ง๋ฏ๋ก, BACK์ ํญ์ ๋ฐ์ ๋ฉ๋ด๋ก ๋์๊ฐ๋๋ค (2.2์์ ์์ ๋จ โ ์ด์ ์๋ ํ๋ฉด์ด ์ด๋์ด ์ฑ๋ก ๋จ์ BACK์ด ๋จนํต์ฒ๋ผ ๋ณด์์ต๋๋ค).
๐ ๋ฏธํฐ ์ฝ๊ธฐ ย FIXED in 2.3
์ ๋ฐ๋ก ์์ ๋ฟ๋ ๋ฆฌ๋๊ธฐ๋ 100% ๋ฐฉ์ถํ์ง ์๋๊ฐ. ์ด ํ์ง๊ธฐ๋ ํ ๊ฐ์ง ๋ฌผ๋ฆฌ์ ํ์์ ์ธก์ ํฉ๋๋ค: 13.56 MHz ์บ๋ฆฌ์ด๊ฐ ์ค์ ๋ก ์ผ์ ธ ์๋ ์๊ฐ์ ๋น์จ์ ๋๋ค. ํ์ง๋ง ๋ฆฌ๋๊ธฐ๋ ํด๋งํฉ๋๋ค โ ์งง์ ๋ฒ์คํธ, ํด๋ฉด, ๋ ๋ค๋ฅธ ๋ฒ์คํธ. ์ผ๋ฐ์ ์ธ ๋จ๋ง๊ธฐ๋ ์ถ์ ๋ฆฌ๋๊ธฐ๋ 20โ35%์ ์๊ฐ ๋์๋ง ๋ฐฉ์ถํ๋ฏ๋ก, ์๋ฌด๋ฆฌ ๊ฐ๊น์ด ๊ฐ๋ ์์ ๋ํฐ ์ฌ์ดํด์ 30% ๋ถ๊ทผ์์ ํฌํ๋ฉ๋๋ค.
Specter๋ ์ด์ ์ ๊ทธ ์์ ์ซ์๋ฅผ ๊ฒ์ด์ง์ ํ์ํ๊ธฐ ๋๋ฌธ์, ์๋ฒฝํ ๊ฐ์ง๊ฐ 3๋ถ์ 1์ฒ๋ผ ๋ณด์์ต๋๋ค โ ๊ทธ๋ฆฌ๊ณ CLOSE/STRONG ๋ฐ ์๋ฒ ์ด์ ํผํฌ ํ
์คํธ๋ ์์ ๋๋ฌํ ์ ์๊ฒ ๋จ์์ต๋๋ค. ์ด์ ๋ฏธํฐ๋ ์ค์ ํด๋ง ๋์ญ์ ๋ง์ถฐ ์ค์ผ์ผ๋ง๋ฉ๋๋ค:
| ์์ ์บ๋ฆฌ์ด ๋ํฐ | ๋ฏธํฐ | ๊ทผ์ ๋ |
|---|---|---|
| 3% (๊ณต๊ฐ ๋ ธ์ด์ฆ) | 9% | FAINT |
| 12% | 34% | NEAR |
| 20% | 57% | CLOSE |
| 31% (๋ฆฌ๋๊ธฐ ๋ฐ๋ก ์) | 89% | STRONG |
| โฅ35% / ์ฐ์ํ | 100% | MAX |
MAX๋ ์ต๋์น ๋๋ฌ์ ์๋ฏธํฉ๋๋ค โ ์ด ์ธก์ ์ด ๊ตฌ๋ถํ ์ ์๋ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฑฐ๋ฆฌ์ด๋ฉฐ, ๋ ๊ฐ๊น์ด ๊ฐ๋ ๋ณํ์ง ์์ต๋๋ค. ์ด๋ ์จ๊ฒจ์ง์ง ์๊ณ ๋ช
์์ ์ผ๋ก ํ์๋๋ฏ๋ก, ๊ณ ์ ๋ ๋ฐ๋์ด ๊ณ ์ฅ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง ์์ต๋๋ค.
์์ ๋ํฐ๋ ์ ๋ ์์ค๋์ง ์์ต๋๋ค: ๋
ธ์ด์ฆ ํ๋ก์ด, ์๋ ์บ๋ฆฌ๋ธ๋ ์ด์
, ํ๊ฑฐํ๋ฆฐํธ ํ๋ฉด์ DUTY๋ ๋ชจ๋ ์ค์ ๋ํฐ ์ฌ์ดํด๋ก ๊ณ์ ์๋ํฉ๋๋ค. ์ด๋ค์ ์ ํธ๋ฅผ ์ค๋ช
ํ๋ ๊ฒ์ด์ง, ์ ํธ๋ก๋ถํฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ค๋ช
ํ๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ฌธ์ ๊ทธ๋๋ก์ ์ซ์๋ฅผ ์ ํธํ์๋์? ์ค์ โ ๋ฏธํฐ โ ์์.
๐พ ๋ชจ๋ ๊ฒ์ด ์ ์ฅ๋ฉ๋๋ค ย NEW in 2.0
๊ฐ๋, ์๋ฒ ์ด ๊ธธ์ด, ์๋ฆฌ, ์ง๋, LED, ์คํ ์ค, ๋ก๊น , ๋ฏธํฐ ๋ชจ๋๋ ๋ณ๊ฒฝํ๋ ์๊ฐ SD ์นด๋์ ์ ์ฅ๋ฉ๋๋ค. ์ค์ ์ ์์ด๋ฒ๋ฆฌ๋ ์ค์ ํคํธ๋ ์์ ์์์ฑ์ด ์๋ ๊ฒ๋ณด๋ค ๋์ฉ๋๋ค.
๐ง ์๋ ์๋ฆฌ
์ ์์ด ์ผ์ง ๋ชจ๋ NFC ๋ฆฌ๋๊ธฐ๋ ์นด๋๊ฐ ๊นจ์ด๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ฉฐ 13.56 MHz ์บ๋ฆฌ์ด๋ก ๊ณต๊ธฐ๋ฅผ ๊ณ์ ๋๋๋ฆฝ๋๋ค. ๋์๋ ๋ณด์ด์ง ์์ง๋ง Flipper์ NFC ์นฉ์ ๋ณผ ์ ์์ต๋๋ค: ST25R3916์๋ ํ๋์จ์ด ์ธ๋ถ ํ๋ ๊ฐ์ง๊ธฐ๊ฐ ์์ต๋๋ค (Flipper๊ฐ ์นด๋๋ฅผ ์๋ฎฌ๋ ์ด์ ํ ๋ ๋ฆฌ๋๊ธฐ๊ฐ ํต์ ์ค์์ ์ ์ ์๊ฒ ํด์ฃผ๋ ๋ฐ๋ก ๊ทธ ํ๋ก). Specter๋ ์นฉ์ ๊ฐ์ง ์ ์ฉ ๋ชจ๋๋ก ๋๊ณ "ํ๋ ์กด์ฌ?" ๋นํธ๋ฅผ ์ด๋น ์ฝ 500ํ ์ํ๋งํฉ๋๋ค โ ์์ฒด ์บ๋ฆฌ์ด๋ ์ ๋ ์ผ์ง ์์ต๋๋ค.
์ถฉ๋ถํ ๋น ๋ฅด๊ฒ ์ํ๋ง๋ ๊ทธ ๋จ์ผ ๋นํธ๋ ๋ ๊ฐ์ง ๋ ๋ฆฝ์ ์ธ ์ ํธ๋ฅผ ๋ด๊ณ ์์ต๋๋ค:
flowchart LR
R["๐ Hidden 13.56 MHz reader / skimmer<br/>(constantly polling its field)"] -- "RF carrier" --> A
subgraph FLIP["Flipper Zero โ Specter.fap"]
A["ST25R3916 NFC chip<br/>external-field detector"] --> S["Sampler thread<br/>~500 samples/s"]
S --> M["<b>How much?</b><br/>carrier duty-cycle<br/>peak ยท average ยท contacts"]
S --> C["<b>What rhythm?</b><br/>burst / gap edge timing<br/>period ยท jitter"]
M --> G["EMF gauge ยท waveform<br/>geiger clicks ยท LED ยท vibe"]
M --> V["Survey verdict<br/>CLEAN / TRACE / ACTIVE"]
C --> K["Emitter class<br/>CONTINUOUS / POLLING /<br/>INTERMITTENT + pulse train"]
V --> L["๐ SD logbook"]
K --> L
end
์ผ๋ง๋ โ ๊ฐ๋. ์งง์ ์๊ฐ ์๋์ฐ ๋์ Specter๋ ์บ๋ฆฌ์ด๊ฐ ์กด์ฌํ๋ ์๊ฐ ๋น์จ์ ์ธก์ ํด FIELD % ๋ก ํํํํฉ๋๋ค. Flipper ๋ฐ๋ก ์์ ์๋ ๋ฆฌ๋๊ธฐ๋ ๋ฏธํฐ๋ฅผ ์ต๋์น๋ก ๊ณ ์ ์ํค๊ณ , ๋ ์ฝํ๊ฑฐ๋ ๋จผ ๋ฆฌ๋๊ธฐ๋ ์ด์ง ์์ง์ ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋, ๊ทผ์ ๋ ๋จ์ด, ํด๋ฆญ ์๋๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
์ด๋ค ๋ฆฌ๋ฌ โ ์ ์ฒด. ๋ณ๋๋ก, ๊ทธ ๋นํธ์ ๋ชจ๋ ์ ์ด(transition)์ ํ์ด๋ฐ์ด ์ธก์ ๋ฉ๋๋ค. 200ms๋ง๋ค 20ms ๋์ ๊นจ์ด๋๋ ๋ฆฌ๋๊ธฐ๋ ์งํฐ๊ฐ ๊ฑฐ์ ์๋ ๋ฒ์คํธ/๊ฐญ ํจํด์ ๋ง๋ค์ด๋ ๋๋ค. ํด๋ง ๋ฃจํ๊ฐ ํฌ๋ฆฌ์คํธ ํ์ด๋ฐ ๊ธฐ๋ฐ ์ํ ๋จธ์ ์ผ๋ก ๊ตฌ๋๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ ์์ง์๊ณผ RF ๋ ธ์ด์ฆ๋ ๊ทธ๋ ๊ฒ ์ผ์ ํ์ง ์์ต๋๋ค. ์ด ์ฐจ์ด๊ฐ POLLING๊ณผ INTERMITTENT๋ฅผ ๊ตฌ๋ถํฉ๋๋ค.
ํ์ ๊ณ์ธต์ ์ค์ ์ปดํจํฐ์์ ํ ์คํธ๋ฉ๋๋ค
Specter๊ฐ ์ซ์๋ฅผ ์ฃผ์ฅ์ผ๋ก ๋ฐ๊พธ๋ ๋ถ๋ถ โ "์ด๊ฑด ํด๋ง ๋ฆฌ๋๊ธฐ๋ค", "์ด ๊ณต๊ฐ์ ๊นจ๋ํ๋ค", "๋ฐ๋์ ์ด๋ ๊ฒ ํ์๋์ด์ผ ํ๋ค" โ ์ ํ๋์จ์ด ์์กด์ฑ์ด ์๋ ์์ C๋ก ์์ฑ๋์ด ์์ผ๋ฉฐ, ๊ธฐ๊ธฐ์์ ๋ฐ๊ฒฌ๋๋ ๊ฒ์ด ์๋๋ผ ํธ์คํธ ํ ์คํธ๋ก ํ์ ๋ฉ๋๋ค:
make -C test # 284 checks: classifier, survey verdict, meter scaling
๐ ์ค์น
๊ฐ๋ฐ ๋ณด๋๋, ํ์จ์ด ํ๋์ฑ๋ ํ์ ์์ต๋๋ค โ ๋จ์ผ .fap ํ์ผ์
๋๋ค.
์ต์
A โ ์ฌ์ ๋น๋๋ .fap (๊ฐ์ฅ ์ฌ์)
- Releases ํ์ด์ง์์
specter.fap์ ๋ฐ์ผ์ธ์. - qFlipper๋ฅผ ์ด๊ณ ํ์ผ์
SD Card / apps / NFC /๋ก ๋์ด๋ค ๋์ผ์ธ์. - Flipper์์: Apps โ NFC โ Specter๋ฅผ ์คํํ์ธ์.
์ต์
B โ ufbt๋ก ์ง์ ๋น๋
# one-time
python3 -m pip install --upgrade ufbt
# from the repo root, with your Flipper plugged in over USB:
ufbt # build specter.fap into ./dist
ufbt launch # build, upload to the Flipper and open it
make -C test # run the host tests for the pure logic
.fap ํ์ผ์ dist/specter.fap์ ์์ฑ๋ฉ๋๋ค. ufbt launch๋ apps/NFC/๋ก ๋ณต์ฌํ ๋ค ์๋์ผ๋ก ์คํํฉ๋๋ค.
icons/์ ์์ด์ฝ,images/์ ์คํฌ๋ฆฐ์ท๊ณผ ๋ฐฐ๋๋ ์์ฑ๋ ํ์ผ์ ๋๋ค โpython3 tools_gen_icons.py,python3 tools_gen_mockups.py,python3 tools_gen_banner.py๋ก ๋ค์ ์์ฑํ ์ ์์ต๋๋ค (pillowํ์).
๐ฎ ์ฌ์ฉ ๋ฐฉ๋ฒ
์ค์, ์ฒ์๋ถํฐ ๋๊น์ง:
- Specter๋ฅผ ์คํํ์ธ์. ์ค์ ํ๋ฉด์์ LEFT๋ฅผ ๋๋ฅด๊ณ 3์ด๊ฐ ๊ฐ๋งํ ์์ด ๊ณต๊ฐ์ ๋ ธ์ด์ฆ ํ๋ก์ด์ ์บ๋ฆฌ๋ธ๋ ์ด์ ํ์ธ์.
- Flipper๋ฅผ ํํํ๊ฒ ์ก๊ณ ํ์ธํ๋ ค๋ ๋์ ์๋ฅผ ์ฒ์ฒํ ์์ง์ด์ธ์ โ ์นด๋ ๋จ๋ง๊ธฐ, ๋ฌธ ๋ฆฌ๋๊ธฐ, ATM ์๋จ ๊ฐ์ฅ์๋ฆฌ ์๋, ์ํฌ, ์ฑ
์ ๋ฑ.
- ์กฐ์ฉํจ / ํํํ ํํ โ ๋ฒ์ ๋ด ํ์ฑ ๋ฆฌ๋๊ธฐ ์์.
- ๋ฐ๋์ด ์ฌ๋ผ๊ฐ๊ณ ํด๋ฆญ์์ด ๋นจ๋ผ์ง โ ๋ฐฉ์ถ์ฒด์ ์ ๊ทผ ์ค์ ๋๋ค. ํผํฌ๋ฅผ ํฅํด ๊ณ์ ์ด๋ํ์ธ์.
โ ACTIVE READER+ ์๋ ํ ๋๋ฆฌ โ ํ์ฑ ๋ฆฌ๋๊ธฐ๊ฐ ๋ฐ๋ก ์ฌ๊ธฐ ์์ต๋๋ค.
- ๋ฌด์ธ๊ฐ๋ฅผ ์ฐพ์๋์? ๋ค๋ก ๋์ ํ๊ฑฐํ๋ฆฐํธ๋ฅผ ์ฌ์ธ์. Flipper๋ฅผ ๊ทธ ์์ ๊ณ ์ ํ๊ณ ๋ฆฌ๋ฌ์ด ์์ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ธ์ โ ๋ณดํต ๋ช ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค. OK๋ฅผ ๋๋ฌ ๊ฐ์ง ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ์ธ์.
- ๋์ ๊ณต๊ฐ ์ ์ฒด๋ฅผ ์ ๊ฒํ์๋์? ์ฌ์ดํธ ์๋ฒ ์ด๋ฅผ ์ด๊ณ , ๋ฐ๊ฐ ์ฑ์์ง ๋๊น์ง ๊ณต๊ฐ์ ๊ฑธ์ด ๋ค๋ ๋ค ํ์ ์ ํ์ธํ์ธ์.
- ์๋ฆฌ๋ฅผ ๋น์ฐ์๋์? Flipper๋ฅผ ์์น ๋ชจ๋์ ๋๋ฉด ๊ฒฝ๋น๋ฅผ ์๋ฉฐ, ์๋ฆฌ๋ฅผ ๋น์ด ์ฌ์ด ๋ฆฌ๋๊ธฐ๊ฐ ๋ํ๋๋ฉด ํ๋ฉด์ ๊นจ์ฐ๊ณ ์๋์ ์ธ๋ฆฝ๋๋ค.
- ๋ก๊ทธ๋ถ์์ ์ ์ฅ๋ ๋ชจ๋ ๊ฒ์ ํ์์คํฌํ์ ํจ๊ป ํ์ธํ์ธ์ โ ๋๋ SD ์นด๋์์
logbook.csv๋ฅผ ๊บผ๋ด ์คํ๋ ๋์ํธ๋ก ๊ฐ์ ธ์ค์ธ์.
๐ก ๋จผ์ ์ ์ ๋์์ด ํ์ธ๋ ๋ฆฌ๋๊ธฐ(NFC๋ฅผ ์ผ ๋น์ ์ ํฐ, ๋๋ ์ ๋ขฐํ ์ ์๋ ๋น์ ์ด ๋จ๋ง๊ธฐ)๋ฅผ ์ค์ํด์ ๊ฐํ๊ณ ์ ๋นํ ํ๋๊ฐ ๋ฏธํฐ์ ์ด๋ป๊ฒ ๋ณด์ด๋์ง, ํ๊ฑฐํ๋ฆฐํธ๊ฐ ๋ฌด์์ผ๋ก ์ฝํ๋์ง ํ์ธํ์ธ์. ๊ทธ๋ฐ ๋ค์ ์ฌ๋ฅ์ ์์ํ์ธ์.
์ปจํธ๋กค
| ํ๋ฉด | ํค | ๋์ |
|---|---|---|
| ์ค์ | OK | ํผํฌ / ์ ์ด ํ์ ์ด๊ธฐํ |
OK ๊ธธ๊ฒ | ํ์ฌ ํ๋ ๊ฐ ๊ธฐ๋ก | |
LEFT | ๋ ธ์ด์ฆ ํ๋ก์ด ์บ๋ฆฌ๋ธ๋ ์ด์ (3์ด) | |
| ํ๊ฑฐํ๋ฆฐํธ | OK | ๊ฐ์ง ๊ฒฐ๊ณผ๋ฅผ ๋ก๊ทธ๋ถ์ ์ ์ฅ |
OK ๊ธธ๊ฒ | ์ธก์ ์ฌ์์ | |
| ์ฌ์ดํธ ์๋ฒ ์ด | OK | ์๋ฒ ์ด ๋ค์ ์คํ |
| ์์น ๋ชจ๋ | OK | ์ฌ์๋ (ํ์์ ํ์ด๋จธ ์ด๊ธฐํ) |
| ์๋ฌด ํ๋ฉด์์๋ | BACK | ํ ๋จ๊ณ ์๋ก |
๐ฌ ์์งํ ํ๊ณ
- 13.56 MHz (HF) ์ ์ฉ. Specter๋ NFC ๋์ญ์ ๊ฐ์งํฉ๋๋ค โ ๋น์ ์ด ๊ฒฐ์ ์คํค๋จธ, ๋๋ถ๋ถ์ ์ต์ ์ถ์ ๋ฆฌ๋๊ธฐ, ๊ตํตยทํธํ ๋ฆฌ๋๊ธฐ๊ฐ ์ฌ์ฉํ๋ ๋์ญ์ ๋๋ค. 125 kHz (LF) ๋ฆฌ๋๊ธฐ(๊ตฌํ HID Prox / EM4100 ๋์ด ํจ๋)๋ ๋ณผ ์ ์์ต๋๋ค. Flipper์ LF ๊ฒฝ๋ก์๋ ์ด์ ์์ํ๋ ํ๋ ๊ฐ์ง ๋นํธ๊ฐ ์์ต๋๋ค.
- ๋ฆฌ๋๊ธฐ๊ฐ ์ฝ๋ ๋ด์ฉ์ด ์๋๋ผ ๋ฆฌ๋๊ธฐ์ ์บ๋ฆฌ์ด๋ฅผ ๊ฐ์งํฉ๋๋ค. Specter๋ ํ์ฑ ๋ฆฌ๋๊ธฐ๊ฐ ์ฌ๊ธฐ ์๊ณ , ๋๋ต ์ผ๋ง๋ ๊ฐ๊น์ฐ๋ฉฐ, ์ด๋ค ๋ฆฌ๋ฌ์ผ๋ก ํด๋งํ๋์ง๋ฅผ ์๋ ค์ค๋๋ค โ ๋ฆฌ๋๊ธฐ๊ฐ ์ํํ๋ ์ด๋ค ๊ฒ๋ ๋์ฝ๋ฉํ๊ฑฐ๋ ์๋ณํ๊ฑฐ๋ ์บก์ฒํ์ง ์์ต๋๋ค.
- ๊ฐ๋๋ ์๋์ ์ด๋ฉฐ, ์ ๋ ๋ณด์ ๋ ๊ฐ์ด ์๋๋๋ค.
FIELD %์ ๊ทผ์ ๋ ๋จ์ด๋ ์ค์์ ์ํ ๋น๊ต์ "๊ฐ๊น์ / ๋ฉ์ด์ง" ๊ฐ์ด๋์ด์ง, cm ๋จ์์ ์ธก์ ๊ฑฐ๋ฆฌ๊ฐ ์๋๋๋ค. ์ผ๋ฐ์ ์ธ ํด๋ง ๋์ญ์ ๋๋นํ ์บ๋ฆฌ์ด ๋ํฐ ์ฌ์ดํด์ ์ค์ผ์ผ๋ ํ๋ ๊ฐ์ ๋๋ค (๋ฏธํฐ ์ฝ๊ธฐ ์ฐธ์กฐ). ํด๋ง์ด ๋น์ ์์ ์ผ๋ก ๋๋ฌธ ๋ฆฌ๋๊ธฐ๋ ๊ฐ์ ๊ฑฐ๋ฆฌ์์ ๋ ๋ฎ๊ฒ ์ฝํ๊ณ , ์ฐ์ํ ๋ชจ๋์ ๋ฆฌ๋๊ธฐ๋ ๋ ๋จผ ๊ฑฐ๋ฆฌ์์๋ ์ต๋์น์ ๋๋ฌํฉ๋๋ค. - ๋ฏธํฐ๋ ์ํ์ด ์์ต๋๋ค.
MAX๋ ์บ๋ฆฌ์ด๊ฐ ์ด ๋ฆฌ๋๊ธฐ๊ฐ ์ ์งํ๋ ์ต๋์น๋งํผ ์ผ์ ธ ์์์ ์๋ฏธํฉ๋๋ค โ ๊ทธ ์ง์ ์ ์ง๋๋ฉด ๊ฐ๊น์ด ๊ฐ๋ ๋ ํฐ ์ซ์๊ฐ ๋์ฌ ์ ์์ต๋๋ค. ์์น๋ฅผ ๋น๊ตํ๋ ค๋ฉดPKํผํฌ-ํ๋๋ฅผ ์ฌ์ฉํ์ธ์. - ๋ฆฌ๋ฌ ํด์๋๋ ์ฝ 2ms์
๋๋ค. ์ด๊ฒ์ด ์ํ๋ง ์ฃผ๊ธฐ์
๋๋ค. ์ด์ ๊ทผ์ ํ ํ์ด๋ฐ์
~๋ก ํ์๋๊ณ ์ ๋ขฐ๋๋ ๊ทธ์ ๋ง๊ฒ ํ ์ธ๋ฉ๋๋ค โ Specter๋ ๋ณด์ฆํ ์ ์๋ ์ ๋ฐํด ๋ณด์ด๋ ์ซ์๋ฅผ ์ ์ํ๊ธฐ๋ณด๋ค ์์ ์ ํด์๋ ํ๊ณ๋ฅผ ํ์ํ๋ ์ชฝ์ ์ ํํฉ๋๋ค. CLEAN์ ์ ํํ ๊ฐ๋์์์ ๊นจ๋ํจ์ ์๋ฏธํฉ๋๋ค. ์ค์ ํํ์์๋ง ๊นจ์ด๋๋ ํด๋ฉด ์คํค๋จธ๋ ์ฐจํ๋ ์คํค๋จธ๋ ์ด๋ค ์๊ณ๊ฐ์์๋ ๋ณด์ด์ง ์์ต๋๋ค. ํ๋ ๊ฐ์ด ์๋ค๊ณ ํด์ ์ค์ ๋ก ์๋ ๊ฒ์ ์๋๋๋ค.- ํ ๋ฒ์ ํ๋์ ๋ผ๋์ค๋ง. Specter๋ ์ค์ ์ค NFC ์นฉ์ ์ ์ ํ๋ฏ๋ก, ๋จผ์ ๋ค๋ฅธ NFC ์ฑ์ ๋ชจ๋ ๋ซ์ผ์ธ์ (๋ค๋ฅธ ์ฑ์ด ๋ผ๋์ค๋ฅผ ์ ์ ์ค์ด๋ฉด NFC unavailable์ด๋ผ๊ณ ํ์๋ฉ๋๋ค).
โ๏ธ ๋ฒ์ ๋ฐ ์ค๋ฆฌ์ ๊ณ ์ง
Specter๋ ๋ฐฉ์ด์ ์ด๊ณ ์์ ์ ์ฉ ๋๊ตฌ์ ๋๋ค โ ์ ๋ ์ก์ ํ์ง ์์ผ๋ฉฐ, ํ๋๋ฅผ ๊ตฌ๋ํ์ง ์๊ณ , ๋ฆฌ๋๊ธฐ์ ์ ์ดํ์ง๋ ์์ต๋๋ค. ์์ ์ POS ์์ญ, ๋ฌธ, ์ฑ ์, ์์งํ ๋๋ ๋ช ์์ ์ผ๋ก ์น์ธ๋ ํ๋์จ์ด๋ฅผ ์ ๊ฒํ๋ ๋ฐ ์ฌ์ฉํ์ธ์. ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์ฑ ์์ ์ฌ์ฉ์์๊ฒ ์์ต๋๋ค. ํ์ง ๋ฒ๋ฅ ์ ์์งํ์ธ์.
๐บ๏ธ ๋ก๋๋งต
- ์ฌ๋ถํ ํ์๋ ๊ฐ๋ / ์๋ฆฌ / ์ง๋ / LED ์ ์ง
- ํ์์คํฌํ๊ฐ ํฌํจ๋ ๊ฐ์ง "๋ก๊ทธ๋ถ"์ SD ์นด๋์ ์ ์ฅ
- ํ๋ฉด์ ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค์ โ ์คํ ์ค ๋ชจ๋
- ์ ๋ฐํ ๋ฒ์ ์ ์ด๋ฅผ ์ํ ์กฐ์ ๊ฐ๋ฅํ ์๊ณ๊ฐ โ ์๋ ์บ๋ฆฌ๋ธ๋ ์ด์ + Custom ๊ฐ๋
- ํด๋ง ๋ฆฌ๋ฌ์ผ๋ก ๋ฐฉ์ถ์ฒด ํ๊ฑฐํ๋ฆฐํธ ์๋ณ
- ๊ณต๊ฐ ํ์ ์ ์ ๊ณตํ๋ ์๊ฐ ์ ํ ์ฌ์ดํธ ์๋ฒ ์ด
- ๋ณด๊ณ ์ฉ ๋ก๊ทธ๋ถ CSV ๋ด๋ณด๋ด๊ธฐ โ .txt์ ํจ๊ป ์ค์๊ฐ ๊ธฐ๋ก
- ๊ฐ์ง ์ ๊นจ์ด๋๋ ์๋์ด ์๋ ์ฅ๊ธฐ ๋ฌด์ธ ์์น ๋ชจ๋
- ์ค์ ํด๋ง ๋ฆฌ๋๊ธฐ์ ๋ํด ๋ฏธํฐ๊ฐ ์ ์ฒด ๋ฒ์๋ฅผ ์ฌ์ฉํ๋๋ก ๊ฐ์
- ๋ณ๋ ๋ชจ๋๋ก LF (125 kHz) ์ฝ์ผ ๊ธฐ๋ฐ ๋ฆฌ๋๊ธฐ ๊ฐ์ง ์ฐ๊ตฌ
- ๊ธฐ๊ธฐ ๋ด ๋ก๊ทธ๋ถ ์ ํ๋ณ ํํฐ๋ง
๐๏ธ ํ๋ก์ ํธ ๊ตฌ์กฐ
Specter-FlipperZero/
โโโ application.fam # Flipper app manifest (category: NFC)
โโโ specter.c / specter_i.h # app entry, wiring, alert feedback, stealth
โโโ helpers/
โ โโโ field_detector.{c,h} # worker thread: samples the field-present bit,
โ โ # duty-cycle + edge timing + calibration
โ โโโ emitter_classify.{c,h} # pure: cadence -> CONTINUOUS/POLLING/INTERMITTENT
โ โโโ survey_verdict.{c,h} # pure: survey stats -> CLEAN/TRACE/ACTIVE
โ โโโ field_scale.{c,h} # pure: raw carrier duty -> full-scale meter
โ โโโ specter_settings.{c,h} # persisted settings (saved_struct)
โ โโโ specter_log.{c,h} # SD logbook, RTC-stamped .txt + live .csv
โโโ views/
โ โโโ sweep_view.{c,h} # the EMF gauge / waveform / alarm screen
โ โโโ fingerprint_view.{c,h} # classification card + pulse-train trace
โ โโโ survey_view.{c,h} # progress + verdict card
โ โโโ watch_view.{c,h} # unattended guard: clock + count + alarm
โโโ scenes/ # scene-manager navigation
โโโ test/ # host tests for the pure decision layers
โโโ icons/ # 1-bit Flipper icons (generated)
โโโ images/ # banner + screen mockups (generated)
โโโ tools_gen_*.py # regenerate icons / mockups / banner
๐ ํฌ๋ ๋ง
- ์ ์: at0m-b0mb.
- Flipper ๋ณด์ ๋๊ตฌ ์ ํ๊ตฐ์ ์ผ๋ถ: Argus (Wi-Fi ๋์ค์ค(deauth) / ์ด๋ธ ํธ์ ๊ฐ์), GhostTag (BLE ์คํ ํน ๋ฐฉ์ง ํํฐ), Cerberus (Sub-GHz RF ๊ฐ์).
- Flipper Zero ํ์จ์ด NFC HAL(
furi_hal_nfcํ๋ ๊ฐ์ง) + ufbt ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ๋๋ฉ๋๋ค.
๐ ๋ผ์ด์ ์ค
MIT ยฉ 2026 at0m-b0mb