์—…๋ฐ์ดํŠธ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
New releaseSep 3, 2026

Specter-FlipperZero v2.8

๐Ÿ‘ป Specter โ€” Flipper Zero์šฉ ์ˆ˜๋™ 13.56MHz NFC ๋ฆฌ๋”/์Šคํ‚ค๋จธ ๋„์ฒญ ํƒ์ง€. ๋‚ด์žฅ NFC ์นฉ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€๊ฐ์ฒญ EMF ๋ฏธํ„ฐ. ์ถ”๊ฐ€ ํ•˜๋“œ์›จ์–ด ๋ถˆํ•„์š”.

๊ณต์œ 

Specter โ€” Flipper Zero์šฉ NFC ๋ฆฌ๋” ๋ฐ ์Šคํ‚ค๋จธ ๋ฒ„๊ทธ ์Šค์œ•

Specter ๐Ÿ‘ป

๋ณด์ด์ง€ ์•Š๋Š” ๋ฆฌ๋”๋ฅผ ์ฐพ์•„๋‚ด์„ธ์š”.

Latest release Downloads Stars Build

Flipper Zero Onboard NFC No extra hardware Listen-only MIT

Specter๋Š” Flipper Zero๋ฅผ ํ™œ์„ฑ 13.56 MHz NFC ๋ฆฌ๋”๋ฅผ ์œ„ํ•œ ์ฃผ๋จธ๋‹ˆ ์† ๋Œ€(ๅฐ)๊ฐ์‹œ ๋ฒ„๊ทธ ์Šค์œ• ๋„๊ตฌ๋กœ ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค. ์ „์›์ด ์ผœ์ง„ ๋ฆฌ๋”๊ฐ€ ๋Š์ž„์—†์ด ๋ฐฉ์ถœํ•˜๋Š” RF ํ•„๋“œ๋ฅผ ์ˆ˜๋™์ ์œผ๋กœ ์ฒญ์ทจํ•ฉ๋‹ˆ๋‹ค โ€” ๊ฒฐ์ œ ๋‹จ๋ง๊ธฐ์— ๋ชฐ๋ž˜ ๋ผ์›Œ ๋„ฃ์€ ์นด๋“œ ์Šคํ‚ค๋จธ, ๋„์–ด ํŒจ๋„ ๋’ค์— ์ˆจ๊ธด ์€๋ฐ€ํ•œ ๋ฆฌ๋”, ์ฑ…์ƒ ๋ฐ‘์— ํ…Œ์ดํ”„๋กœ ๋ถ™์—ฌ๋‘” ๋ถˆ๋ฒ• ๋กœ๊ฑฐ โ€” ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์ด ์–ด๋””์— ์žˆ๋Š”์ง€, ์–ด๋–ค ์ข…๋ฅ˜์ธ์ง€, ๋ฐฉ์ด ๊นจ๋—ํ•œ์ง€, ๊ทธ๋ฆฌ๊ณ  ๊ฐ์‹œ ๋ชจ๋“œ๋กœ ์ผœ๋‘๋ฉด ์ž๋ฆฌ๋ฅผ ๋น„์šด ์‚ฌ์ด์— ๊ทธ๊ฒƒ์ด ๋‚˜ํƒ€๋‚œ ์ˆœ๊ฐ„์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์ ˆ๋Œ€ ์†ก์‹ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฆฌ๋”๋Š” ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Specter๊ฐ€ ๊ทธ๊ฒƒ์„ ๋ณด์ด๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์†Œ๊ฐœ๋œ ๋งค์ฒด
Help Net Security ย ยทย  Cyber Security News


๐Ÿ“Ÿ Flipper์—์„œ

Specter ์‚ฌ์šฉ ๋ชจ์Šต: ์กฐ์šฉํ•œ ๋ฐฉ์„ ์Šค์œ•ํ•˜๊ณ , ๋ฆฌ๋”์— ์ ‘๊ทผํ•˜๊ณ , MAX์—์„œ ๊ณ ์ •ํ•œ ๋’ค, ํด๋ง ์ฃผ๊ธฐ๋ฅผ ํ•‘๊ฑฐํ”„๋ฆฐํŒ…ํ•˜๊ณ , ์‚ฌ์ดํŠธ ์„œ๋ฒ ์ด ํŒ์ •์„ ๋‚ด๋ฆฌ๋Š” ๋ชจ์Šต

์Šค์œ•์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€: ์กฐ์šฉํ•œ ๋ฐฉ โ†’ ์ ‘๊ทผ โ†’ ๊ณ ์ • โ†’ ๋ฌด์—‡์ธ์ง€ โ†’ ๋ฐฉ์˜ ํŒ์ •.

Specter ํ™”๋ฉด๋“ค

Sweep (์กฐ์šฉํ•จ) ย ยทย  Sweep (๋ฆฌ๋” ๊ณ ์ •๋จ) ย ยทย  Fingerprint ย ยทย  Survey (์‹คํ–‰ ์ค‘) ย ยทย  Survey (ํŒ์ •)
Watch (์ด์ƒ ์—†์Œ) ย ยทย  Watch (๋ฆฌ๋” ๋ฐœ๊ฒฌ!) ย ยทย  Logbook ย ยทย  Calibrate ย ยทย  Settings


โœจ ๋‹ค์„ฏ ๊ฐ€์ง€ ๋ชจ๋“œ

Specter๋Š” ํ•˜๋‚˜์˜ ์„ผ์„œ๋ฅผ ๋‘˜๋Ÿฌ์‹ผ ๋‹ค์„ฏ ๊ฐ€์ง€ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๊ฐ๊ฐ ๋‹ค๋ฅธ ์งˆ๋ฌธ์— ๋‹ตํ•˜๋ฏ€๋กœ, ์‹ค์ œ๋กœ ์•Œ์•„๋‚ด๋ ค๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€์— ๋”ฐ๋ผ ์•Œ๋งž์€ ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค:

๋ชจ๋“œ๋‹ตํ•˜๋Š” ์งˆ๋ฌธ์‚ฌ์šฉ ์‹œ์ 
๐Ÿ” Sweep์–ด๋””์— ์žˆ๋Š”๊ฐ€?๊ธฐ๊ธฐ๊ฐ€ ์˜์‹ฌ๋˜์–ด ๋Œ์•„๋‹ค๋‹ˆ๋ฉฐ ์œ„์น˜๋ฅผ ์ •ํ™•ํžˆ ์ฐพ๊ณ  ์‹ถ์„ ๋•Œ
๐Ÿ”ฌ Fingerprint์–ด๋–ค ์ข…๋ฅ˜์ธ๊ฐ€?๋ฐœ์‹ ์›์„ ์ฐพ์•˜๊ณ  ๊ทธ ๋™์ž‘ ๋ฐฉ์‹์„ ์•Œ๊ณ  ์‹ถ์„ ๋•Œ
๐Ÿ—บ๏ธ Site Survey์ด ๋ฐฉ์€ ๊นจ๋—ํ•œ๊ฐ€?๊ณต๊ฐ„ ์ „์ฒด์— ๋Œ€ํ•œ ํŒ์ •์„ ์† ๋Œ€์ง€ ์•Š๊ณ  ํ•œ ๋ฒˆ์— ์–ป๊ณ  ์‹ถ์„ ๋•Œ
๐Ÿ›ฐ๏ธ Watch Mode๋‚ด๊ฐ€ ์—†๋Š” ์‚ฌ์ด์— ๋‚˜ํƒ€๋‚ฌ๋Š”๊ฐ€?Flipper๋ฅผ ์–ด๋”˜๊ฐ€์— ๋‘๊ณ  ๊ฐ์‹œํ•˜๊ฒŒ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ
๐Ÿ“– Logbook๋ฌด์—‡์„, ์–ธ์ œ ์ฐพ์•˜๋Š”๊ฐ€?๊ธฐ๋ก์„ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ์˜ค๋Š˜๊ณผ ์ง€๋‚œ์ฃผ๋ฅผ ๋น„๊ตํ•  ๋•Œ โ€” ๋ฐœ๊ฒฌ ์œ ํ˜•๋ณ„ ํ•„ํ„ฐ๋ง

