헥스에디터(Hex-editors) : 바이너리 파일을 분석하거나 수정할 때 사용한다. 파일을 16진수 코드로 보여준다.
(참고 : 16진수 코드나 어셈코드나 같은겁니다. 어셈코드는 16진수 코드를 우리가 보기 쉽게 문자로 치환했을 뿐입니다. 예를 들어 16진수로 0x6A 라는 숫자가 어떤 일을 한다고 했을때 이 숫자만 보고 그 일을 한다는 것을 사람이 알기에 쉽지 않으므로 여기에 PUSH 라는 이름을 붙여 사람이 해석하기 쉽게 해주는겁니다. 즉 16진수 코드랑 어셈코드는 같은 것을 표현하는데 숫자냐, 문자냐일 뿐인것이죠)
.exe나 .dll 같은 윈도우 PE 구조의 파일이나 확장자가 없거나 다른 확장자의 파일을 분석할때 헥스에디터로 열어서 그 바이너리 파일의 헤더를 보고 어떤 종류의 파일인지
(참고 : 파일마다 헤더의 내용이 다르다. 맨 앞에 알파벳 2글자에 의해 어떤 확장자를 가지는지 파악할수 있는데 이를 시그너처라고 한다) 어느정도 크기인지를 분석할 수 있으며 값의 수정이 가능하다.
또 특정 위치만 간단히 패치하거나 여러 곳을 변경하거나 값을 검색할 때 유용하다.
하지만 이런 수정을 할때에도 고려해야 할것이 있는데 어셈블리어에도 용량이 있다는 것이다. 어셈블리어에 따라서 여러 바이트가 할당되는데 만약 수정하는 어셈블리어와의 바이트 차이가 벌어지면 프로그램이 정상적으로 작동하지 않게 된다.
헥스에디터중에는 상용 프로그램인 헥스-워크샵(Hex-Workshop)이 가장 좋지만
프리웨어중에서도 쓸만한 툴이 있으니 알아서 판단하기 바란다.
(참고 : 16진수 코드나 어셈코드나 같은겁니다. 어셈코드는 16진수 코드를 우리가 보기 쉽게 문자로 치환했을 뿐입니다. 예를 들어 16진수로 0x6A 라는 숫자가 어떤 일을 한다고 했을때 이 숫자만 보고 그 일을 한다는 것을 사람이 알기에 쉽지 않으므로 여기에 PUSH 라는 이름을 붙여 사람이 해석하기 쉽게 해주는겁니다. 즉 16진수 코드랑 어셈코드는 같은 것을 표현하는데 숫자냐, 문자냐일 뿐인것이죠)
.exe나 .dll 같은 윈도우 PE 구조의 파일이나 확장자가 없거나 다른 확장자의 파일을 분석할때 헥스에디터로 열어서 그 바이너리 파일의 헤더를 보고 어떤 종류의 파일인지
(참고 : 파일마다 헤더의 내용이 다르다. 맨 앞에 알파벳 2글자에 의해 어떤 확장자를 가지는지 파악할수 있는데 이를 시그너처라고 한다) 어느정도 크기인지를 분석할 수 있으며 값의 수정이 가능하다.
또 특정 위치만 간단히 패치하거나 여러 곳을 변경하거나 값을 검색할 때 유용하다.
하지만 이런 수정을 할때에도 고려해야 할것이 있는데 어셈블리어에도 용량이 있다는 것이다. 어셈블리어에 따라서 여러 바이트가 할당되는데 만약 수정하는 어셈블리어와의 바이트 차이가 벌어지면 프로그램이 정상적으로 작동하지 않게 된다.
헥스에디터중에는 상용 프로그램인 헥스-워크샵(Hex-Workshop)이 가장 좋지만
프리웨어중에서도 쓸만한 툴이 있으니 알아서 판단하기 바란다.
'Tool' 카테고리의 다른 글
토렌토(torrent) 사용하기. (1) | 2010.02.05 |
---|---|
Portable S/W 제작 (1) | 2010.02.05 |
네트워크 모니터링 툴(Network-Monitoring Tool) (2) | 2009.11.26 |
바이너리 분석 (1) | 2009.11.07 |
메모리 패치(Memory Patch) (1) | 2009.11.07 |