한글화/한글화 강좌

[나인 따라하기] 01. HEX 한글화 작업 - 5회중 03회

NineHeart 2013. 6. 22.
01. HEX 수정으로 한글화 작업 - 5회중 03회

 

한글화 작업 하기전 우선순위 알아봐야 할것 중에서...

 

3. 한글화 도구로 작업을 할 수 있는지 열어볼것 예) Sisulizer, Radialix, Passolo 등...
   3-1. 한글화 도구로 작업을 할수 있으면 바로 하면 됩니다.
   3-2. 한글화 도구로 작업을 할 수 없는 경우 HEX 편집기로 열어보아 한글화 할 문자열
          들이 보이는지 확인 할것.
   3-3. 문자열이 안 보일경우 압축 해제가 잘못 되지않은 이상 방법을 모릅니다.

4. 문자열이 보일 경우 바로 수정 하는 방법이 있지만, Null(00)공간이 많이 보이는곳에

    한글화할 문자를 적고 원래의 문자열을 찾아 리틀에디안 값으로 대체 해 본다.

 

위 부분의 강좌를 시작 하도록 하겠습니다.

 

 

일단 저는 Sisulizer가 주력 한글도구 이므로 Sisulizer로 열어 보았더니 수정이

잘 되더군요! 여러분들이 잘 애용 하시는 한글화 도구를 사용하여 작업 하셔도

무관 합니다. 작업을 마무리하고 PEiD_Kor.exe 파일명으로 빌드하여 내보냈습니다.

 

 

빌드한 PEiD_Kor.exe를 실행 했더니 한글이 잘 보이네요!!!

 

 

이전에 Unpacking한 PEiD_Un.exe를 1번을 클릭하여 불러와 보았는데 화면 아래

 2번 "끝내기" 부분이 영문(Exit)으로 보여 지내요!

저 부분은 Sisulizer에서 안 보이던 문자열이라 HEX로 수정해야 할 부분이 되고

말았습니다.

 

 

이제 HEX편집기 Hex Workshop을 실행 합니다.

1번 파일열기를 클릭 하여 Sisulizer로 한글 작업한 PEiD_Kor.exe파일을 불러 옵니다.

불러오고 나서 2번 "Default ANSI: cp_acp" 선택 하시고요,

3번 OVR이 활성 색상(검은색)이 되어 있는지 꼭 확인 바랍니다. OVR이 비활성인

회색으로 보이시면 그부분을 마우스로 떠블 클릭하시거나 키보드 Insert키로 검은색이

되도록 해 주세요! 그렇지 않으면 덱스트 문자열 입력시 뒤에 문자열 들이 자꾸 뒤로

도망가는 사태가 발생 합니다. 그러면 안되겟죠...????

두가지(2번,3번) 모두 확인 하셨으면 4번 "찾기" 망원경 아이콘을 클릭 하시어 아까

Exit로 보여지던 문자열을 찾아야 합니다.

5번 "텍스트 문자열"을 선택 하시고 6번 E&xit를 입력하시고나서 7번 모두를 선택

하고 8번 확인을 누르시면 E&xit문자열을 찾게 됩니다.

 

여기서 한마디 Exit가 아니고 왜 "&"가 붙는 E&xit 이냐면 윗 그림에 영문으로

 보여지던 Exit가 x 아래 밑줄이 되어있죠??? 그게 바로 끝내기의 단축키 랍니다.

"x"를 클릭하면  프로그램이 종료가 된다는 겁니다.

바로 Exit 이 모양인거죠 한글화를 조금이라도 해 보신분은 금방 아실껍니다.

대부분들이 "&" 뒤에 붙는 문자열로 단축키 역할을 한다는것을요~~~

 

8번 확인을 눌러 문자열을 찾았으면 F3키를 눌러 다음 문자열을 또 검색 해봅니다.

찾을 문자열이 하나만 있는것이 아니기 때문이죠... 그러나 우리는 운이 좋게도

같은 문자열이 하나이상은 없다네요~~~ 아이 조아라~~~ㅎㅎㅎ

그렇게 9번이 우리가 찾는 E&xit 문자열 입니다.

