서론
편의점에 가려다가 갑자기 무언가 엘베를 부르는데 비효율적이다는 생각이 들었습니다. 그래서! 엘베를 애플워치로 불러보기로 했습니다.
본론
Pt1. 월패드를 털어보자!
사전적으로 부팅 스크린과 배전함을 통해 월패드가 Windows CE 6.0 기반이고, 배전함에 이 디바이스의 네트워크 선이 있다는것을 알고 있었습니다. 그래서 접근을 두 가지로 잡았습니다. 첫번쨰는 윈도우 디바이스의 파일과 원격제어 방향. 두번째는 네트워크 요청들을 intercept 하는것. 원격제어 쪽은 어떤 포트를 열어뒀는지, 어떤 제어 방법을 쓰는지에 따라 변수가 많아 다음 과제로 남겼습니다.
접근 1
가장 첫번쨰로 할 일은 윈도우 디바이스의 파일을 뜯는것입니다(?)
windows 기반이니 hid device인 키보드도 먹힐 것 같아 일단 꼽아봤습니다.
결과는, 키 누를때마다 월패드 터치할때와 같은 소리가 난다는것. 그런데 갑자기 궁금해서 윈도우 키(Meta)를 눌렀는데
결론: 월패드의 파일을 획득했습니다.
안에 Swf파일들이 보여서 Ruffle로 실행해보니, 월패드가 플래시 플레이어로 구동된다는것을 알았습니다!
interactive한것을 확인했으니 디컴파일러를 찾던중
요로코롬한 친구를 찾았습니다!

Pt2. 분석을 마저 해보자
scripts를 둘러보다보니 무언가 찾았습니다
?
보니 input에 들어온 값이 저기중 한가지와 같으면 시스템에 명령을 내리는것 같았습니다.
월패드 입력은 전화번호, 비멀번호, 지정번호 정도가 있는데, #과 *이 들어가는 건 지정번호 밖에 없는것 같아 시도해 봤습니다.
!!!
관리자 모드 진입! 안에서 링크들을 찾아 우선 컴퓨터로 가지고 왔습니다.
배전함 랜선을 랜 커플러로 내 컴퓨터의 라인과 연결한 후 저 링크에 접속해보았더니
이렇게 파일을 얻을 수 있었습니다.
이 파일도 분석을 해봅시다
잡았죠?
호출 api도 찾아 뒀으니, 이제 애플워치에서 엑션이 취해지면 엘레베이터를 호출하는 프로젝트를 만들면 될겁니다.
Pt3. 구현
문제-네트워크
월패드를 죽일 순 없으니 서버와 월패드가 동시에 내부망을 쓰면서, 서버는 외부망도 써야 했습니다. 집에 있는 Unifi UGC Ultra에 second wan으로 아파트 내부망을 배정하고, 10.0.0.0/8로 가는 통신을 second wan을 통해 흐르도록 설정 했습니다. 결과는, 서버에서 외부망과 외무방 둘 다 이용 할 수 있었고, 월패드도 정상 동작, cmd에서 1.1.1.1에 ping도 찍어볼 수 있었습니다 :) 서버에 웹 요청이 들어오면 엘레베이터를 호출하는 웹 요청을 하는 웰 서버는 간단하게 bun.js로 구축했습니다.  ^ 구현이 간단해서 과정은 생략할게요 :3 @IMG_0551.mov *완성*
결론
끝까지 봐주셔서 감사합니다 (꾸벅)
관련한 궁금한 사항이 있다면 p@ssword.uk로 편하게 메일 주시면 됩니다.
댓글0