""" 역설계(逆設計), 역공학(逆工學) | Reverse Engineering : 특정 기능을 가진 기계 혹은 프로그램을 똑같이 만들어보고 싶은데 내부 구조를 알 수 없을 때 '외부의 동일한 기능을 구현하기 위해 내부를 뜯어 분석하는 행위'이다. """
순정으로 출고하지 않으면 절대 사용할 수 없는 원격 시동 기능을 서드파티 모듈을 사용하여 사용하고 있다
순정이 아닌게 조금 그렇지만 여태껏 문제 없이 잘 사용하고 따듯/시원하게 탈 수 있다는 점 덕에 매우 애용하고 있다
그런데 한파엔 장사없는게 10분이라는 시간동안 절대로 엔진이 데워질리가 만무하다
시동 걸어놓고 차 타도 추워 ㅠㅠㅠ
그래서 서드파티 원격시동 모듈의 통신 방식을 해킹 해 보기로 했다

일단 제일 만만한 안드로이드 애뮬레이터를 사용한다. 내가 사용한 애뮬레이터는 LDPlayer~
여기서 간단하게 구글 계정 만들고 원격시동 어플을 설치해준다
어플을 apktool 사용하여 분해해주고

api, rest 등등 온갖 통신 주소를 대입하여 순수 찾아준다
손쉽게 통신 주소를 찾아냈다

이제 wireshark 를 사용하여 모든 버튼들을 눌러보며 송신 패킷 수신 패킷을 모조리 수집한다
암호화 하나 없는 패킷들이라서 수집하기가 너무 쉬웠다
서드파티 업체들 팔기만 급급해서 는....
나같은 초짜도 손쉽게 하잖아!!!
이제 이 모인정보들을 차 문 열고 조회 닫고 조회 별의 별 모든 행동들을 통해
일관성을 찾고 각 자리별 의미를 분석한다
대략 패킷의 형태는
모뎀번호~상태~배터리전압~등등등
이제 이 패킷들을 역으로 내 서버에서 직접 송신하면 끝!


예외처리도 아주 깔끔하게 덕지덕지 다 넣어주고
GPT 선생 고마워

응답 완성!
이제 이걸 가지구 homeassistant 와 연동 작업을 해준다

요렁게~
대기환경규제로 10분 타임아웃인걸~

3회 연속 시동으로
따듯한 / 시원한 운전~
답글 달기