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

Specter-FlipperZero v2.7

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

๊ณต์œ 

Specter โ€” Flipper Zero์šฉ NFC ๋ฆฌ๋”๊ธฐ ๋ฐ ์Šคํ‚ค๋จธ ๋„์ฒญ ํƒ์ง€

Specter ๐Ÿ‘ป

๋ณด์ด์ง€ ์•Š๋Š” ๋ฆฌ๋”๊ธฐ๋ฅผ ํƒ์ง€ํ•˜์„ธ์š”.

Flipper Zero Version 2.7 ๋‚ด์žฅ NFC ์ถ”๊ฐ€ ํ•˜๋“œ์›จ์–ด ๋ถˆํ•„์š” ufbt MIT

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

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


๐Ÿ“Ÿ ํ”Œ๋ฆฌํผ์—์„œ

Specter ํ™”๋ฉด

Sweep (์กฐ์šฉํ•จ) ย ยทย  Sweep (๋ฆฌ๋”๊ธฐ ์ž ๊น€) ย ยทย  Fingerprint ย ยทย  Survey (์‹คํ–‰ ์ค‘) ย ยทย  Survey (ํŒ์ •)
Watch (๊นจ๋—ํ•จ) ย ยทย  Watch (๋ฆฌ๋”๊ธฐ!) ย ยทย  Logbook ย ยทย  Calibrate ย ยทย  Settings


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

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

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

๐Ÿ” Sweep โ€” ์–ด๋””์— ์žˆ๋‚˜?

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

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

ํ‘œ์‹œ ํ™”๋ฉด.

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

์‚ฌ์šด๋“œ. ์„ ํƒ์ ์ธ ๊ฐ€์ด๊ฑฐ ๊ณ„์ˆ˜๊ธฐ ํด๋ฆญ์Œ์œผ๋กœ ๊ฐ€๊นŒ์›Œ์งˆ์ˆ˜๋ก ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค. ์ฃผ๋จธ๋‹ˆ์— ํ”Œ๋ฆฌํผ๋ฅผ ๋„ฃ๊ณ  ์†Œ๋ฆฌ๋งŒ์œผ๋กœ๋„ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

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

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

ํ‘œ์‹œ ํ™”๋ฉด. ํŒ์ •, ์‹ ๋ขฐ๋„ ๋ง‰๋Œ€, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋‘˜์„ ๋’ท๋ฐ›์นจํ•˜๋Š” ์ฆ๊ฑฐ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค:

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

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

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

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

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

Site Survey โ€” ํŒ์ •

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

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

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

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

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

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

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 (๊ฐ€์žฅ ์‰ฌ์›€)

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

    ํŽŒ์›จ์–ดํŒŒ์ผ
    ๊ณต์‹ / ์ˆœ์ •specter.fap
    Unleashed, RogueMaster, Momentum ๋˜๋Š” ๋” ์ƒˆ๋กœ์šด ํŽŒ์›จ์–ดspecter-fw-dev.fap

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

  2. qFlipper๋ฅผ ์—ด๊ณ  ํŒŒ์ผ์„ SD Card / apps / NFC /๋กœ ๋Œ์–ด๋‹ค ๋†“์œผ์„ธ์š”.

  3. ํ”Œ๋ฆฌํผ์—์„œ: 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

์นดํ…Œ๊ณ ๋ฆฌ