
Specter-FlipperZero v2.7
๐ป Specter โ Flipper Zero์ฉ ์๋ 13.56MHz NFC ๋ฆฌ๋/์คํค๋จธ ๋์ฒญ ํ์ง. ๋ด์ฅ NFC ์นฉ์ ์ฌ์ฉํ๋ ๋๊ฐ์ฒญ EMF ๋ฏธํฐ. ์ถ๊ฐ ํ๋์จ์ด ๋ถํ์.
Specter ๐ป
๋ณด์ด์ง ์๋ ๋ฆฌ๋๊ธฐ๋ฅผ ํ์งํ์ธ์.
Specter๋ Flipper Zero๋ฅผ ํ์ฑ 13.56MHz NFC ๋ฆฌ๋๊ธฐ์ฉ ์ฃผ๋จธ๋ ํฌ๊ธฐ์ ์ญ๊ฐ์ ๋์ฒญ ํ์ง๊ธฐ๋ก ๋ฐ๊ฟ์ค๋๋ค. ์ ์์ด ์ผ์ง ๋ฆฌ๋๊ธฐ๊ฐ ๋์์์ด ๋ฐฉ์ถํ๋ RF ํ๋๋ฅผ ์๋์ ์ผ๋ก ์ฒญ์ทจํฉ๋๋ค โ ๊ฒฐ์ ๋จ๋ง๊ธฐ์ ๋ชฐ๋ ๋ผ์์ง ์จ์ ์นด๋ ์คํค๋จธ, ๋์ด ํจ๋ ๋ค์ ์๋ฐํ ๋ฆฌ๋๊ธฐ, ์ฑ ์ ์๋ ํ ์ดํ๋ก ๋ถ์ธ ๋ถ๋ฒ ๋ก๊ฑฐ โ ๊ทธ๋ฐ ๋ค์ ์ด๋์ ์๋์ง, ์ด๋ค ์ข ๋ฅ์ธ์ง, ๋ฐฉ์ด ๊นจ๋ํ์ง๋ฅผ ์๋ ค์ฃผ๊ณ , ๊ฐ์ ๋ชจ๋๋ก ๋จ๊ฒจ๋๋ฉด โ ์๋ฆฌ๋ฅผ ๋น์ด ์ฌ์ด ํ๋๊ฐ ๋ํ๋ ์๊ฐ๋ ์๋ ค์ค๋๋ค. ์ ๋ ์ก์ ํ์ง ์์ต๋๋ค.
๋ฆฌ๋๊ธฐ๋ ๋ณด์ด์ง ์์ต๋๋ค. Specter๊ฐ ๊ทธ๊ฒ๋ค์ ๋ณด์ด๊ฒ ๋ง๋ญ๋๋ค.
๐ ํ๋ฆฌํผ์์
Sweep (์กฐ์ฉํจ) ย ยทย Sweep (๋ฆฌ๋๊ธฐ ์ ๊น) ย ยทย Fingerprint ย ยทย Survey (์คํ ์ค) ย ยทย Survey (ํ์ )
Watch (๊นจ๋ํจ) ย ยทย Watch (๋ฆฌ๋๊ธฐ!) ย ยทย Logbook ย ยทย Calibrate ย ยทย Settings
โจ ๋ค์ฏ ๊ฐ์ง ๋ชจ๋
Specter๋ ํ๋์ ์ผ์๋ฅผ ์ค์ฌ์ผ๋ก ํ ๋ค์ฏ ๊ฐ์ง ๋๊ตฌ์ ๋๋ค. ๊ฐ๊ฐ์ ์๋ก ๋ค๋ฅธ ์ง๋ฌธ์ ๋ตํ๋ฉฐ, ์ด๋ ๊ฒ์ ์ธ์ง๋ ์ค์ ๋ก ๋ฌด์์ ์์๋ด๊ณ ์ ํ๋์ง์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค:
| ๋ชจ๋ | ๋ตํ๋ ์ง๋ฌธ | ์ฌ์ฉ ์์ |
|---|---|---|
| ๐ Sweep | ์ด๋์ ์๋? | ๊ธฐ๊ธฐ๊ฐ ์์ฌ๋์ด ์์ง์ด๋ฉด์ ์์น๋ฅผ ํน์ ํ๊ณ ์ถ์ ๋ |
| ๐ฌ Fingerprint | ์ด๋ค ์ข ๋ฅ์ ๊ฒ์ธ๊ฐ? | ์ด๋ฏธํฐ๋ฅผ ์ฐพ์๊ณ ๊ทธ๊ฒ์ด ์ด๋ป๊ฒ ๋์ํ๋์ง ์๊ณ ์ถ์ ๋ |
| ๐บ๏ธ Site Survey | ์ด ๋ฐฉ์ ๊นจ๋ํ๊ฐ? | ๊ณต๊ฐ ์ ์ฒด์ ๋ํ ๋จ์ผ ํ์ ์ ์๋์ง ์๊ณ ์ํ ๋ |
| ๐ฐ๏ธ Watch Mode | ๋ด๊ฐ ์๋ ์ฌ์ด์ ํ๋๊ฐ ๋ํ๋ฌ๋? | ํ๋ฆฌํผ๋ฅผ ์ด๋๊ฐ์ ๋๊ณ ๊ฐ์๋ฅผ ๋งก๊ธธ ๋ |
| ๐ Logbook | ๋ฌด์์ ์ธ์ ๋ฐ๊ฒฌํ๋? | ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ๊ฑฐ๋ ์ค๋๊ณผ ์ง๋์ฃผ๋ฅผ ๋น๊ตํ ๋ |
๐ Sweep โ ์ด๋์ ์๋?
๊ธฐ๋ฅ. ์ค์๊ฐ EMF ์คํ์ผ ๋ฏธํฐ์ ๋๋ค. ํ๋ฆฌํผ๋ฅผ ํํํ๊ฒ ์ก๊ณ ํ์ธํ๋ ค๋ ๋์ ์๋ฅผ ์ฒ์ฒํ ์์ง์ด์ธ์ โ ์นด๋ ๋จ๋ง๊ธฐ, ๋์ด ๋ฆฌ๋๊ธฐ, ATM ํ๋จ ๊ฐ์ฅ์๋ฆฌ, ํ๋ฐฐ, ์ฑ ์ ๋ฑ. ๋ฐ๋์ ์ค์๊ฐ์ผ๋ก ํ๋ ์ธ๊ธฐ๋ฅผ ๋ฐ๋ผ ์์ง์ ๋๋ค.
ํ์ ํ๋ฉด.
- ๋ค์ด์ผ โ ๋ฐ๋ = ์ค์๊ฐ ์ธก์ ๊ฐ, ์์ ์ = ํผํฌ ํ๋(peak-hold) (์ค์บ ์ค ๋ฟ์ ๊ฐ์ฅ ๊ฐํ ์ง์ ์ผ๋ก, ์์น๋ฅผ ๋น๊ตํ ์ ์์ต๋๋ค).
FIELD %โ ๋์ผํ ์ธก์ ๊ฐ์ ์ซ์๋ก ํ์ํ๋ฉฐ, โฒ / โผ ์ถ์ธ ํ์ดํ๋ก ์ง๋ 0.5์ด ๋์ ์ ํธ๊ฐ ๊ฐํด์ก๋์ง ์ฝํด์ก๋์ง๋ฅผ ์๋ ค์ค๋๋ค. ํ์ํ ๋๋ ์ซ์๋ณด๋ค ์ด ํ์ดํ๊ฐ ๋ ์ค์ํฉ๋๋ค.PK/Cโ ์ต๋ ์ธก์ ๊ฐ๊ณผ ์ง๊ธ๊น์ง ๊ฐ์งํ ๋ณ๋ ์ ์ด ํ์.- ํ๋จ ์คํธ๋ฆฝ โ ์กฐ์ฉํ ๋๋ ์ค์๊ฐ ํํ๊ณผ ํ์ฌ ๊ฐ๋๋ฅผ ํ์ํ๋ฉฐ, ์บ๋ฆฌ์ด๊ฐ ๊ฐ์ง๋๋
์๊ฐ ๊ทผ์ ๋จ์ด์ ํจ๊ป ๊ฒ์์
โ ACTIVE READER๊ฒฝ๋ณด ๋ง๋๋ก ์ ํ๋ฉ๋๋ค. - ๊ทผ์ ๋ โ
FAINT โ NEAR โ CLOSE โ STRONG โ MAX.MAX๋ ๋ฏธํฐ๊ฐ ์ต๋์น์ ๊ณ ์ ๋์์์ ์๋ฏธํฉ๋๋ค: ์ด ์ธก์ ์ผ๋ก ๋ถํดํ ์ ์๋ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฑฐ๋ฆฌ๋ผ๋ ๋ป์ ๋๋ค.
์ฌ์ด๋. ์ ํ์ ์ธ ๊ฐ์ด๊ฑฐ ๊ณ์๊ธฐ ํด๋ฆญ์์ผ๋ก ๊ฐ๊น์์ง์๋ก ๋นจ๋ผ์ง๋๋ค. ์ฃผ๋จธ๋์ ํ๋ฆฌํผ๋ฅผ ๋ฃ๊ณ ์๋ฆฌ๋ง์ผ๋ก๋ ํ์ํ ์ ์์ต๋๋ค.
| ํค | ๋์ |
|---|---|
OK | ํผํฌ ํ๋์ ์ ์ด ํ์ ์ด๊ธฐํ |
hold OK | ์ด ์ธก์ ๊ฐ์ ๋ก๊ทธ๋ถ์ ์ ์ฅ |
LEFT | ๋ฐฉ์ ๋ ธ์ด์ฆ ํ๋ก์ด์ ๋ง์ถฐ ๋ณด์ (3์ด) |
๐ฌ Fingerprint โ ์ด๋ค ์ข ๋ฅ์ ๊ฒ์ธ๊ฐ?
๊ธฐ๋ฅ. Sweep์ผ๋ก ๋ฌด์ธ๊ฐ๋ฅผ ์ฐพ์๋ค๋ฉด ํ๋ฆฌํผ๋ฅผ ๋์์ ๊ทธ๋๋ก ๋๊ณ ์์ผ์ธ์. Fingerprint๋ ๊ทผ์ ๋ ์ธก์ ์ ๋ฉ์ถ๊ณ ์บ๋ฆฌ์ด์ on/off ์์ง ํ์ด๋ฐ์ ์ธก์ ํฉ๋๋ค. ์ด๊ฒ์ด ์ค์ ๋ก ์๋ก ๋ค๋ฅธ ์ข ๋ฅ์ ์ด๋ฏธํฐ๋ฅผ ๊ตฌ๋ถํ๋ ๊ธฐ์ค์ ๋๋ค.
ํ์ ํ๋ฉด. ํ์ , ์ ๋ขฐ๋ ๋ง๋, ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋์ ๋ท๋ฐ์นจํ๋ ์ฆ๊ฑฐ๊ฐ ํ์๋ฉ๋๋ค:
| ๋ถ๋ฅ | ์ค์ ์๋ฏธ |
|---|---|
| CONTINUOUS | ์บ๋ฆฌ์ด๊ฐ ๊ณ์ ์ผ์ง ์ํ๋ก ์ ์ง๋จ |
| POLLING | ๊ณ ์ ๋ ํฌ๋ฆฌ์คํธ ํ์ด๋ฐ ํด ์ฃผ๊ธฐ โ ์ฃผ๊ธฐ๊ฐ ms๋ก ํ์๋จ |
| INTERMITTENT | ๋ฒ์คํธ์ฑ์ด๋ ๋ถ๊ท์นํจ โ ํํ ์ค๋งํธํฐ ๋๋ ์ฌ์ฉ ์ค์ธ ๋ฆฌ๋๊ธฐ |
์๋์๋ PER(ํด ์ฃผ๊ธฐ), BST(๋ฒ์คํธ ํญ), JIT(์งํฐ), DUTY(์ค์ ๋ํฐ ์ฌ์ดํด)์ ํจ๊ป
์์ ์บ๋ฆฌ์ด์ ๋ก์ง ์ ๋๋ผ์ด์ ํ์ค ํธ๋ ์ธ์ด ํ์๋ฉ๋๋ค โ ๋ฐ๋ผ์ ํ์ ์ ๋งน๋ชฉ์ ์ผ๋ก
๋ฏฟ์ ํ์๊ฐ ์์ต๋๋ค. ์ง์ง ํด๋ง ๋ฆฌ๋๊ธฐ๋ ํ๋ฆผ์๋ ๊ตฌํํ๋ก ๋ํ๋ฉ๋๋ค.
ํ์ด๋ฐ ์์
~๋ 2 ms ์ํ๋ง ํํ์ ๊ทผ์ ํจ์ ์๋ฏธํ๋ฉฐ, ์ ๋ขฐ๋๋ ๊ทธ์ ๋ง๊ฒ ํ ์ธ๋ฉ๋๋ค.
| ํค | ๋์ |
|---|---|
OK | ๋ฐ๊ฒฌ ์ฌํญ์ ๋ก๊ทธ๋ถ์ ์ ์ฅ |
hold OK | ์ธก์ ๋ค์ ์์ |
๐บ๏ธ Site Survey โ ์ด ๋ฐฉ์ ๊นจ๋ํ๊ฐ?
๊ธฐ๋ฅ. ๊ณต๊ฐ ์ ์ฒด์ ๋ํ ์๊ฐ ์ ํ ์ค์์ ๋๋ค. ์์ํ ๋ค ํ์์ฒ๋ผ ๋ฐฉ์ ๋์๋ค๋๋ฉด ๋ง์ง๋ง์ ๋จ์ผ ํ์ ์ด ๋์ต๋๋ค โ ๋ฐ๋์ ์ง์ผ๋ณผ ํ์๊ฐ ์์ต๋๋ค.
ํ์ ํ๋ฉด. ์คํ ์ค์๋ ์นด์ดํธ๋ค์ด๊ณผ ์งํ ๋ง๋๊ฐ, ๊ทธ๋ค์์๋ ํ์ ์นด๋๊ฐ ํ์๋ฉ๋๋ค:
CLEANโ ๋ ธ์ด์ฆ ํ๋ก์ด๋ฅผ ๋๋ ๊ฒ์ด ์์TRACEโ ์งง๊ฑฐ๋ ๋ฏธ์ฝํ ํํธ; ๋ ์ฒ์ฒํ ๋ค์ ์ดํด๋ณผ ๊ฐ์น๊ฐ ์์ACTIVE READERโ ์ค์ ๋ก ์ผ์ ธ์ ๋ฐฉ์ถ ์ค์ธ ๋ฌด์ธ๊ฐ๊ฐ ์์์
โฆ๊ทธ๋ฆฌ๊ณ MAX / AVG ํ๋, ์ ์ด ํ์, FIELD % โ ์ฆ ์๋ฒ ์ด ์ค ์บ๋ฆฌ์ด๊ฐ ์ค์ ๋ก
์ผ์ ธ ์๋ ๋น์จ๋ก, ๋ค ์ซ์ ์ค ๊ฐ์ฅ ์๋ฏธ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. 30์ด, 60์ด ๋๋ 2๋ถ ๋์
์คํ๋๋ฉฐ ๊ฒฐ๊ณผ๋ฅผ ์๋์ผ๋ก ๊ธฐ๋กํฉ๋๋ค.
| ํค | ๋์ |
|---|---|
OK | ์๋ฒ ์ด ๋ค์ ์คํ |
๐ฐ๏ธ Watch Mode โ ๋ด๊ฐ ์๋ ์ฌ์ด์ ํ๋๊ฐ ๋ํ๋ฌ๋?
๊ธฐ๋ฅ. ๋ฌด๊ธฐํ ๊ฐ์๋ฅผ ์ํํฉ๋๋ค. ์๋์ ์์ํ๊ณ ํ๋ฆฌํผ๋ฅผ ๋ด๋ ค๋์ ๋ค ๋ ๋์ธ์. Sweep์ด ์ค์ค๋ก ์ฐพ์๋ค๋๋ ๋ฐฉ์์ด๊ณ Survey๊ฐ ๊ณ ์ ๊ธธ์ด ํ ์คํธ๋ผ๋ฉด, Watch๋ ๊ทธ์ ๊ธฐ๋ค๋ฆฝ๋๋ค โ ๋ช ๋ถ์ด๋ ๋ช ์๊ฐ์ด๋ .
ํ์ ํ๋ฉด. ์๋ฌด๊ฒ๋ ์์ ๋๋ ํฐ ๊ฒฝ๊ณผ ์๊ณ์ ALL CLEAR์ด ํ์๋ฉ๋๋ค. ๋ฆฌ๋๊ธฐ๊ฐ
๋ํ๋๋ ์๊ฐ ๋ฐด๋๊ฐ **READER PRESENT**๋ก ๋ฐ์ ๋๊ณ ํ๋ฉด์ด ์ผ์ง๋ฉฐ ๊ฒฝ๋ณด์์ด
์ธ๋ฆฝ๋๋ค. ๋ฐด๋๋ ๊น๋นก์ด์ง ์๊ณ ์ผ์ ํ๊ฒ ์ ์ง๋ฉ๋๋ค โ ๋์ ์์ ๋ง์ปค๊ฐ ํ์ค์ฒ๋ผ
์์ง์ฌ, ์คํธ๋ก๋ธ ํจ๊ณผ ์์ด ์ค์๊ฐ ์ํ๋ก ์ฝํ๋๋ค. ์ ํธ๊ฐ ์ง๋๊ฐ ๋ค์๋ ํ๋ฉด์๋
์ฆ๊ฑฐ๊ฐ ๋จ์ต๋๋ค: HITS(๋ณ๋ ์ ์ด ํ์), PEAK, LAST(๊ฐ์ฅ ์ต๊ทผ ์ ํธ๊ฐ ์์๋
์์ ), SEEN(์บ๋ฆฌ์ด๊ฐ ์ค์ ๋ก ์ผ์ ธ ์๋ ์ด์๊ฐ).
Watch๋ ์ผ๋ถ๋ฌ ์คํ ์ค ๋ชจ๋๋ฅผ ๋ฌด์ํฉ๋๋ค โ ๋ฌด์ธ๊ฐ๋ฅผ ๋ดค์ด๋ ์๋ ค์ฃผ์ง ์๋ ์ด๋ก๊ณ ์กฐ์ฉํ ๊ฐ์์๋ ์ธ๋ชจ์๋ ๊ฒ๋ณด๋ค ๋ ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค.
| ํค | ๋์ |
|---|---|
OK | ์ฌ๋ฌด์ฅ โ ์๊ณ์ ์นด์ดํฐ ์ด๊ธฐํ |
๐ Logbook โ ๋ฌด์์ ์ธ์ ๋ฐ๊ฒฌํ๋?
๋ฐ๊ฒฌ ์ฌํญ์ ํ ๋ฒ์ ๋์์ผ๋ก ๋ ๊ณณ์ ์ ์ฅ๋์ด ๊ธฐ๊ธฐ์์ ์ฝ์ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์ด๋ฏธ ์คํ๋ ๋์ํธ๋ก๋ ์ ๋ฆฌ๋ฉ๋๋ค โ ๊ธฐ์ตํด์ผ ํ ๋ด๋ณด๋ด๊ธฐ ๋จ๊ณ๊ฐ ์์ต๋๋ค:
logbook.txt โ ๊ธฐ๊ธฐ ๋ด ๋ทฐ์ด์ฉ, ๊ทธ๋ฃนํ๋จ | logbook.csv โ ํญ๋ชฉ๋น ๋จ์ ํ ํ๋ |
|---|---|
| ``` 2026-07-18 14:35:11 SURVEY 60s ACTIVE max74โฆ 2026-07-18 14:32:07 READER POLLING 204msโฆ ``` | ``` timestamp,type,detail 2026-07-18 14:35:11,SURVEY,60s ACTIVE โฆ 2026-07-18 14:32:07,READER,POLLING 204ms โฆ ``` |
ํญ๋ชฉ์๋ SWEEP, READER, SURVEY ๋๋ WATCH ํ๊ทธ๊ฐ ๋ถ๊ณ Flipper ์๊ณ์
ํ์์คํฌํ๊ฐ ์ฐํ๋๋ค. ๋ ํ์ผ ๋ชจ๋ SD ์นด๋์ apps_data/specter/์ ์์ต๋๋ค. ์ด๋ค ๊ฒ๋
๊ธฐ๊ธฐ๋ฅผ ๋ ๋์ง ์์ต๋๋ค. ์ค์ โ ๋ก๊ทธ๋ถ ์ง์ฐ๊ธฐ์์ ์ง์ธ ์ ์์ต๋๋ค(๋จผ์
ํ์ธ์ ๋ฐ์ต๋๋ค โ ์ฑ์ด ํ ์ ์๋ ์ ์ผํ ๋๋๋ฆด ์ ์๋ ์์
์
๋๋ค).
โ๏ธ ์ง์ ์์๋ค
๐ฏ ์๋ ๋ณด์
์ค์ ํ๋ฉด์์ LEFT๋ฅผ ๋๋ฅด๋ฉด Specter๊ฐ ์ฃผ๋ณ ๋ ธ์ด์ฆ ๋ฐ๋ฅ์ 3์ด๊ฐ ๋ฃ๊ณ , ์ธก์ ๋ ๊ฐ ๋ฐ๋ก ์๋ก ๊ฐ์ง ์๊ณ๊ฐ์ ์ค์ ํฉ๋๋ค โ ์ฌ์ฉ์ ์ง์ ๊ฐ๋๋ก ์ ์ฅ๋ฉ๋๋ค. ๋ชจ๋ ๋ฐฉ์ ์๋ก ๋ค๋ฅธ RF ๋ฐ๋ฅ์ ๊ฐ์ง๋๋ค. ์ด ๊ธฐ๋ฅ์ ๋น๋ ์ ๊ณ ์ ๋ ์ซ์๊ฐ ์๋๋ผ ํ์ฌ ์ ์๋ ๋ฐฉ์ ๋ง์ถฅ๋๋ค. ์คํํ ๋๋ ์กฐ์ฉํ ๊ณณ์ ์์ธ์.
๐ถ๏ธ ์คํ ์ค ๋ชจ๋
์ ์ฒด ์ค์ ๋์ ํ๋ฉด๊ณผ LED๋ฅผ ๊บผ ๋ก๋๋ค. Flipper๊ฐ ๋น๋์ง ์์
๋น์ ์ด ๋ณด๊ณ ์๋ ๋์ ๋๋ฌ๋์ง ์์ต๋๋ค. ์๋ฆฌ์ ์ง๋์ ๊ณ์ ์๋ํฉ๋๋ค โ
์ค์ ์ค ํผ๋๋ฐฑ์ ๋๋ ๊ฒ์ด ๋ชฉ์ ์ด ์๋๊ธฐ ๋๋ฌธ์
๋๋ค. ์คํ
์ค ํ๋ฉด์ ๋๊ฐ๋ฉด
๋์คํ๋ ์ด๊ฐ ๋ค์ ์ผ์ง๋ฏ๋ก BACK์ ํญ์ ์กฐ๋ช
์ด ์ผ์ง ๋ฉ๋ด์ ๋๋ฌํฉ๋๋ค.
๐ ๋ฏธํฐ ์ฝ๊ธฐ
์ ๋ง์ง๊ณ ์๋ ๋ฆฌ๋๋ 100% ์๊ฐ ๋์ ๋ฐฉ์ถํ์ง ์๋๊ฐ. ๊ฐ์ง๊ธฐ๋ ํ ๊ฐ์ง ๋ฌผ๋ฆฌ์ ์ฌ์ค์ ์ธก์ ํฉ๋๋ค: 13.56 MHz ์บ๋ฆฌ์ด๊ฐ ์ผ์ ธ ์๋ ์๊ฐ์ ๋น์จ์ ๋๋ค. ํ์ง๋ง ๋ฆฌ๋๋ ํด๋งํฉ๋๋ค โ ์งง์ ๋ฒ์คํธ, ๋๊ธฐ, ๋ ๋ค๋ฅธ ๋ฒ์คํธ. ์ผ๋ฐ์ ์ธ ํฐ๋ฏธ๋์ ๋จ์ง 20โ35%์ ์๊ฐ ๋์๋ง ๋ฐฉ์ฌํ๋ฏ๋ก, ์์ ๋ํฐ ์ฌ์ดํด์ ์๋ฌด๋ฆฌ ๊ฐ๊น์๋ ์ฝ 30%์์ ํฌํ๋ฉ๋๋ค.
๊ฒ์ด์ง์ ๊ทธ ์์ ์ซ์๋ฅผ ํ์ํ๋ฉด ์๋ฒฝํ ํ์ง๊ฐ 1/3์ฒ๋ผ ๋ณด์์ต๋๋ค. ๋ฏธํฐ๋ ๋์ ์ค์ ํด๋ง ๋์ญ์ ๋ง์ถฐ ์กฐ์ ๋ฉ๋๋ค:
| ์์ ์บ๋ฆฌ์ด ๋ํฐ | ๋ฏธํฐ | ๊ทผ์ ๋ |
|---|---|---|
| 3% (๋ฐฉ ๋ ธ์ด์ฆ) | 10% | FAINT |
| 12% | 40% | NEAR |
| 20% | 67% | CLOSE |
| 28% | 93% | STRONG |
| โฅ30% (๋ฆฌ๋ ์์ ์ฌ๋ ค๋ ์ํ) | 100% | MAX |
์์ ๋ํฐ๋ ์ ๋ ์์ค๋์ง ์์ต๋๋ค: ๋
ธ์ด์ฆ ๋ฐ๋ฅ, ์๋ ๋ณด์ ๋ฐ
Fingerprint ํ๋ฉด์ DUTY๋ ๋ชจ๋ ์ค์ ๋ํฐ ์ฌ์ดํด๋ก ๊ณ์ ์๋ํฉ๋๋ค. ๊ทธ ์ด์ ๋
๊ทธ๊ฒ๋ค์ด ์ ํธ๋ฅผ ์ค๋ช
ํ๊ธฐ ๋๋ฌธ์ด์ง, ์ ํธ๋ก๋ถํฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ค๋ช
ํ๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ง ๊ทธ๋๋ก์ ์ซ์๋ฅผ ์ํ์๋์?
์ค์ โ ๋ฏธํฐ โ Raw.
๐พ ๋ชจ๋ ๊ฒ์ด ์๊ตฌ ์ ์ฅ๋ฉ๋๋ค
๊ฐ๋, ์กฐ์ฌ ๊ธธ์ด, ์๋ฆฌ, ์ง๋, LED, ์คํ ์ค, ๋ก๊น ๋ฐ ๋ฏธํฐ ๋ชจ๋๋ ๋ณ๊ฒฝํ๋ ์ฆ์ SD ์นด๋์ ์ ์ฅ๋ฉ๋๋ค. ์ค์ ์ ์์ด๋ฒ๋ฆฌ๋ ์ค์ ํคํธ๋ ์๊ตฌ ์ ์ฅ์ด ์๋ ๊ฒ๋ณด๋ค ๋ ๋์ฉ๋๋ค.
๐ง ์๋ ๋ฐฉ์
์ ์์ด ์ผ์ง ๋ชจ๋ NFC ๋ฆฌ๋๋ ์นด๋๋ฅผ ๊นจ์ฐ๊ธฐ ์ํด 13.56 MHz ์บ๋ฆฌ์ด๋ก ๊ณต๊ธฐ๋ฅผ ๊ณ์ ํํฉ๋๋ค. ๋น์ ์ ๋ณผ ์ ์์ง๋ง Flipper์ NFC ์นฉ์ ๋ณผ ์ ์์ต๋๋ค: ST25R3916์๋ ํ๋์จ์ด ์ธ๋ถ ํ๋ ๊ฐ์ง๊ธฐ๊ฐ ์์ต๋๋ค(์ด ํ๋ก๋ Flipper๊ฐ ์นด๋๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๊ณ ๋ฆฌ๋๊ฐ ๋ง์ ๊ฑธ๊ณ ์์์ ์ ์ ์๊ฒ ํด์ฃผ๋ ํ๋ก์ ๊ฐ์ต๋๋ค). Specter๋ ์นฉ์ ๊ฐ์ง ์ ์ฉ ๋ชจ๋๋ก ๋๊ณ "field present?" ๋นํธ๋ฅผ ์ด๋น ์ฝ 500ํ ์ํ๋งํฉ๋๋ค โ ์์ฒด ์บ๋ฆฌ์ด๋ฅผ ์ผ์ง ์์ ์ฑ๋ก ๋ง์ ๋๋ค.
์ถฉ๋ถํ ๋น ๋ฅด๊ฒ ์ํ๋ง๋ ๊ทธ ๋จ์ผ ๋นํธ๋ ๋ ๊ฐ์ง ๋
๋ฆฝ์ ์ธ ์ ํธ๋ฅผ ๋ด๊ณ ์์ต๋๋ค:```mermaid
flowchart LR
R["๐ Hidden 13.56 MHz reader / skimmer
(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 ๋ฐ๋ก ์์ ์๋ ๋ฆฌ๋๋ ๋ฏธํฐ๋ฅผ ๋๊น์ง ์ฌ๋ฆฌ๊ณ , ๋ ์ฝํ๊ฑฐ๋ ๋ ๋จผ ๋ฆฌ๋๋ ์ด์ง ์์ง์
๋๋ค. ์ด๊ฒ์ด ๋ฐ๋, ๊ทผ์ ๋จ์ด, ํด๋ฆญ๋ฅ ์ ๊ฒฐ์ ํฉ๋๋ค.
**๋ฆฌ๋ฌ โ ์ ์ฒด์ฑ.** ๋ณ๋๋ก, ๊ทธ ๋นํธ์ ๋ชจ๋ ์ ์ด๊ฐ ํ์ด๋ฐ์ผ๋ก ์ธก์ ๋ฉ๋๋ค. 200ms๋ง๋ค 20ms ๋์ ๊นจ์ด๋๋ ๋ฆฌ๋๋ ๊ฑฐ์ ์งํฐ๊ฐ ์๋ ๋ฒ์คํธ/๊ฐญ ํจํด์ ๋ง๋ค์ด๋
๋๋ค. ํด๋ง ๋ฃจํ๊ฐ ํฌ๋ฆฌ์คํธ ํ์ด๋ฐ ์ํ ๋จธ์ ์ ์ํด ๊ตฌ๋๋๊ธฐ ๋๋ฌธ์
๋๋ค. ์ ์์ง์๊ณผ RF ๋
ธ์ด์ฆ๋ ๊ทธ๋ ๊ฒ ๊พธ์คํ์ง ์์ต๋๋ค. ๊ทธ ์ฐจ์ด๊ฐ **POLLING**๊ณผ **INTERMITTENT**๋ฅผ ๊ตฌ๋ถํฉ๋๋ค.
### ๊ฒฐ์ ๋ ์ด์ด๋ ์ค์ ์ปดํจํฐ์์ ํ
์คํธ๋๋ค
Specter๊ฐ ์ซ์๋ฅผ *์ฃผ์ฅ* โ "์ด๊ฒ์ ํด๋ง ๋ฆฌ๋๋ค", "์ด ๋ฐฉ์ ๊นจ๋ํ๋ค", "์ด๊ฒ์ด ๋ฐ๋์ด ์ฝ์ด์ผ ํ ๊ฐ์ด๋ค" โ ์ผ๋ก ๋ณํํ๋ ๋ถ๋ถ์ ํ๋์จ์ด ์์กด์ฑ์ด ์๋ ์์ C๋ก ์์ฑ๋์ด ์์ผ๋ฉฐ, ์ฅ์น์์ ๋ฐ๊ฒฌ๋๋ ๊ฒ์ด ์๋๋ผ ํธ์คํธ ํ
์คํธ๋ก ํ์ ๋ฉ๋๋ค.```bash
make -C test # 300 checks: classifier, verdict, meter scaling, presence
๐ ์ค์น
๊ฐ๋ฐ ๋ณด๋๋, ํ๋์ํ ํ์จ์ด๋ ์์ต๋๋ค โ ๋จ์ผ .fap ํ์ผ์
๋๋ค.
์ต์
A โ ๋ฏธ๋ฆฌ ๋น๋๋ .fap (๊ฐ์ฅ ์ฌ์)
-
Releases ํ์ด์ง์์ ์ฌ๋ฐ๋ฅธ
.fapํ์ผ์ ๋ฐ์ผ์ธ์:ํ์จ์ด ํ์ผ ๊ณต์ / ์์ specter.fapUnleashed, RogueMaster, Momentum ๋๋ ๋ ์๋ก์ด ํ์จ์ด specter-fw-dev.fapํ๋ฆฌํผ๊ฐ **
APP:87 < FW:88 โ This app might not work**๋ผ๊ณ ํ์ํ๋ฉด ์๋ชป๋ ํ์ผ์ ๋ฐ์ ๊ฒ์ ๋๋ค โ ๋ค๋ฅธ ํ์ผ์ ์ฌ์ฉํ์ธ์. ์ฑ์ API ๋ฒ์ ์ ์ปดํ์ผ ์ ๊ณ ์ ๋๋ฏ๋ก ํ๋์ ๋น๋๋ก ๋ ํ์จ์ด ๋ผ์ธ์ ๋ชจ๋ ์ถฉ์กฑํ ์ ์์ต๋๋ค. Continue๋ฅผ ๋๋ฅด๋ฉด ๋ณดํต์ ์ฌ์ ํ ์คํ๋์ง๋ง, ๋ง๋ ๋น๋๋ ๋ฌป์ง ์์ต๋๋ค. -
qFlipper๋ฅผ ์ด๊ณ ํ์ผ์
SD Card / apps / NFC /๋ก ๋์ด๋ค ๋์ผ์ธ์. -
ํ๋ฆฌํผ์์: Apps โ NFC โ Specter.
์ต์
B โ ufbt๋ก ์ง์ ๋น๋ํ๊ธฐ```bash
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` ํ์).
---
## ๐ฎ ์ฌ์ฉํ๊ธฐ
**์ฒ์๋ถํฐ ๋๊น์ง ์ค์ํ๊ธฐ:**
1. **Specter**๋ฅผ ์คํํ์ธ์. **Sweep** ํ๋ฉด์์ **LEFT**๋ฅผ ๋๋ฅด๊ณ 3์ด ๋์ ๊ฐ๋งํ ์์ด
๋ฐฉ์ ๋
ธ์ด์ฆ ํ๋ก์ด์ ๋ณด์ ํฉ๋๋ค.
2. Flipper๋ฅผ ํํํ๊ฒ ์ก๊ณ ํ์ธํ๋ ค๋ ๋์ ์๋ฅผ **์ฒ์ฒํ** ์์ง์ด์ธ์ โ ์นด๋ ๋จ๋ง๊ธฐ,
์ถ์
๋ฌธ ๋ฆฌ๋๊ธฐ, ATM ํ๋จ ๊ฐ์ฅ์๋ฆฌ, ์ํฌ, ์ฑ
์ ๋ฑ.
- **์กฐ์ฉํ / ํํํ ํํ** โ ๋ฒ์ ๋ด ํ์ฑ ๋ฆฌ๋๊ธฐ ์์.
- **๋ฐ๋์ด ์ฌ๋ผ๊ฐ๊ณ ํด๋ฆญ์ด ๋นจ๋ผ์ง** โ ์ด๋ฏธํฐ์ ์ ๊ทผ ์ค์
๋๋ค. ํผํฌ(peak)๋ฅผ ํฅํด ๊ณ์ ์ด๋ํ์ธ์.
- **`โ ACTIVE READER` + ์๋ ํ
๋๋ฆฌ** โ ํ์ฑ ๋ฆฌ๋๊ธฐ๊ฐ ๋ฐ๋ก ์ฌ๊ธฐ ์์ต๋๋ค.
3. ๋ญ๊ฐ ์ฐพ์๋์? ๋ค๋ก ๋๊ฐ **Fingerprint**๋ฅผ ์ฌ์ธ์. Flipper๋ฅผ ๊ทธ ์์ ๊ณ ์ ํ๊ณ
์ฃผ๊ธฐ๊ฐ ์์ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ธ์ โ ๋ณดํต ๋ช ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค. **OK**๋ฅผ ๋๋ฌ ํ์ง ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ์ธ์.
4. ๋์ ๋ฐฉ ์ ์ฒด๋ฅผ ์ ๊ฒํ ๊ฑด๊ฐ์? **Site Survey**๋ฅผ ์ด๊ณ ๋ง๋๊ฐ ๊ฐ๋ ์ฐฐ ๋๊น์ง ๊ณต๊ฐ์ ๊ฑธ์ด๋ค๋๋ฉฐ
๊ฒฐ๊ณผ๋ฅผ ํ์ธํ์ธ์.
5. ํด๋น ๊ตฌ์ญ์ ๋ ๋ ๊ฑด๊ฐ์? Flipper๋ฅผ **Watch Mode**๋ก ์ ํํ๋ฉด ๊ฐ์๋ฅผ ์๊ฒ ๋ฉ๋๋ค. ์๋ฆฌ๋ฅผ ๋น์ด ์ฌ์ด
๋ฆฌ๋๊ธฐ๊ฐ ๋ํ๋๋ฉด ๊นจ์ด๋ ์๋ฆผ์ ์ธ๋ฆฝ๋๋ค.
6. ์ ์ฅ๋ ๋ชจ๋ ํญ๋ชฉ์ **Logbook**์์ ํ์์คํฌํ์ ํจ๊ป ํ์ธํ์ธ์ โ ๋๋ SD ์นด๋์์ `logbook.csv`๋ฅผ ๊บผ๋ด
์คํ๋ ๋์ํธ๋ก ๊ฐ์ ธ์ค์ธ์.
> ๐ก ๋จผ์ ์ ์ ๋์์ด ํ์ธ๋ ๋ฆฌ๋๊ธฐ๋ฅผ ์ค์ํด ๋ณด์ธ์ (NFC๋ฅผ ์ผ ์์ ์ ํด๋ํฐ์ด๋ ์ ๋ขฐํ ์ ์๋ ๋น์ ์ด ๋จ๋ง๊ธฐ).
> ๊ทธ๋ฌ๋ฉด ๋ฏธํฐ์์ ๊ฐํ๊ณ ์ ์์ ์ธ ํ๋๊ฐ ์ด๋ป๊ฒ ๋ณด์ด๋์ง, ๊ทธ๋ฆฌ๊ณ ์ง๋ฌธ์ด ์ด๋ป๊ฒ ์ฝํ๋์ง ์ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์
> ํ์์ ์์ํ์ธ์.
### ์ปจํธ๋กค
| ํ๋ฉด | ํค | ๋์ |
|---|---|---|
| **Sweep** | `OK` | ํผํฌ / ์ ์ด ์ด๊ธฐํ |
| | `hold OK` | ํ์ฌ ์ธก์ ๊ฐ ๊ธฐ๋ก |
| | `LEFT` | ๋
ธ์ด์ฆ ํ๋ก์ด ๋ณด์ (3์ด) |
| **Fingerprint** | `OK` | ํ์ง ๊ฒฐ๊ณผ๋ฅผ ๋ก๊ทธ๋ถ์ ์ ์ฅ |
| | `hold OK` | ์ธก์ ๋ค์ ์์ |
| **Site Survey** | `OK` | ์๋ฒ ์ด ๋ค์ ์คํ |
| **Watch Mode** | `OK` | ์ฌ๋ฌด์ฅ (์นด์ดํธ์ ํ์ด๋จธ ์ด๊ธฐํ) |
| *์ด๋์๋* | `BACK` | ํ ๋จ๊ณ ์๋ก |
---
## ๐ฌ ์์งํ ํ๊ณ
- **13.56MHz(HF) ์ ์ฉ.** Specter๋ **NFC ๋์ญ**์ ๊ฐ์งํฉ๋๋ค โ ๋น์ ์ด ๊ฒฐ์ ์คํค๋จธ,
๋๋ถ๋ถ์ ์ต์ ์ถ์
ํต์ ๋ฆฌ๋๊ธฐ, ๊ตํตยทํธํ
๋ฆฌ๋๊ธฐ๊ฐ ์ฌ์ฉํ๋ ๋์ญ์
๋๋ค. **125kHz(LF)** ๋ฆฌ๋๊ธฐ๋ ๋ณผ ์ **์์ต๋๋ค**
(๊ตฌํ HID Prox / EM4100 ์ถ์
๋ฌธ ํจ๋). Flipper์ LF ๊ฒฝ๋ก์๋ ์ด์ ์์ํ๋ ํ๋ ๊ฐ์ง ๋นํธ๊ฐ ์์ต๋๋ค.
- **๋ฆฌ๋๊ธฐ๊ฐ ์ฝ๋ ๋ด์ฉ์ด ์๋๋ผ ๋ฆฌ๋๊ธฐ์ *์บ๋ฆฌ์ด*๋ฅผ ๊ฐ์งํฉ๋๋ค.** Specter๋ *ํ์ฑ ๋ฆฌ๋๊ธฐ๊ฐ ์ฌ๊ธฐ ์๊ณ ,
๋๋ต ์ผ๋ง๋ ๊ฐ๊น์ด์ง, ์ด๋ค ์ฃผ๊ธฐ๋ก ํด๋งํ๋์ง*๋ฅผ ์๋ ค์ค๋๋ค โ ๋ฆฌ๋๊ธฐ๊ฐ ์ํํ๋ ์ด๋ค ๊ฒ๋ ๋์ฝ๋ฉ, ์๋ณ, ์บก์ฒํ์ง ์์ต๋๋ค.
- **๊ฐ๋๋ ์๋์ ์ด๋ฉฐ ๋ณด์ ๋์ง ์์์ต๋๋ค.** `FIELD %`์ ๊ทผ์ ๋ ํํ์ ๋น๊ต์ "๊ฐ๊น์ /
๋ฉ์ด์ง" ๊ฐ์ด๋์ด์ง, cm ๋จ์๋ก ์ธก์ ๋ ๊ฑฐ๋ฆฌ๊ฐ ์๋๋๋ค. ์ผ๋ฐ์ ์ธ ํด๋ง ๋์ญ ๋๋น ์บ๋ฆฌ์ด
๋ํฐ ์ฌ์ดํด์ *์ค์ผ์ผ*๋ก ๋ํ๋ธ ๊ฐ์
๋๋ค ([๋ฏธํฐ ์ฝ๊ธฐ](#-reading-the-meter--fixed-in-23) ์ฐธ์กฐ).
ํด๋ง ์ฃผ๊ธฐ๊ฐ ๋น์ ์์ ์ผ๋ก ๋๋ฌธ ๋ฆฌ๋๊ธฐ๋ ๊ฐ์ ๊ฑฐ๋ฆฌ์์ ๋ ๋ฎ๊ฒ ํ์๋๊ณ , ์ฐ์ํ ๋ชจ๋์
๋ฆฌ๋๊ธฐ๋ ๋ ๋ฉ๋ฆฌ์๋ ์ต๋์น๋ฅผ ์ฐ์ต๋๋ค.
- **๋ฏธํฐ๋ ์ต๋์น๊น์ง ์ฌ๋ผ๊ฐ๋๋ค.** `MAX`๋ ์บ๋ฆฌ์ด๊ฐ ์ด ๋ฆฌ๋๊ธฐ๊ฐ ์ ์งํ ์ ์๋ ์ต๋ ์์ค๊น์ง ์ฌ๋ผ๊ฐ๋ค๋ ๋ป์
๋๋ค โ
๊ทธ ์ง์ ์ ์ง๋๋ฉด ๋ ๊ฐ๊น์ด ๋ค๊ฐ๊ฐ๋ ๋ ํฐ ์ซ์๊ฐ ๋์ค์ง ์์ต๋๋ค. ์์น๋ฅผ ๋น๊ตํ๋ ค๋ฉด `PK` ํผํฌ ํ๋๋ฅผ
๋์ ์ฌ์ฉํ์ธ์.
- **์ฃผ๊ธฐ ํด์๋๋ ์ฝ 2ms์
๋๋ค.** ์ด๊ฒ์ด ์ํ๋ง ์ฃผ๊ธฐ์
๋๋ค. ์ด์ ๊ฐ๊น์ด ํ์ด๋ฐ์
**`~`** ๋ก ํ์๋๋ฉฐ ์ ๋ขฐ๋๋ ๊ทธ์ ๋ฐ๋ผ ํ ์ธ๋ฉ๋๋ค. Specter๋ ๋ณด์ฆํ ์ ์๋ ์ ๋ฐํด ๋ณด์ด๋ ์ซ์๋ฅผ
์ ์ํ๊ธฐ๋ณด๋ค ์์ ์ ํด์๋ ํํ์ ์ค์ค๋ก ํ์ํ๋ ์ชฝ์ ์ ํํฉ๋๋ค.
- **`CLEAN`์ ์ ํํ ๊ฐ๋์์ ๊นจ๋ํ๋ค๋ ๋ป์
๋๋ค.** ์ค์ ์ ์ดํ ๋๋ง ๊นจ์ด๋๋ ํด๋ฉด ์คํค๋จธ๋
์ฐจํ๋ ์คํค๋จธ๋ *์ด๋ค* ์๊ณ๊ฐ์์๋ ๋ณด์ด์ง ์์ต๋๋ค. ์ธก์ ๊ฐ์ด ์๋ค๊ณ ํด์ ์ค์ ๋ก ์๋ค๋ ๋ณด์ฅ์ ์๋๋๋ค.
- **ํ ๋ฒ์ ํ๋์ ๋ผ๋์ค๋ง ์ฌ์ฉํฉ๋๋ค.** Specter๋ ์ค์ํ๋ ๋์ NFC ์นฉ์ ์ ์ ํ๋ฏ๋ก ๋ค๋ฅธ NFC ์ฑ์ ๋จผ์ ๋ชจ๋ ๋ซ์ผ์ธ์.
(๋ค๋ฅธ ์ฑ์ด ๋ผ๋์ค๋ฅผ ์ ์ ํ๊ณ ์์ผ๋ฉด *NFC๋ฅผ ์ฌ์ฉํ ์ ์์*์ด๋ผ๊ณ ํ์๋ฉ๋๋ค).
---
## โ๏ธ ๋ฒ๋ฅ ๋ฐ ์ค๋ฆฌ
Specter๋ **๋ฐฉ์ด์ฉ, ์ฒญ์ทจ ์ ์ฉ** ๋๊ตฌ์
๋๋ค โ **์ ๋ ์ ์กํ์ง ์์ผ๋ฉฐ**, ํ๋๋ฅผ ์์ฑํ์ง๋ ์๊ณ , ๋ฆฌ๋๊ธฐ๋ฅผ ๋ง์ง์ง๋
์์ต๋๋ค. **์์ ์** POS ์์ญ, ์ถ์
๋ฌธ, ์ฑ
์, ์์งํ ๋๋ ๋ช
์์ ์ผ๋ก ํ๊ฐํ ๊ถํ์ด ์๋ ํ๋์จ์ด๋ฅผ
์ค์ํ๋ ๋ฐ ์ฌ์ฉํ์ธ์. ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์ฑ
์์ ๋น์ ์๊ฒ ์์ต๋๋ค. ํ์ง ๋ฒ๋ฅ ์ ์์งํ์ธ์.
---
## ๐บ๏ธ ๋ก๋๋งต
- [x] ์ฌ๋ถํ
ํ์๋ ๊ฐ๋ / ์ฌ์ด๋ / ์ง๋ / LED ์ค์ ์ ์ง
- [x] SD ์นด๋์ ํ์์คํฌํ์ ํจ๊ป ํ์ง "๋ก๊ทธ๋ถ" ์ ์ฅ
- [x] ํ๋ฉด์ ๋ ์ํ์์์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค์ โ *์คํ
์ค ๋ชจ๋*
- [x] ๋ ์ธ๋ฐํ ๋ฒ์ ์ ์ด๋ฅผ ์ํ ์กฐ์ ๊ฐ๋ฅํ ์๊ณ๊ฐ โ *์๋ ๋ณด์ + ์ฌ์ฉ์ ๊ฐ๋*
- [x] ํด๋ง ์ฃผ๊ธฐ๋ก ์ด๋ฏธํฐ ์ง๋ฌธ ์๋ณ
- [x] ๊ณต๊ฐ ํ์ ์ ๋ด๋ฆฌ๋ ํ์ด๋จธ ๊ธฐ๋ฐ ์ฌ์ดํธ ์๋ฒ ์ด
- [x] ๋ณด๊ณ ์ฉ ๋ก๊ทธ๋ถ CSV ๋ด๋ณด๋ด๊ธฐ โ *.txt์ ํจ๊ป ์ค์๊ฐ์ผ๋ก ๊ธฐ๋ก๋จ*
- [x] ํ์ง ์ ๊นจ์ด๋๋ ์๋์ด ์๋ ์ฅ๊ธฐ ๋ฌด์ธ ๊ฐ์ ๋ชจ๋
- [x] ์ค์ ํด๋ง ๋ฆฌ๋๊ธฐ์ ๋ํด ๋ฏธํฐ๊ฐ ์ ์ฒด ๋ฒ์๋ฅผ ์ฌ์ฉํ๋๋ก ๊ฐ์
- [x] ํ์ ์ค ๊ฐ๊น์/๋ฉ์ด์ง ์ถ์ธ ํ์ดํ
- [ ] LF(125kHz) ์ฝ์ผ ๊ธฐ๋ฐ ๋ฆฌ๋๊ธฐ ๊ฐ์ง๋ฅผ ๋ณ๋ ๋ชจ๋๋ก ์กฐ์ฌ
- [ ] ๊ธฐ๊ธฐ ๋ด ๋ก๊ทธ๋ถ ์ ํ ํํฐ๋ง
---
## ๐๏ธ ํ๋ก์ ํธ ๊ตฌ์กฐ```
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
โ โโโ present_hold.h # pure: debounce presence across poll gaps
โ โโโ 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 ๋์ด์ค / ์ด๋ธ ํธ์ ๊ฐ์), GhostTag (BLE ์ํฐ ์คํ ํน ํํฐ), Cerberus (Sub-GHz RF ๊ฐ์).
- Flipper Zero ํ์จ์ด NFC HAL(
furi_hal_nfcํ๋ ๊ฐ์ง) ๋ฐ ufbt ๊ธฐ๋ฐ.
๐ ๋ผ์ด์ ์ค
MIT ยฉ 2026 at0m-b0mb