10번은 문자열이 시작하는 캐럿 즉, 주소 인거죠 주로 오프셋 주소라 하지만 저는

그냥 주소라 칭하겠습니다.

 

여기서 바로 E&xit를 "끝내기"로 수정 하면 되겠지만,

E&xit = 5바이트

끝내기 = 6바이트 (한글 한 자에 2바이트)

뭔가 자릿수가 안맞죠? 이렇게 되면 안되는 것이지만  E&xit 뒤에 Null값이 있기에

수정해도 무관 하겠지만 한자리수 때문에 프로그램이 오류가 날수 있다는것을

꼭 기억 하세요! 뭐~ "종료" 라고 대체 하신다면 어쩔수 없지만요~

Null값이란 아래쪽에 설명 해 드렸구요~

바로 수정시 꼭 알아 두셔야 할 부분은 수정하실 원문 문자열 앞,뒤가 꼭 00으로

채워져 있어야 합니다. 앞쪽이 00이 아니어도 되는 부분도 있긴 하지만

대부분이 앞,뒤쪽에 00으로 채워진곳 아니면 안 건드리시는게 좋습니다.

 

 

원문 문자열을 찾았으면 시작 하는 부분 1번 [0000A1F0]위치에 마우스 커서를

가져다가 댑니다. 그곳에서 마우스 오른쪽 버튼을 클릭하시어 2번 "주소 복사"를 명령

하시면 시작 주소가 클립보드에 기억 합니다. 다시한번 마우스 오른쪽 버튼을 클릭

하시어 "책갈피 추가" 명령을 하시면 아래 창이 뜨게 됩니다.

 

 

 

4번 E&xit라고 입력하시고 (아무거나 해도 상관은 없습니다. 책갈피 제목이니...)

5번 확인을 누르시면 Hex Workshop의 하단 책갈피 판넬에 6번 책갈피가 추가 되어진

것이 보이실 껍니다. 나중에 E&xit 시작 주소에 찾아갈땐 책갈피를 클릭 하시면

바로 이동 이되오니 편리한건 습관화 하시는 것도 좋으실 겁니다.

 

 

 

이제 스크롤 막대를 이용 하시든 편집 - 바로가기 메뉴를 이용하여 16진수를

선택하시고 000927A0 이나 927A0를 입력하시고 이동을 누르시면 1번 위치로

이동 하게 됩니다. 저는 편의상 가장 하단 의 빈공간을 찾아 설명 드릴려고 하는

것이니 여러분들은 다른 빈 공간을 사용 하셔도 무관 합니다.

 

여기서 또 한마디 "빈 공간" 즉 Null이라는 16진수 값이 0이라는 것입니다. 0인지

00인지는 장담못합니다. ㅎㅎㅎ 이 빈 공간이 최대한 많은 곳일수록 아주 좋습니다.

하단 조금 위쪽에 스크롤을 계속 올리시다 보시면 많은 공간들이 있을껍니다.

 

1번 위치로 이동 하셨으면 2번 오른쪽 텍스트 판넬로 마우스커서를 이동 합니다.

여기서 또 3번 책갈피를 추가 해 주시기 바랍니다. 귀찮으신 분들은 안하셔도

 되고요 스크롤 막대를 이용하여 마지막 하단으로 가면되니...ㅎㅎㅎ

그리고 나서 한영키 하번 딸깍 눌러 주시고 "끝내기"를 입력 하고나서

 방향키를(상,하,좌,우 무관) 한번 살짝 눌러  주세요!!!!

그래야 문자열 뒤에 Null값이 나옵니다. 그렇지 않고 다른키를 누르시면 안되요!!!

엔터 : 0D

스페이스 바 : 20

방향키 : 값 입력 없음

다른키를 누르셨다면 다시 왠쪽 판넬로 이동 하셔서 잘못된 값을 00 으로 채워

주시면 됩니다.

 

이제 원래 원문 문자열 위치를 한글 문자열 위치로 점프시키는 리틀에디안 값을

변경하는 방법을 다음 회에 설명 해 드리겠습니다.

 

수고 하셨습니다.