๐Ÿ” Sweep โ€” ์–ด๋””์— ์žˆ๋Š”๊ฐ€?

Sweep โ€” ๋ฆฌ๋” ๋ฐœ๊ฒฌ, ๋ฏธํ„ฐ ์ตœ๋Œ€์น˜

ํ•˜๋Š” ์ผ. ์‹ค์‹œ๊ฐ„ EMF ์Šคํƒ€์ผ ๋ฏธํ„ฐ์ž…๋‹ˆ๋‹ค. Flipper๋ฅผ ํ‰ํ‰ํ•˜๊ฒŒ ๋“ค๊ณ  ํ™•์ธํ•˜๋ ค๋Š” ๋Œ€์ƒ โ€” ์นด๋“œ ๋‹จ๋ง๊ธฐ, ๋„์–ด ๋ฆฌ๋”, ATM ์ž…๊ตฌ ์•„๋ž˜์ชฝ, ํƒ๋ฐฐ ์ƒ์ž, ์ฑ…์ƒ โ€” ์œ„๋กœ ์ฒœ์ฒœํžˆ ์›€์ง์ด์„ธ์š”. ๋ฐ”๋Š˜์ด ํ•„๋“œ ์„ธ๊ธฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋”ฐ๋ผ๊ฐ‘๋‹ˆ๋‹ค.

๋ณด์ด๋Š” ๊ฒƒ.

  • ๋‹ค์ด์–ผ โ€” ๋ฐ”๋Š˜ = ์‹ค์‹œ๊ฐ„ ์ธก์ •๊ฐ’, ์ž‘์€ ์  = ํ”ผํฌ ํ™€๋“œ (์ง€๊ธˆ๊นŒ์ง€ ๋‹ฟ์€ ๊ฐ€์žฅ ๊ฐ•ํ•œ ์ง€์ ์ด๋ฏ€๋กœ ์œ„์น˜๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).
  • FIELD % โ€” ๊ฐ™์€ ์ธก์ •๊ฐ’์„ ์ˆซ์ž๋กœ ํ‘œ์‹œํ•˜๋ฉฐ, โ–ฒ / โ–ผ ์ถ”์„ธ ํ™”์‚ดํ‘œ๊ฐ€ ์ง€๋‚œ 0.5์ดˆ ๋™์•ˆ ์ƒํ™ฉ์ด ๋œจ๊ฑฐ์›Œ์กŒ๋Š”์ง€ ์ฐจ๊ฐ€์›Œ์กŒ๋Š”์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์ถ”์  ์ค‘์—๋Š” ์ด ํ™”์‚ดํ‘œ๊ฐ€ ์ˆซ์ž๋ณด๋‹ค ๋” ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
  • PK / C โ€” ํ”ผํฌ ์ธก์ •๊ฐ’๊ณผ ์ง€๊ธˆ๊นŒ์ง€ ์ ‘์ด‰ํ•œ ํšŸ์ˆ˜.
  • ํ•˜๋‹จ ์ŠคํŠธ๋ฆฝ โ€” ์กฐ์šฉํ•  ๋•Œ๋Š” ์‹ค์‹œ๊ฐ„ ํŒŒํ˜•๊ณผ ํ˜„์žฌ ๊ฐ๋„; ์บ๋ฆฌ์–ด๊ฐ€ ๊ฐ์ง€๋˜๋Š” ์ˆœ๊ฐ„ ๊ฒ€์€์ƒ‰ โ— ACTIVE READER ๊ฒฝ๋ณด ๋ฐ”๋กœ ๋ฐ”๋€Œ๋ฉฐ ๊ทผ์ ‘๋„ ๋‹จ์–ด๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ๊ทผ์ ‘๋„ โ€” FAINT โ†’ NEAR โ†’ CLOSE โ†’ STRONG โ†’ MAX. MAX๋Š” ๋ฏธํ„ฐ๊ฐ€ ์ตœ๋Œ€์น˜์— ๋„๋‹ฌํ–ˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค: ์ด ์ธก์ •์ด ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ๊ณ„๊นŒ์ง€ ๊ฐ€๊นŒ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์†Œ๋ฆฌ. ์„ ํƒ์  ๊ฐ€์ด๊ฑฐ ํด๋ฆญ์Œ์ด ๊ฐ€๊นŒ์›Œ์งˆ์ˆ˜๋ก ๋นจ๋ผ์ ธ์„œ, Flipper๋ฅผ ์ฃผ๋จธ๋‹ˆ์— ๋„ฃ์€ ์ฑ„ ๊ท€๋กœ๋งŒ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‚ค๋™์ž‘
OKํ”ผํฌ ํ™€๋“œ์™€ ์ ‘์ด‰ ํšŸ์ˆ˜ ์ดˆ๊ธฐํ™”
hold OK์ด ์ธก์ •๊ฐ’์„ ๋กœ๊ทธ๋ถ์— ์ €์žฅ
LEFT๋ฐฉ์˜ ๋…ธ์ด์ฆˆ ํ”Œ๋กœ์–ด๋กœ ๋ณด์ • (3์ดˆ)

๐Ÿ”ฌ Fingerprint โ€” ์–ด๋–ค ์ข…๋ฅ˜์ธ๊ฐ€?

Fingerprint โ€” ํด๋ง ๋ฆฌ๋” ์‹๋ณ„๋จ

ํ•˜๋Š” ์ผ. Sweep์ด ๋ฌด์–ธ๊ฐ€๋ฅผ ์ฐพ์•˜๋‹ค๋ฉด, Flipper๋ฅผ ๊ทธ๊ฒƒ์— ์›€์ง์ด์ง€ ์•Š๊ณ  ๋Œ€๊ณ  ์žˆ์œผ์„ธ์š”. Fingerprint๋Š” ๊ทผ์ ‘๋„ ์ธก์ •์„ ๋ฉˆ์ถ”๊ณ  ์บ๋ฆฌ์–ด์˜ on/off ์—์ง€ ํƒ€์ด๋ฐ์„ ์ธก์ •ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋Š”๋ฐ, ์ด๊ฒƒ์ด ๋ฐ”๋กœ ํ•œ ์ข…๋ฅ˜์˜ ๋ฐœ์‹ ์›์„ ๋‹ค๋ฅธ ๊ฒƒ๊ณผ ์‹ค์ œ๋กœ ๊ตฌ๋ถ„ํ•ด ์ฃผ๋Š” ์š”์†Œ์ž…๋‹ˆ๋‹ค.

