Ghidra STM32 역분석 #25 - 인라인 함수 vs 매크로
같은 코드가 여기저기 복붙된 것 같은데?
같은 코드가 여기저기 복붙된 것 같은데?
-O2 걸면 코드가 이상해진다. 흔한 패턴들.
분석 결과를 바탕으로 main() 함수를 복원해보자.
CAN 통신과 IAP 프로토콜 처리 코드 복원.
Flash Unlock/Erase/Write 함수 복원.
복원한 소스를 빌드하고 원본 바이너리와 비교.
역분석한 프로토콜이 맞는지 실제 통신으로 검증.
역분석 결과로 Python CAN 업로더 제작.
Python 업로더로 실제 BMS 장비에 펌웨어 업로드 테스트.
역분석한 부트로더를 개선해보자. 보안, 안정성, 기능 추가.