본문 바로가기
AI(ChatGpt, Claude, ETC.)

HEX 파일 비교 프로그램

by 롬돌이 2026. 3. 17.
728x90

오늘 L사로 부터 긴급(?)한 요청을 하는 전화가 왔다.

한 6년전에 마무리한 프로젝트로 현재 까지 잘 나가고 있는 제품인데, 일본 사이트에 적용하려고 봤더니 몇가지 문제가 있어서 

수정을 해 달라고 한다. 궂이 문제라 보기는 어려우나...하드웨어 적으로 오류가 발생할 가능성에 대한 알람을 만들어달라고 한다.

그런데, 너무 오랫만이라...어느 프로젝트가 양산 버전인지 확인이 안된다. 그래서 생산 업체에다가 파일을 보내달라고 부탁했더니

HEX 파일을 보내줬다. 음...어쩐다...

받은 HEX 파일이 내 프로젝트 어느 것에 맞는지 찾아봐야겠다.

그래서 HEX 파일을 비교하는 프로그램을 AI에게 요청했다.


나 : 혹시..HEX 파일 두 개를 비교해서 서로 같은지 틀린지 확인하는 프로그램을 만들어줄 수 있어? 체크섬을 이용하던가, 체크섬을 하던가 하면 될 거 같긴한데..

 

AI : HEX 파일 비교 프로그램을 tkinter UI와 체크섬으로 설계했다
HEX 파일 비교 프로그램을 tkinter UI와 체크섬으로 설계했다
Intel HEX 형식을 파싱해서 실제 바이너리 데이터를 비교하고, 체크섬(MD5/SHA256)까지 보여주는 GUI 프로그램을 만들어 드릴게요!


파일 생성됨, 파일 읽음
파일 생성됨, 파일 읽음
Python 표준 라이브러리만 사용하므로 별도 설치 없이 바로 실행 가능합니다.

주요 기능

🔍 Intel HEX 파서

  • Record Type 00(Data) / 01(EOF) / 02(Extended Segment) / 04(Extended Linear) 지원
  • 레코드 단위 체크섬 검증 (파일 내 체크섬 필드 vs 계산값)
  • 32비트 전체 주소 복원 (상위 주소 누적)

📋 파일 정보 탭

항목설명
파일명 / 크기 OS 파일 정보
레코드 수 / 데이터 레코드 수 HEX 파싱 결과
실제 바이트 수 실제 써진 바이트만 카운트
시작/종료 주소 0x???????? 형식

🔒 Checksum 탭

  • MD5 + SHA-256 동시 계산
  • 일치 여부 ✔ / ✘ 표시

🔍 주소 Diff 탭

상태의미색상
값 불일치 같은 주소, 다른 값 🔴 빨간색
File1에만 존재 File2에 없는 주소 🟠 주황색
File2에만 존재 File1에 없는 주소 🟢 초록색

이렇게 해서 만들어진 프로그램이다.

칙칙하다. 

 

 

나 : 잘 만들어줬어. 그런데, 배경색상들을 왜 블랙으로만 만들어?
다음부터는 기본을 너와 동일하게 해 줘.
너의 배경색을 아이보리라 해야하는가? 이와 같이 기본 배경으로 해 주고, 
결과 값으로 보여주는 부분은 너의 Source 창의 배경색으로 해줘.
지금 프로그램도 그렇게 바꿔줘.

 

 

짜짠....일렇게 나왔다.

두 파일을 비교했더니 동일하다고 해서 오전부터 열심히 검토 중이다. 6년 전이라고...ㅜㅜ

어디가 어딘지..이 코드는 뭐지????

심지어 내가 설계했던 것도 아니다. 남이 설계한 것을 그 당시에도 겨우겨우 기능 찾아서 만들었는데..

 

일단, 잘 해 보자.