๋ณด์ด๋Š” ๊ฒƒ. ํŒ์ •, ์‹ ๋ขฐ๋„ ๋ฐ”, ๊ทธ๋ฆฌ๊ณ  ๋‘˜์˜ ๊ทผ๊ฑฐ:

๋ถ„๋ฅ˜์‹ค์ œ ์˜๋ฏธ
CONTINUOUS์บ๋ฆฌ์–ด๊ฐ€ ์˜๊ตฌ์ ์œผ๋กœ ์œ ์ง€๋จ
POLLING๊ณ ์ •๋œ, ์ˆ˜์ • ๋ฐœ์ง„๊ธฐ ํƒ€์ด๋ฐ์˜ ํด๋ง ์ฃผ๊ธฐ โ€” ์ฃผ๊ธฐ๊ฐ€ ms ๋‹จ์œ„๋กœ ํ‘œ์‹œ๋จ
INTERMITTENT๋ฒ„์ŠคํŠธํ˜•์ด์ง€๋งŒ ๋ถˆ๊ทœ์น™ํ•จ โ€” ํ”ํžˆ ํœด๋Œ€ํฐ์ด๋‚˜ ์‚ฌ์šฉ ์ค‘์ธ ๋ฆฌ๋”

์•„๋ž˜์—๋Š” PER (ํด๋ง ์ฃผ๊ธฐ), BST (๋ฒ„์ŠคํŠธ ํญ), JIT (์ง€ํ„ฐ), DUTY (์‹ค์ œ ๋“€ํ‹ฐ ์‚ฌ์ดํด)๊ฐ€ ์žˆ๊ณ , ์›์‹œ ์บ๋ฆฌ์–ด์˜ ๋กœ์ง ์• ๋„๋ผ์ด์ € ํŽ„์Šค ํŠธ๋ ˆ์ธ๋„ ์žˆ์–ด์„œ ํŒ์ •์„ ๊ทธ๋ƒฅ ๋ฏฟ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ง„์งœ ํด๋ง ๋ฆฌ๋”๋Š” ํ‹€๋ฆผ์—†๋Š” ๊ตฌํ˜•ํŒŒ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

ํƒ€์ด๋ฐ ์•ž์˜ ~๋Š” 2 ms ์ƒ˜ํ”Œ๋ง ํ•˜ํ•œ์— ๊ฐ€๊น๋‹ค๋Š” ๋œป์ด๋ฉฐ, ์‹ ๋ขฐ๋„๋Š” ๊ทธ์— ๋งž๊ฒŒ ๋‚ฎ์ถฐ์ง‘๋‹ˆ๋‹ค.

ํ‚ค๋™์ž‘
OK๋ฐœ๊ฒฌ ๋‚ด์šฉ์„ ๋กœ๊ทธ๋ถ์— ์ €์žฅ
hold OK์ธก์ • ์žฌ์‹œ์ž‘

๐Ÿ—บ๏ธ Site Survey โ€” ์ด ๋ฐฉ์€ ๊นจ๋—ํ•œ๊ฐ€?

Site Survey โ€” ํŒ์ •

ํ•˜๋Š” ์ผ. ๊ณต๊ฐ„ ์ „์ฒด์— ๋Œ€ํ•œ ์‹œ๊ฐ„ ์ œํ•œ ์Šค์œ•์ž…๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๊ณ  ๋ฐฉ์„ ํ‰์†Œ์ฒ˜๋Ÿผ ๊ฑธ์–ด ๋‹ค๋‹ˆ๋ฉด ๋๋‚  ๋•Œ ํ•˜๋‚˜์˜ ํŒ์ •์„ ๋ฐ›์Šต๋‹ˆ๋‹ค โ€” ๋ฐ”๋Š˜์„ ์ง€์ผœ๋ณผ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋ณด์ด๋Š” ๊ฒƒ. ์‹คํ–‰ ์ค‘์—๋Š” ์นด์šดํŠธ๋‹ค์šด๊ณผ ์ง„ํ–‰ ๋ฐ”๊ฐ€ ํ‘œ์‹œ๋˜๊ณ , ๊ทธ๋‹ค์Œ ํŒ์ • ์นด๋“œ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค:

  • CLEAN โ€” ๋…ธ์ด์ฆˆ ํ”Œ๋กœ์–ด๋ฅผ ๋„˜์€ ๊ฒƒ์ด ์—†์Œ
  • TRACE โ€” ์งง๊ฑฐ๋‚˜ ํฌ๋ฏธํ•œ ๊ฐ์ง€; ๋” ๋А๋ฆฐ 2์ฐจ ํŒจ์Šค๊ฐ€ ํ•„์š”ํ•จ
  • ACTIVE READER โ€” ๋ฌด์–ธ๊ฐ€ ์‹ค์ œ๋กœ ์ผœ์ ธ์„œ ๋ฐฉ์ถœํ•˜๊ณ  ์žˆ์—ˆ์Œ

โ€ฆMAX / AVG ํ•„๋“œ, ์ ‘์ด‰ ํšŸ์ˆ˜, FIELD % โ€” ์„œ๋ฒ ์ด ์ค‘ ์บ๋ฆฌ์–ด๊ฐ€ ์‹ค์ œ๋กœ ์ผœ์ ธ ์žˆ๋˜ ๋น„์œจ โ€” ์ด ํ•จ๊ป˜ ํ‘œ์‹œ๋˜๋ฉฐ, ์ด๋Š” ์ข…์ข… ๋„ค ์ˆ˜์น˜ ์ค‘ ๊ฐ€์žฅ ๋งŽ์€ ๊ฒƒ์„ ๋งํ•ด์ค๋‹ˆ๋‹ค. 30์ดˆ, 60์ดˆ ๋˜๋Š” 2๋ถ„ ๋™์•ˆ ์‹คํ–‰๋˜๋ฉฐ ๊ฒฐ๊ณผ๋ฅผ ์ž๋™์œผ๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

ํ‚ค๋™์ž‘
OK์„œ๋ฒ ์ด ๋‹ค์‹œ ์‹คํ–‰

๐Ÿ›ฐ๏ธ Watch Mode โ€” ๋‚ด๊ฐ€ ์—†๋Š” ์‚ฌ์ด์— ๋‚˜ํƒ€๋‚ฌ๋Š”๊ฐ€?

Watch Mode โ€” ๋ฆฌ๋” ์กด์žฌ

ํ•˜๋Š” ์ผ. ๋ฌด๊ธฐํ•œ ๊ฐ์‹œํ•ฉ๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”ํ•˜๊ณ  Flipper๋ฅผ ๋‚ด๋ ค๋†“๊ณ  ์ž๋ฆฌ๋ฅผ ๋น„์šฐ์„ธ์š”. 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/์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๋ฐ์ดํ„ฐ๋„ ๊ธฐ๊ธฐ ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Settings โ†’ Clear logbook์—์„œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋จผ์ € ํ™•์ธ์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค โ€” ์ด ์•ฑ์ด ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋˜๋Œ๋ฆด ์ˆ˜ ์—†๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค).


