디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

스압) 아이유 공식 응원봉 색을 바꿔보자 - Part 2

XURC갤로그로 이동합니다. 2019.01.12 18:58:04
조회 7240 추천 161 댓글 57
														

https://www.youtube.com/watch?v=q1sWSydrq8U



세줄 요약


1. 아이유 공식 응원봉의 원격 제어 기능을 이용해 색 바꾸기 성공

2. 공유 안함 달라고 하지 마셈

3. 어차피 별도 HW 있어야 쓸 수 있어서 그냥 못씀



Part 1 요약


아이유 공식 응원봉은 기본적으로 중앙 제어 없이는 네온옐로우 색 밖에 낼 수 없고 깜박거리는 속도 정도만 제어가 가능한데, 이게 맘에 안들기도 하고 심심해서 응원봉 색을 바꿔보기로 함. 분해해서 기판 회로를 바꿔도 LED 색은 바꿀 수 있지만, 그러면 재미 없으므로 회로는 건드리지 말고 콘서트에서 사용하는 중앙 제어 방식을 직접 구현해 보자.


Part 1에서 각종 사전 분석 끝에 실제 제어 정보를 송신하는 컨트롤러 없이는 원격 제어 방식을 파악하는게 불가능하다고 결론 났고, 응원봉 중앙 제어가 이뤄지는 콘서트 때까지 기다린 후, 콘서트 동안 제어 정보를 저장한 뒤 분석 해야겠다고 생각함.




그렇게 콘서트 공지가 뜨기까지 1년을 기다렸다.






자, 그럼 콘서트 때 중앙 제어 정보를 어떻게 따올까?


일단 모든 주파수 대역을 다 따올 수는 없으니 통신 주파수부터 알아야 한다. 문제는 파트 1에서 봤듯이 통신 주파수와 변조 방식이 상세히 나오는 FCC 인증과는 다르게 한국의 전파 인증은 그런거 안알랴줌이라는 것.



다행히 이 문제는 간단히 해결되었는데,



viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21dce53ffcf71df1247f64cd510c7ade0c3d8244ddea371




응원봉 판매 페이지에 '2.4Ghz 무선컨트롤 기능' 이라고 친절하게 적혀 있었기 때문.


뭐 그냥 저렇게 아무렇게나 적어놓고 실제로는 다른 주파수 대역을 쓸 수도 있지만... 일단 믿어보자.




viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21dce53ffcf71df1247f64cdc1593f8ee97df2a4dc4bd71



ISM 밴드는 별도로 허가나 신고를 하지 않아도 사용할 수 있는 주파수 대역인데, 2.4Ghz 대역의 ISM 주파수 대역은 2.4~2.4835Ghz 임. Wi-Fi, Bluetooth 등이 다 이 대역을 씀.


즉, 콘서트 동안 요 주파수 대역을 저장해두면 된다는 거다.





viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21d800fada67ed71046f522adb8ad3e7cfd4aaec8a4a487ef21e297




그걸 위해 공대생의 영원한 친구 라즈베리 파이에 보조배터리, 수신 장비를 연결해놓고 콘서트 동안 가방 안에 넣고 켜둠.


내가 갖고있는 수신 장비로는 한번에 10Mhz 대역만 캡쳐가 가능해서, 1분씩 대역을 바꿔가며 저장하는 간단한 스크립트를 짠 뒤 라즈베리파이가 켜지면 자동으로 실행되도록 세팅.




viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21d800fada67ed71046f522adb8ad3e29fa4ea9c9f5a382ef3bfc97



특성상 주파수 캡쳐 파일은 크기가 매우 크고 아름다워서, 라즈베이파이에 256GB SD 카드를 끼워놨는데도 한시간 정도밖에 캡쳐를 못한다.


라즈베리파이 IO 성능이 너무 구려서 쓰기 속도를 못따라가길래 SD 슬롯도 오버클럭하고 메모리 버퍼 잡아주고 딜레이 넣고 하여간 튜닝에 좀 애먹음... 인텔 보드 쓰면 상관 없었을텐데 노는게 없어서 ㅠㅠ


