본문 바로가기

hex

헥스에디터(Hex-Editors) 헥스에디터(Hex-editors) : 바이너리 파일을 분석하거나 수정할 때 사용한다. 파일을 16진수 코드로 보여준다. (참고 : 16진수 코드나 어셈코드나 같은겁니다. 어셈코드는 16진수 코드를 우리가 보기 쉽게 문자로 치환했을 뿐입니다. 예를 들어 16진수로 0x6A 라는 숫자가 어떤 일을 한다고 했을때 이 숫자만 보고 그 일을 한다는 것을 사람이 알기에 쉽지 않으므로 여기에 PUSH 라는 이름을 붙여 사람이 해석하기 쉽게 해주는겁니다. 즉 16진수 코드랑 어셈코드는 같은 것을 표현하는데 숫자냐, 문자냐일 뿐인것이죠) .exe나 .dll 같은 윈도우 PE 구조의 파일이나 확장자가 없거나 다른 확장자의 파일을 분석할때 헥스에디터로 열어서 그 바이너리 파일의 헤더를 보고 어떤 종류의 파일인지 (참고 : .. 더보기
안티 디버깅(Anti-Debugging) 안티 디버깅(Anti-Debugging) : 디버깅을 방지하고 분석을 하지 못하도록 하는 기술. 디버깅을 당한다면 해당 디버거 프로그램을 종료시키거나 에러를 발생시키는 방법등 다양한 방법을 사용하여 분석을 방해한다. (참고 : 디버깅(Debugging) : 프로그램의 특정 부분에 Break Point를 설정한 후 실행을 하면 그 위치에 프로그램이 멈추게 되며 메모리에 값이 제대로 들어가 있는지, 코딩한 흐름대로 프로그램이 진행되는지 단계적으로 실행할 수 있다) 안티 디버깅 기술에는 수많은 방법들이 존재하며 계속 발전하고 있으며 이에 따라 이를 우회하는 기술도 계속적으로 발전하고 있다. CheckRemoteDebuggerPresent() Windows API Detecting Breakpoints by C.. 더보기