โš™๏ธ ์ง€์› ๊ธฐ๋Šฅ

๐ŸŽฏ ์ž๋™ ๋ณด์ •

Sweep ํ™”๋ฉด์—์„œ LEFT๋ฅผ ๋ˆ„๋ฅด๋ฉด Specter๊ฐ€ 3์ดˆ ๋™์•ˆ ์ฃผ๋ณ€ ๋…ธ์ด์ฆˆ ํ”Œ๋กœ์–ด๋ฅผ ์ฒญ์ทจํ•œ ํ›„, ์ธก์ •๋œ ๊ฐ’ ๋ฐ”๋กœ ์œ„๋กœ ํƒ์ง€ ์ž„๊ณ„๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค โ€” ์ด๋Š” Custom ๊ฐ๋„๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ณต๊ฐ„์€ ์„œ๋กœ ๋‹ค๋ฅธ RF ํ”Œ๋กœ์–ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ๋นŒ๋“œ ์‹œ์ ์— ์ •ํ•ด์ง„ ๊ฐ’ ๋Œ€์‹  ํ˜„์žฌ ์„œ ์žˆ๋Š” ๊ณต๊ฐ„์— ๋งž๊ฒŒ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ํ•  ๋•Œ๋Š” ์กฐ์šฉํ•œ ๊ณณ์— ์„œ์‹ญ์‹œ์˜ค.

๐Ÿ•ถ๏ธ ์Šคํ…”์Šค ๋ชจ๋“œ

์ „์ฒด ์Šค์œ„ํ”„ ๋™์•ˆ ํ™”๋ฉด๊ณผ LED๋ฅผ ์–ด๋‘ก๊ฒŒ ์œ ์ง€ํ•˜์—ฌ, ๋‹น์‹ ์ด ๊ด€์ฐฐํ•˜๋Š” ์ž…์žฅ์ผ ๋•Œ Flipper๊ฐ€ ๋น›๋‚˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์†Œ๋ฆฌ์™€ ์ง„๋™์€ ๊ณ„์† ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค โ€” ์š”์ ์€ ์Šค์œ„ํ”„์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋„๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์Šคํ…”์Šค ํ™”๋ฉด์„ ๋‚˜๊ฐ€๋ฉด ๋””์Šคํ”Œ๋ ˆ์ด๊ฐ€ ๋‹ค์‹œ ์ผœ์ง€๋ฏ€๋กœ, BACK์€ ํ•ญ์ƒ ๋ฐ์€ ๋ฉ”๋‰ด๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.

๐Ÿ“ ๋ฏธํ„ฐ ์ฝ๊ธฐ

๋งŒ์ง€๊ณ  ์žˆ๋Š” ๋ฆฌ๋”๊ฐ€ ํ•ญ์ƒ 100%๋ฅผ ๋ฐฉ์ถœํ•˜์ง€ ์•Š๋Š” ์ด์œ . ์ด ํƒ์ง€๊ธฐ๋Š” ํ•œ ๊ฐ€์ง€ ๋ฌผ๋ฆฌ์  ์‚ฌ์‹ค๋งŒ์„ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค: 13.56 MHz ๋ฐ˜์†กํŒŒ๊ฐ€ ์ผœ์ ธ ์žˆ๋Š” ์‹œ๊ฐ„์˜ ๋น„์œจ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฆฌ๋”๋Š” ํด๋งํ•ฉ๋‹ˆ๋‹ค โ€” ์งง์€ ๋ฒ„์ŠคํŠธ, ํœด์‹, ๋˜ ๋‹ค๋ฅธ ๋ฒ„์ŠคํŠธ. ์ผ๋ฐ˜์ ์ธ ๋‹จ๋ง๊ธฐ๋Š” ์‹œ๊ฐ„์˜ 20โ€“35%๋งŒ ๋ฐฉ์‚ฌํ•˜๋ฏ€๋กœ, ์›์‹œ ๋“€ํ‹ฐ ์‚ฌ์ดํด์€ ์•„๋ฌด๋ฆฌ ๊ฐ€๊นŒ์ด ๊ฐ€๋„ ์•ฝ 30%์—์„œ ํฌํ™”๋ฉ๋‹ˆ๋‹ค.

๊ทธ ์›์‹œ ์ˆ˜์น˜๋ฅผ ๊ฒŒ์ด์ง€์— ํ‘œ์‹œํ•˜๋ฉด ์™„๋ฒฝํ•œ ํƒ์ง€๊ฐ€ 3๋ถ„์˜ 1์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ๋ฏธํ„ฐ๋Š” ์‹ค์ œ ํด๋ง ๋Œ€์—ญ์„ ๊ธฐ์ค€์œผ๋กœ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค:

์›์‹œ ๋ฐ˜์†กํŒŒ ๋“€ํ‹ฐ๋ฏธํ„ฐ๊ทผ์ ‘๋„
3% (๊ณต๊ฐ„ ๋…ธ์ด์ฆˆ)10%FAINT
12%40%NEAR
20%67%CLOSE
28%93%STRONG
โ‰ฅ30% (๋ฆฌ๋” ์œ„์— ๋†“์ธ ์ƒํƒœ)100%MAX

์›์‹œ ๋“€ํ‹ฐ๋Š” ๊ฒฐ์ฝ” ์†์‹ค๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค: ๋…ธ์ด์ฆˆ ํ”Œ๋กœ์–ด, ์ž๋™ ๋ณด์ •, Fingerprint ํ™”๋ฉด์˜ DUTY๋Š” ๋ชจ๋‘ ์‹ค์ œ ๋“€ํ‹ฐ ์‚ฌ์ดํด๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ทธ๊ฒƒ๋“ค์€ ์‹ ํ˜ธ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ด์ง€, ์‹ ํ˜ธ๋กœ๋ถ€ํ„ฐ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ž ๊ทธ๋Œ€๋กœ์˜ ์ˆซ์ž๋ฅผ ์›ํ•˜์‹ญ๋‹ˆ๊นŒ? Settings โ†’ Meter โ†’ Raw.

๐Ÿ’พ ๋ชจ๋“  ๊ฒƒ์ด ์œ ์ง€๋ฉ๋‹ˆ๋‹ค

๊ฐ๋„, ์Šค์œ„ํ”„ ๊ธธ์ด, ์†Œ๋ฆฌ, ์ง„๋™, LED, ์Šคํ…”์Šค, ๋กœ๊น…, ๋ฏธํ„ฐ ๋ชจ๋“œ๋Š” ๋ณ€๊ฒฝํ•˜๋Š” ์ฆ‰์‹œ SD ์นด๋“œ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์„ค์ •์„ ์žŠ์–ด๋ฒ„๋ฆฌ๋Š” ์Šค์œ„ํ”„ ํ‚คํŠธ๋Š” ์•„์˜ˆ ์œ ์ง€ ๊ธฐ๋Šฅ์ด ์—†๋Š” ๊ฒƒ๋ณด๋‹ค ๋‚˜์ฉ๋‹ˆ๋‹ค.