부산콘에서 처음 돌린 뒤 부산콘에서 캡쳐된게 노이즈가 너무 많아서 서토콘때 다시 돌림





그리고 캡쳐된 파일을 그대로 다시 재생하면...



viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21dce53ffcf71df1247f64c881bc1a7e4938b2b4dd3ba70




빙고!


이렇게 단순히 주파수를 캡쳐했다가 다시 재생하는걸 Replay Attack이라고 하는데, 패킷에 시간 정보만 넣어도 간단히 막히지만 응원봉에 RTC 같은걸 넣을리가....



여기까지만 해도 원하는 목표는 거의 달성함.



viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21dce53ffcf71df1247f64c8e4493a6e0c68f2b4dc4bd71




이제 캡쳐된 파일을 색깔별로 자르고 원하는 부분만 추출한 뒤 간단한 GUI를 만들어주면,


https://www.youtube.com/watch?v=gE12w3izLtE


이렇게 원격 제어를 통해 색깔 바꾸기가 가능함.




여기까지만 해도 목표는 달성했지만, 뭔가 2% 마음에 들지 않는다.

왜냐면 저 방식으로는 지정된 몇가지 색으로만 바꿀 수 있고 내가 원하는 색을 만들 수 없기 때문인데,



좀 더 나아가서, 패킷을 분석해서 원하는 색을 만들어보자.



viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21d800fada67ed71046f522adb8ad3e2eab1afac5a3a1d4ef3bfc97






먼저 캡쳐된 데이터를 FFT 돌리고 Waterfall을 뿌려보면, 위처럼 시간 대역에서 주파수의 변화를 볼 수 있다. 저렇게 생겨먹은건 딱봐도 FSK다.


자세한 내용은 꺼라위키 등에 친절히 설명되어 있으니 생략


FSK인걸 알았으니 복조를 해봅시다.



viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21d800fada67ed71046f522adb8ad3e27ab4aaf94f6f382ef3bfc97



이렇게 넣고 돌리면



viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21dce53ffcf71df1247f64cdf47c3a6b292de774dc4bd71





이렇게 복조된 파형이 나옴.




이걸 바이너리로 변환하고, 각 색깔별로 이 과정을 반복하면 색이 바뀔 때 패킷 중 가운데 일부만 변함을 알 수 있다.




viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21dce53ffcf71df1247f64cd943c3fbb3948b224dc4bd71




이렇게.


눈치가 좋다면 바뀌는 저 3 바이트가 RGB 색상값이라는걸 알아챘을텐데, 여기까지를 통해 추측한 패킷 구조는 아래와 같다.


viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21d800fada67ed71046f522adb8ad3e27fb48f392f3a6d7ef3bfc97


그럼 이제 원하는 색상 값을 넣고 다시 변조해서 송신해보자.


viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21dce53ffcf71df1247f64cdd40c7abb291da204dc4bd71



근데 안된다 -_-


무선 통신이니 오류를 감지하기 위한 CRC가 있는걸로 예상되니, 어떤 CRC 방식을 쓰고 있는지 때려맞춰보자.





viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21d800fada67ed71046f522adb8ad3e2efc18fcc4a5f684ef3bfc97


viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21dce53ffcf71df1247f64cdc17c6fce2c3d82b4dc4bd71



역시 이런건 무작위 대입이 최고...


예상대로 CRC가 맞고, 방식도 찾았다.




viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21d800fada67ed71046f522adb8ad3e2fab4eaf91a1f582ef3bfc97



즉 이렇게 생겨먹은 프로토콜로 추측.



...근데 이렇게 해도 안됨 -_-


가만히 보니 가운데 바뀌는 패킷이 한 바이트 더 있다.



viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21dce53ffcf71df1247f64cd51794a6b5918a204dc4bd71