๐Ÿง  ์ž‘๋™ ์›๋ฆฌ

์ „์›์ด ์ผœ์ง„ ๋ชจ๋“  NFC ๋ฆฌ๋”๋Š” ์นด๋“œ๊ฐ€ ๊นจ์–ด๋‚˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋ฉฐ ์ง€์†์ ์œผ๋กœ 13.56 MHz ๋ฐ˜์†กํŒŒ๋กœ ๊ณต๊ธฐ๋ฅผ ํ•‘ํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๋ณผ ์ˆ˜ ์—†์ง€๋งŒ, Flipper์˜ NFC ์นฉ์€ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ST25R3916์—๋Š” ํ•˜๋“œ์›จ์–ด ์™ธ๋ถ€ ํ•„๋“œ ๊ฐ์ง€๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค(Flipper๊ฐ€ ์นด๋“œ๋ฅผ ์—๋ฎฌ๋ ˆ์ดํŠธํ•˜๊ณ  ๋ฆฌ๋”๊ฐ€ ์ž์‹ ๊ณผ ํ†ต์‹ ํ•˜๊ณ  ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋™์ผํ•œ ํšŒ๋กœ). Specter๋Š” ์นฉ์„ ๊ฐ์ง€ ์ „์šฉ ๋ชจ๋“œ๋กœ ๋‘๊ณ  ๊ทธ "ํ•„๋“œ ์กด์žฌ?" ๋น„ํŠธ๋ฅผ ์ดˆ๋‹น ์•ฝ 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 ๋ฐ”๋กœ ์œ„์— ์žˆ๋Š” ๋ฆฌ๋”๋Š” ๋ฏธํ„ฐ๋ฅผ ์ตœ๋Œ€๋กœ ์˜ฌ๋ฆฌ๊ณ , ๋” ์•ฝํ•˜๊ฑฐ๋‚˜ ๋” ๋ฉ€๋ฆฌ ์žˆ๋Š” ๋ฆฌ๋”๋Š” ๋ฏธํ„ฐ๋ฅผ ์‚ด์ง ์›€์ง์ธ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋Š˜, ๊ทผ์ ‘๋„ ๋‹จ์–ด, ํด๋ฆญ ์†๋„๋ฅผ ๊ตฌ๋™ํ•œ๋‹ค.

**์–ด๋–ค ๋ฆฌ๋“ฌ โ†’ ์ •์ฒด์„ฑ.** ๋ณ„๋„๋กœ, ํ•ด๋‹น ๋น„ํŠธ์˜ ๋ชจ๋“  ์ „ํ™˜์— ์‹œ๊ฐ„์ด ์ธก์ •๋œ๋‹ค. 200 ms๋งˆ๋‹ค 20 ms ๋™์•ˆ ๊นจ์–ด๋‚˜๋Š” ๋ฆฌ๋”๋Š” ๊ฑฐ์˜ ์ง€ํ„ฐ๊ฐ€ ์—†๋Š” ๋ฒ„์ŠคํŠธ/๊ฐญ ํŒจํ„ด์„ ์ƒ์„ฑํ•˜๋Š”๋ฐ, ๊ทธ ํด๋ง ๋ฃจํ”„๊ฐ€ ํฌ๋ฆฌ์Šคํ„ธ๋กœ ํƒ€์ด๋ฐ๋œ ์ƒํƒœ ๋จธ์‹ ์— ์˜ํ•ด ๊ตฌ๋™๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์†์˜ ์›€์ง์ž„๊ณผ RF ๋…ธ์ด์ฆˆ๋Š” ๊ทธ๋ ‡๊ฒŒ ์ผ์ •ํ•˜์ง€ ์•Š๋‹ค. ๊ทธ ์ฐจ์ด๊ฐ€ **POLLING**๊ณผ **INTERMITTENT**๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

### ๊ฒฐ์ • ๊ณ„์ธต์€ ์‹ค์ œ ์ปดํ“จํ„ฐ์—์„œ ํ…Œ์ŠคํŠธ๋œ๋‹ค