어차피 1바이트라 2^8 = 256가지밖에 안나오므로 모든 경우의 수 무작위 대입해서 색이 바뀔 때까지 돌려보자.


그 결과 색상값 3바이트를 XOR 연산하고 offset을 조정한 일종의 checksum으로 파악됨.



viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21d800fada67ed71046f522adb8ad3e2bae4cff94f3f185ef3bfc97



따라서 최종 프로토콜 구조는 위와 같은 것으로 추정.



viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21d800fada67ed71046f522adb8ad3e2da91aaec5f1a2d7ef3bfc97



여기까지 얻은 정보를 바탕으로 간단한 패킷 생성 스크립트를 짜면




https://www.youtube.com/watch?v=QdMERlqQ1qY



이렇게 입력받은 색상값으로 응원봉 색을 바꿀 수 있다.




여기서 끝내기 아쉬우니 컴퓨터 없이 들고 다닐 수 있게 만들어보자.





viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21d800fada67ed71046f522adb8ad3e29ac1cfac1a8f384ef21e297



공대생의 영원한 친구 2인 아두이노....는 아니고 아두이노의 사촌뻘 되는 NodeMCU를 썼다. 집에 이놈이 여러개 굴러다니고 있기도 하고 와이파이가 붙어있어서 스마트폰이랑 연결하기도 편함. 성능도 아두이노보다 훨씬 좋음.



viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21dce53ffcf71df1247f64c8a1bc6aae39188254dc4bd71



뚝딱 코딩해서 넣어주고,





viewimage.php?id=24a8ef28e0c5&no=24b0d769e1d32ca73fee84fa11d02831774bc9874fea0c46798ddb3d8b7470732c7cd324f21d800fada67ed71046f522adb8ad3e7ffc1ff2c5a5a7d7ef3bfc97




UI도 대충 만들어서 넣어주면,



https://www.youtube.com/watch?v=q1sWSydrq8U




끝!



추천 비추천

161

고정닉 51