Specter๊ฐ€ ์ˆซ์ž๋ฅผ *์ฃผ์žฅ*์œผ๋กœ ๋ฐ”๊พธ๋Š” ์ง€์  โ€” "์ด๊ฒƒ์€ ํด๋ง ๋ฆฌ๋”๋‹ค", "์ด ๋ฐฉ์€ ๊นจ๋—ํ•˜๋‹ค", "์ด๊ฒƒ์ด ๋ฐ”๋Š˜์ด ์ฝ์–ด์•ผ ํ•  ๊ฐ’์ด๋‹ค" โ€” ์€ ํ•˜๋“œ์›จ์–ด ์˜์กด์„ฑ์ด ์—†๋Š” ์ˆœ์ˆ˜ C์ด๋ฉฐ, ๊ธฐ๊ธฐ์—์„œ ๋ฐœ๊ฒฌ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ˜ธ์ŠคํŠธ ํ…Œ์ŠคํŠธ์— ์˜ํ•ด ๊ณ ์ •๋œ๋‹ค:```bash
make -C test     # 300 checks: classifier, verdict, meter scaling, presence

๐Ÿš€ ์„ค์น˜

๊ฐœ๋ฐœ ๋ณด๋“œ๋„, ํ”Œ๋ž˜์‹ฑํ•  ํŽŒ์›จ์–ด๋„ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค โ€” ๋‹จ์ผ .fap ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

์˜ต์…˜ A โ€” ๋ฏธ๋ฆฌ ๋นŒ๋“œ๋œ .fap (๊ฐ€์žฅ ์‰ฌ์›€)

  1. Releases ํŽ˜์ด์ง€์—์„œ ์•Œ๋งž์€ .fap์„ ๋ฐ›์œผ์„ธ์š”:

    ์‚ฌ์šฉ ์ค‘์ธ ํŽŒ์›จ์–ดํŒŒ์ผ
    ๊ณต์‹ / stockspecter.fap
    Unleashed, RogueMaster, Momentum ๋˜๋Š” ๊ทธ๋ณด๋‹ค ์ตœ์‹ specter-fw-dev.fap

    Flipper๊ฐ€ APP:87 < FW:88 โ€” This app might not work ๋ผ๊ณ  ํ‘œ์‹œํ•˜๋ฉด ์ž˜๋ชป๋œ ํŒŒ์ผ์„ ๋ฐ›์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค โ€” ๋‹ค๋ฅธ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์•ฑ์˜ API ๋ฒ„์ „์€ ์ปดํŒŒ์ผ ์‹œ์ ์— ๊ณ ์ •๋˜๋ฏ€๋กœ, ๋‹จ์ผ ๋นŒ๋“œ๋กœ ๋‘ ํŽŒ์›จ์–ด ๊ณ„์—ด์„ ๋ชจ๋‘ ๋งŒ์กฑ์‹œํ‚ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต์€ Continue๋ฅผ ๋ˆ„๋ฅด๋ฉด ์—ฌ์ „ํžˆ ์‹คํ–‰๋˜์ง€๋งŒ, ๋งž๋Š” ๋นŒ๋“œ๋Š” ์ด ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  2. qFlipper๋ฅผ ์—ด๊ณ  ํŒŒ์ผ์„ SD Card / apps / NFC /๋กœ ๋“œ๋ž˜๊ทธํ•˜์„ธ์š”.

  3. Flipper์—์„œ: 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 ํ•˜๋‹จ ํ‹ˆ์ƒˆ, ํƒ๋ฐฐ ์ƒ์ž, ์ฑ…์ƒ โ€” ์œ„๋ฅผ **์ฒœ์ฒœํžˆ** ์›€์ง์ž…๋‹ˆ๋‹ค.
   - **์กฐ์šฉํ•จ / ํ‰ํ‰ํ•œ ํŒŒํ˜•** โ†’ ๋ฒ”์œ„ ๋‚ด์— ํ™œ์„ฑ ๋ฆฌ๋” ์—†์Œ.
   - **๋ฐ”๋Š˜์ด ์˜ฌ๋ผ๊ฐ€๊ณ  ํด๋ฆญ์ด ๋นจ๋ผ์ง** โ†’ ์ด๋ฏธํ„ฐ์— ์ ‘๊ทผ ์ค‘. ํ”ผํฌ๋ฅผ ํ–ฅํ•ด ๊ณ„์† ์ด๋™ํ•˜์„ธ์š”.
   - **`โ— ACTIVE READER` + ๊ฒฝ๋ณด ํ…Œ๋‘๋ฆฌ** โ†’ ๋ฐ”๋กœ ์—ฌ๊ธฐ์— ํ™œ์„ฑ ๋ฆฌ๋”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
3. ๋ญ”๊ฐ€ ์ฐพ์•˜๋‚˜์š”? ๋’ค๋กœ ๋‚˜๊ฐ€์„œ **Fingerprint**๋ฅผ ์—ฝ๋‹ˆ๋‹ค. Flipper๋ฅผ ๋Œ€์ƒ์— ๋Œ€๊ณ  ์›€์ง์ด์ง€ ์•Š๊ณ  ์ฃผ๊ธฐ๋ฅผ ์•ˆ์ •์‹œํ‚ต๋‹ˆ๋‹ค โ€” ๋ณดํ†ต ๋ช‡ ์ดˆ๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. **OK**๋ฅผ ๋ˆŒ๋Ÿฌ ๋ฐœ๊ฒฌ ๋‚ด์šฉ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
4. ๋ฐฉ ์ „์ฒด๋ฅผ ์ •๋ฆฌํ•˜๋ ค๋Š” ๊ฒฝ์šฐ? **Site Survey**๋ฅผ ์—ด๊ณ  ๋ฐ”๊ฐ€ ์ฑ„์›Œ์งˆ ๋•Œ๊นŒ์ง€ ๊ณต๊ฐ„์„ ๊ฑธ์–ด๋‹ค๋‹Œ ๋’ค ํŒ์ •์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
5. ๊ทธ ๊ตฌ์—ญ์„ ๋– ๋‚˜๋‚˜์š”? Flipper๋ฅผ **Watch Mode**๋กœ ๋‘๋ฉด ๊ฒฝ๊ณ„๋ฅผ ์„œ๋ฉฐ, ์ž๋ฆฌ๋ฅผ ๋น„์šด ์‚ฌ์ด ๋ฆฌ๋”๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ๊นจ์–ด๋‚˜ ์•Œ๋žŒ์„ ์šธ๋ฆฝ๋‹ˆ๋‹ค.
6. ์ €์žฅํ•œ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ํƒ€์ž„์Šคํƒฌํ”„์™€ ํ•จ๊ป˜ ๋ณด๋ ค๋ฉด **Logbook**์„ ํ™•์ธํ•˜๊ฑฐ๋‚˜, ์นด๋“œ์—์„œ `logbook.csv`๋ฅผ ๊บผ๋‚ด ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

> ๐Ÿ’ก ๋จผ์ € ์ •์ƒ ์ž‘๋™์ด ํ™•์ธ๋œ ๋ฆฌ๋”(NFC๋ฅผ ์ผ  ๋ณธ์ธ ํœด๋Œ€ํฐ, ๋˜๋Š” ์‹ ๋ขฐํ•˜๋Š” ๋น„์ ‘์ด‰ ๋‹จ๋ง๊ธฐ)๋ฅผ ์Šค์œ•ํ•ด์„œ ๊ฐ•ํ•˜๊ณ  ์ •์ƒ์ ์ธ ํ•„๋“œ๊ฐ€ ๋ฏธํ„ฐ์— ์–ด๋–ป๊ฒŒ ํ‘œ์‹œ๋˜๋Š”์ง€ โ€” ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ง€๋ฌธ์ด ์–ด๋–ป๊ฒŒ ์ฝํžˆ๋Š”์ง€ โ€” ํ™•์ธํ•˜์„ธ์š”. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์‚ฌ๋ƒฅ์„ ์‹œ์ž‘ํ•˜์„ธ์š”.

### ์กฐ์ž‘๋ฒ•

| ํ™”๋ฉด | ํ‚ค | ๋™์ž‘ |
|---|---|---|
| **Sweep** | `OK` | ํ”ผํฌ / ์ ‘์ด‰ ์ดˆ๊ธฐํ™” |
| | `hold OK` | ํ˜„์žฌ ์ธก์ •๊ฐ’ ๊ธฐ๋ก |
| | `LEFT` | ๋…ธ์ด์ฆˆ ํ”Œ๋กœ์–ด ๋ณด์ • (3์ดˆ) |
| **Fingerprint** | `OK` | ๋ฐœ๊ฒฌ ๋‚ด์šฉ์„ ๋กœ๊ทธ๋ถ์— ์ €์žฅ |
| | `hold OK` | ์ธก์ • ์žฌ์‹œ์ž‘ |
| **Site Survey** | `OK` | ์„ค๋ฌธ ๋‹ค์‹œ ์‹คํ–‰ |
| **Watch Mode** | `OK` | ์žฌ๋ฌด์žฅ (์นด์šดํŠธ์™€ ์‹œ๊ณ„ ์ดˆ๊ธฐํ™”) |
| *์–ด๋””์„œ๋‚˜* | `BACK` | ํ•œ ๋‹จ๊ณ„ ์œ„๋กœ |

---

## ๐Ÿ”ฌ ์†”์งํ•œ ํ•œ๊ณ„

- **13.56 MHz (HF) ์ „์šฉ.** Specter๋Š” **NFC ๋Œ€์—ญ** โ€” ๋น„์ ‘์ด‰ ๊ฒฐ์ œ ์Šคํ‚ค๋จธ, ๋Œ€๋ถ€๋ถ„์˜ ์ตœ์‹  ์ถœ์ž… ๋ฆฌ๋”, ๊ตํ†ต ๋ฐ ํ˜ธํ…” ๋ฆฌ๋”๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์—ญ โ€” ์„ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค. **125 kHz (LF)** ๋ฆฌ๋”(๊ตฌํ˜• HID Prox / EM4100 ๋„์–ด ํŒจ๋„)๋Š” **๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค**; Flipper์˜ LF ๊ฒฝ๋กœ์—๋Š” ์ด์— ์ƒ์‘ํ•˜๋Š” ํ•„๋“œ ๊ฐ์ง€ ๋น„ํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
- **๋ฆฌ๋”์˜ *์บ๋ฆฌ์–ด*๋ฅผ ๊ฐ์ง€ํ•  ๋ฟ, ์ฝ๋Š” ๋‚ด์šฉ์„ ๊ฐ์ง€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.** Specter๋Š” *์—ฌ๊ธฐ์— ํ™œ์„ฑ ๋ฆฌ๋”๊ฐ€ ์žˆ๊ณ , ๋Œ€๋žต ์–ผ๋งˆ๋‚˜ ๊ฐ€๊นŒ์šฐ๋ฉฐ, ์–ด๋–ค ๋ฆฌ๋“ฌ์œผ๋กœ ํด๋งํ•˜๋Š”์ง€*๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค โ€” ๋ฆฌ๋”๊ฐ€ ํ•˜๋Š” ์–ด๋–ค ๊ฒƒ๋„ ๋””์ฝ”๋”ฉ, ์‹๋ณ„, ์บก์ฒ˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
- **๊ฐ•๋„๋Š” ์ƒ๋Œ€์ ์ด๋ฉฐ ๋ณด์ •๋œ ๊ฐ’์ด ์•„๋‹™๋‹ˆ๋‹ค.** `FIELD %`์™€ ๊ทผ์ ‘๋„ ๋‹จ์–ด๋Š” ์Šค์œ•์„ ์œ„ํ•œ ๋น„๊ต์  "๋”ฐ๋œปํ•จ / ์ฐจ๊ฐ€์›€" ๊ฐ€์ด๋“œ์ด๋ฉฐ, cm ๋‹จ์œ„์˜ ์ธก์ • ๊ฑฐ๋ฆฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด๋Š” ์ผ๋ฐ˜์ ์ธ ํด๋ง ๋Œ€์—ญ ๋Œ€๋น„ ์บ๋ฆฌ์–ด ๋“€ํ‹ฐ ์‚ฌ์ดํด์˜ *์Šค์ผ€์ผ๋ง๋œ* ํŒ๋…๊ฐ’์ž…๋‹ˆ๋‹ค([๋ฏธํ„ฐ ์ฝ๊ธฐ](#-reading-the-meter--fixed-in-23) ์ฐธ์กฐ); ๋น„์ •์ƒ์ ์œผ๋กœ ๋“œ๋ฌผ๊ฒŒ ํด๋งํ•˜๋Š” ๋ฆฌ๋”๋Š” ๊ฐ™์€ ๊ฑฐ๋ฆฌ์—์„œ ๋” ๋‚ฎ๊ฒŒ ์ฝํžˆ๊ณ , ์—ฐ์†ํŒŒ ๋ชจ๋“œ์˜ ๋ฆฌ๋”๋Š” ๋” ๋ฉ€๋ฆฌ์„œ๋„ ์ตœ๋Œ€์น˜๋ฅผ ์ฐ์Šต๋‹ˆ๋‹ค.
- **๋ฏธํ„ฐ๋Š” ์ตœ๋Œ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.** `MAX`๋Š” ์ด ๋ฆฌ๋”๊ฐ€ ์œ ์ง€ํ•˜๋Š” ๋งŒํผ ์บ๋ฆฌ์–ด๊ฐ€ ์ตœ๋Œ€๋กœ ์˜ฌ๋ผ๊ฐ”๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค โ€” ๊ทธ ์ง€์ ์„ ๋„˜์œผ๋ฉด ๋” ๊ฐ€๊นŒ์ด ๊ฐ€๋„ ์‹ค์ œ๋กœ ๋” ํฐ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  `PK` ํ”ผํฌ ํ™€๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์œ„์น˜๋ฅผ ๋น„๊ตํ•˜์„ธ์š”.
- **์ฃผ๊ธฐ๋Š” ์•ฝ 2 ms๊นŒ์ง€ ๋ถ„ํ•ด๋ฉ๋‹ˆ๋‹ค.** ์ด๊ฒƒ์ด ์ƒ˜ํ”Œ๋ง ์ฃผ๊ธฐ์ž…๋‹ˆ๋‹ค. ๊ทธ ๊ทผ์ฒ˜์˜ ํƒ€์ด๋ฐ์€ **`~`**์™€ ํ•จ๊ป˜ ํ‘œ์‹œ๋˜๊ณ  ์‹ ๋ขฐ๋„๋Š” ๊ทธ์— ๋”ฐ๋ผ ํ• ์ธ๋ฉ๋‹ˆ๋‹ค โ€” Specter๋Š” ์ž์‹ ์ด ๋’ท๋ฐ›์นจํ•  ์ˆ˜ ์—†๋Š” ์ •๋ฐ€ํ•ด ๋ณด์ด๋Š” ์ˆซ์ž๋ฅผ ์ œ์‹œํ•˜๊ธฐ๋ณด๋‹ค ์ž์‹ ์˜ ๋ถ„ํ•ด๋Šฅ ํ•œ๊ณ„๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ชฝ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
- **`CLEAN`์€ ์„ ํƒํ•œ ๊ฐ๋„์—์„œ ๊นจ๋—ํ•˜๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.** ์‹ค์ œ ํƒญ์—์„œ๋งŒ ๊นจ์–ด๋‚˜๋Š” ํœด๋ฉด ์Šคํ‚ค๋จธ, ๋˜๋Š” ์ฐจํ๋œ ์Šคํ‚ค๋จธ๋Š” *์–ด๋–ค* ์ž„๊ณ„๊ฐ’์—์„œ๋„ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŒ๋…๊ฐ’์ด ์—†๋‹ค๊ณ  ํ•ด์„œ ์—†๋‹ค๋Š” ๋ณด์žฅ์€ ์•„๋‹™๋‹ˆ๋‹ค.
- **ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ๋ฌด์„ ๋งŒ.** Specter๋Š” ์Šค์œ• ์ค‘ NFC ์นฉ์„ ์ ์œ ํ•˜๋ฏ€๋กœ ๋‹ค๋ฅธ NFC ์•ฑ์„ ๋จผ์ € ๋‹ซ์œผ์„ธ์š” (๋‹ค๋ฅธ ๊ฒƒ์ด ๋ฌด์„ ์„ ์ ์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉด *NFC unavailable*์ด๋ผ๊ณ  ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค).

---

## โš–๏ธ ๋ฒ•์  ๋ฐ ์œค๋ฆฌ์  ๊ณ ์ง€

Specter๋Š” **๋ฐฉ์–ด์ , ์ˆ˜์‹  ์ „์šฉ** ๋„๊ตฌ์ž…๋‹ˆ๋‹ค โ€” **์ ˆ๋Œ€ ์†ก์‹ ํ•˜์ง€ ์•Š๊ณ **, ํ•„๋“œ์— ์ „๋ ฅ์„ ๊ณต๊ธ‰ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๋ฆฌ๋”๋ฅผ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. **๋ณธ์ธ**์˜ POS ๊ตฌ์—ญ, ๋„์–ด, ์ฑ…์ƒ ๋˜๋Š” ์†Œ์ง€ํ’ˆ, ๋˜๋Š” **๋ช…์‹œ์ ์œผ๋กœ ๊ถŒํ•œ์„ ๋ถ€์—ฌ๋ฐ›์€** ํ•˜๋“œ์›จ์–ด๋ฅผ ์Šค์œ•ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜์„ธ์š”. ์‚ฌ์šฉ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ฑ…์ž„์€ ๋ณธ์ธ์—๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์ง€ ๋ฒ•๋ฅ ์„ ์ˆ™์ง€ํ•˜์„ธ์š”.

---

## ๐Ÿ—บ๏ธ ๋กœ๋“œ๋งต

- [x] ์žฌ๋ถ€ํŒ… ํ›„์—๋„ ๊ฐ๋„ / ์‚ฌ์šด๋“œ / ์ง„๋™ / LED ์œ ์ง€
- [x] ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ํฌํ•จ๋œ ๊ฐ์ง€ "Logbook"์„ SD ์นด๋“œ์— ์ €์žฅ
- [x] ํ™”๋ฉด ๊บผ์ง„ ์ƒํƒœ์˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์Šค์œ• โ€” *์Šคํ…”์Šค ๋ชจ๋“œ*
- [x] ๋” ์„ธ๋ฐ€ํ•œ ๋ฒ”์œ„ ์ œ์–ด๋ฅผ ์œ„ํ•œ ์กฐ์ • ๊ฐ€๋Šฅํ•œ ์ž„๊ณ„๊ฐ’ โ€” *์ž๋™ ๋ณด์ • + ์‚ฌ์šฉ์ž ์ง€์ • ๊ฐ๋„*
- [x] ํด๋ง ์ฃผ๊ธฐ๋กœ ์ด๋ฏธํ„ฐ ์ง€๋ฌธ ์ฑ„์ทจ
- [x] ๋ฐฉ ํŒ์ •์ด ํฌํ•จ๋œ ์‹œ๊ฐ„ ์ œํ•œ ์‚ฌ์ดํŠธ ์„ค๋ฌธ
- [x] ๋ณด๊ณ ์šฉ ๋กœ๊ทธ๋ถ CSV ๋‚ด๋ณด๋‚ด๊ธฐ โ€” *.txt์™€ ํ•จ๊ป˜ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ž‘์„ฑ*
- [x] ๊ฐ์ง€ ์‹œ ๊นจ์šฐ๋Š” ์•Œ๋žŒ์ด ์žˆ๋Š” ์žฅ์‹œ๊ฐ„ ๋ฌด์ธ ๊ฐ์‹œ ๋ชจ๋“œ
- [x] ์‹ค์ œ ํด๋ง ๋ฆฌ๋”์— ๋Œ€ํ•ด ๋ฏธํ„ฐ๊ฐ€ ์ „์ฒด ๋ฒ”์œ„๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๊ฐœ์„ 
- [x] ์‚ฌ๋ƒฅ ์ค‘ ๋”ฐ๋œปํ•จ/์ฐจ๊ฐ€์›€ ์ถ”์„ธ ํ™”์‚ดํ‘œ
- [ ] ๋ณ„๋„ ๋ชจ๋“œ๋กœ์„œ 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
โ”‚   โ”œโ”€โ”€ 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

๐ŸŽจ ๋ธŒ๋žœ๋”ฉ

๋ชจ๋“  ์•„ํŠธ์›Œํฌ๋Š” ์ƒ์„ฑ๋˜๋ฏ€๋กœ ์•ฑ๊ณผ ์ ˆ๋Œ€ ์–ด๊ธ‹๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค:

์—์…‹ํฌ๊ธฐ์œ„์น˜
images/banner.png2560ร—800README ํ—ค๋” (๋ ˆํ‹ฐ๋‚˜์—์„œ ์„ ๋ช…ํ•˜๊ฒŒ ์œ ์ง€๋˜๋„๋ก 2ร—)
images/social-preview.png1280ร—640Settings โ†’ Social preview โ€” GitHub ๊ถŒ์žฅ ํฌ๊ธฐ (์ตœ์†Œ 640ร—320, 1 MB ์ œํ•œ)
images/mark.png512ร—512์ •์‚ฌ๊ฐํ˜• ๋กœ๊ณ  ๋งˆํฌ: ์•„๋ฐ”ํƒ€, ํŒŒ๋น„์ฝ˜, ์Šฌ๋ผ์ด๋“œ
images/demo.gif768ร—384์œ„์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜, ์•ฝ 9์ดˆ, ์‹ค์ œ ๋ทฐ ์ƒ์ˆ˜๋กœ ์ œ์ž‘
python3 tools_gen_banner.py # banner, social preview, logo mark
python3 tools_gen_gif.py # the demo animation
python3 tools_gen_mockups.py # screen stills
python3 tools_gen_icons.py # 1-bit Flipper icons
> ์†Œ์…œ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋Š” GitHub๊ฐ€ ์ €์žฅ์†Œ์—์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†๋Š” ์œ ์ผํ•œ ์ž์‚ฐ์ž…๋‹ˆ๋‹ค โ€”
> **Settings โ†’ Social preview**์—์„œ ํ•œ ๋ฒˆ ์ˆ˜๋™์œผ๋กœ ์—…๋กœ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š”
> ์ €์žฅ์†Œ๊ฐ€ Slack, X, LinkedIn ๋˜๋Š” Discord์—์„œ ๊ณต์œ ๋  ๋•Œ ๋ Œ๋”๋ง๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

---

## ๐Ÿ™ ํฌ๋ ˆ๋”ง

- **[at0m-b0mb](https://github.com/at0m-b0mb)**๊ฐ€ ์ œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.
- Flipper ๋ณด์•ˆ ๋„๊ตฌ ์ œํ’ˆ๊ตฐ์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค: **[Argus](https://github.com/at0m-b0mb/Argus-FlipperZero)** (Wi-Fi ๋””์ธ์ฆ / ์ด๋ธ” ํŠธ์œˆ ๊ฐ์‹œ), **[GhostTag](https://github.com/at0m-b0mb/GhostTag-FlipperZero)** (BLE ์•ˆํ‹ฐ ์Šคํ† ํ‚น ํ—Œํ„ฐ), **[Cerberus](https://github.com/at0m-b0mb/flipper-cerberus)** (Sub-GHz RF ๊ฐ์‹œ).
- [Flipper Zero ํŽŒ์›จ์–ด](https://github.com/flipperdevices/flipperzero-firmware) NFC HAL (`furi_hal_nfc` ํ•„๋“œ ๊ฐ์ง€) + [ufbt](https://github.com/flipperdevices/flipperzero-ufbt)๋กœ ๊ตฌ๋™๋ฉ๋‹ˆ๋‹ค.

## ๐Ÿ“„ ๋ผ์ด์„ ์Šค

[MIT](https://github.com/at0m-b0mb/specter-flipperzero/blob/main/LICENSE) ยฉ 2026 at0m-b0mb

์นดํ…Œ๊ณ ๋ฆฌ