4

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 모태 솔로도 구제해 줄 것 같은 연애 고수 스타는? 운영자 25/07/21 - -
공지 아이유 프로필 정보 [742/1] ㅠㅐㅌ갤로그로 이동합니다. 17.05.04 438637 13896
공지 제25회 아이유갤러리 자짤경연대회 결과발표 [32] 가시갤로그로 이동합니다. 24.12.29 7097 1238
공지 하이 사랑둥이들 [2417/1] 아이디잃어버렸다(1.232) 20.01.01 275934 12568
공지 아이유 인증글 모음♬ [457] 리얼좋아갤로그로 이동합니다. 14.04.01 592629 4880
공지 갤에 내 얘기가 없으니까 [2069/5] 엿막어는반사갤로그로 이동합니다. 15.01.11 6705078 10734
공지 아이유 갤러리 이용 안내 [398] 운영자 14.04.01 331047 3542
8245832 공부해라 [1] 랑망이갤로그로 이동합니다. 08:39 11 0
8245830 갑자기 생각난 매크로 잡는법 비담쿨.갤로그로 이동합니다. 08:34 15 0
8245828 운동하고 밥이나 머거보쟈 [3] 라스트판타지갤로그로 이동합니다. 08:28 15 0
8245827 지원금 신청 안내 사항 Uaena갤로그로 이동합니다. 08:28 22 1
8245826 굿모닝 ㅠㅠ 기분좋구만U갤로그로 이동합니다. 08:23 12 0
8245824 월요일 아침은 모두가 화가나 있다 랑망이갤로그로 이동합니다. 08:10 18 0
8245822 지옥같은 월요일 시작 랑망이갤로그로 이동합니다. 08:08 11 0
8245820 클로드 이걸 왜 이제서야 쓰는걸까 [1] 피치_갤로그로 이동합니다. 08:00 32 0
8245818 졌따끄... 밀워키 상대로 언제 이기냐 대체 이지금지은시갤로그로 이동합니다. 07:39 16 0
8245817 애플페이 티머니 내일 엠바고 해제라는게 ㄹㅇ????? [2] 쏘컴갤로그로 이동합니다. 07:31 64 0
8245816 잘있거라 꼬레아,,, [12] 라윤갤로그로 이동합니다. 07:30 81 0
8245814 미리메리크리스마스아이유생일시다미리메리크리스마스유생일시 ㅇㅇ(118.32) 07:09 16 0
8245812 국힙원탑아이유생일시다국힙원탑아이유생일시 ㅇㅇ(118.32) 07:08 13 0
8245811 아이유생일라일락시다아이유생일라일락시 ㅇㅇ(118.32) 07:07 12 0
8245810 아이유생일아이유생일시다아이유생일아이유생일시 ㅇㅇ(118.32) 07:06 12 0
8245809 자유맨 부상까지 아... 이지금지은시갤로그로 이동합니다. 07:06 18 0
8245807 예쁜강한여성아이유생일시다예쁜강한여성아이유생일시 ㅇㅇ(118.32) 07:04 12 0
8245806 아이유생일지은시다아이유생일지은시 ㅇㅇ(118.32) 07:03 15 0
8245805 아이유생일봉시다아이유생일봉시 ㅇㅇ(118.32) 07:02 14 0
8245804 하 십발 이지금지은시갤로그로 이동합니다. 07:00 19 0
8245802 이번두드뎌 블레오냐? [1] 띵비갤로그로 이동합니다. 06:57 31 0
8245800 일어나라 에일팠음갤로그로 이동합니다. 06:45 14 0
8245799 루이스 런 먼데? 이지금지은시갤로그로 이동합니다. 06:33 25 0
8245798 피곤하네 이지금지은시갤로그로 이동합니다. 06:32 17 0
8245795 뭔노래가 맴도는데 제목이 기억이안나네 [1] ㅁㅊㅇ갤로그로 이동합니다. 05:19 44 0
8245793 인공눈물 개 때려넣었는데 [1] 신신갤로그로 이동합니다. 05:18 36 0
8245792 지은시 막타 [2] 막상뭐별거있나갤로그로 이동합니다. 05:17 31 0
8245791 아이유시 [1] 쟈키쟈키갤로그로 이동합니다. 05:16 24 0
8245790 지은시 [2] 신신갤로그로 이동합니다. 05:16 26 0
8245789 ㅈㅇㅅ [2] ㅁㅊㅇ갤로그로 이동합니다. 05:16 27 0
8245788 준기님이 댓달아주셨다 [1] 아갤러(58.29) 04:58 105 0
8245786 코피 한잔 Uaena갤로그로 이동합니다. 04:30 27 1
8245784 기스앙 Uaena갤로그로 이동합니다. 04:17 25 1
8245783 근데.진짜 폭싹 [1] 널은애한다갤로그로 이동합니다. 04:09 60 1
8245782 잠깸 널은애한다갤로그로 이동합니다. 04:03 29 0
8245781 4AM [1] 신신갤로그로 이동합니다. 04:01 25 1
8245778 요즘 눈이 왤케 피로하지 [4] 신신갤로그로 이동합니다. 03:16 53 0
8245777 주말간 폭싹 다보고 천국보다 아름다운 이제 보는데 아갤러(118.235) 03:12 116 0
8245776 게티이미지는 뭐하는 사이트임? [1] 그르므프르갤로그로 이동합니다. 02:41 104 0
8245775 틈새유 주녕갤로그로 이동합니다. 02:32 45 0
8245773 배고파. [3] 탈론.갤로그로 이동합니다. 02:06 45 0
8245772 워료일 조아 신신갤로그로 이동합니다. 02:05 32 0
8245770 봉나잇이야 [9] 먼지o갤로그로 이동합니다. 02:03 69 0
8245769 왕꿀잠자라 꿀빨러들아 [2] 라마트럴갤로그로 이동합니다. 02:01 41 0
뉴스 BTS 제이홉, ‘롤라팔루자 베를린 2025’ 피날레 장식…전 세계 6만 관중 열광 디시트렌드 07.18
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2