목록전체 글 (18)
Study
02. 아스키코드 vs 유니코드 02.1 Windows에서의 유니코드(UNICODE) 02.1.1 문자셋(Charactre Sets)의 종류와 특성 ◎ 종류 [아스키코드(ASCII CODE)] - 미국에서 정의하고 있는 표준. - 1byte로 문자 표현. - 알파벳 26자와 그림문자, 다양한 기호들 포함 256가지 문자 표현 가능. [유니코드(UNICODE)] - 영어권이 아닌 국가에서 사용하는 문자 표현. - 2byte로 문자 표현. - 영어, 기호, 한글 포함 65,536가지 문자 표현 가능. ◎ 문자셋 표현 방식 [SBSC(Single Byte Character Set)] - 문자를 표현하는데 1byte만을 사용하는 방식. - 아스키코드가 대표적인 SBCS. [MBCS(Multi Byte Chara..
20. 인라인 패치 실습 20.1 인라인 패치 - 인라인 코드 패치 : 원하는 코드를 직접 수정하기 어려울 때 간단히 코드 케이브라는 패치 코드를 삽입한 후 실행해 프로그램을 패치시키는 기법 - 대상 프로그램이 실행압축 혹은 암호화되어 있어서 파일을 직접 수정하기 어려울 경우 많이 사용하는 기법 왼쪽의 그림을 보면 EP는 원본 코드가 아닌 암호화된 원본 코드를 디코딩 하는 코드에 존재하고 그곳에서 OEP 코드를 복호화 하고 나면 OEP로 점프한다. 만약 패치하고자 하는 코드가 암호화된 OEP 코드에 존재한다면 EP의 복호화 코드를 실행시킨 후에 패치를 해야 하기 때문에 실행 시 복호화, 패치를 모두 수행할 수 있도록 Code Cave를 추가한다. 그리고 복호화가 끝난 후 점프할 주소를 OEP가 아닌 Co..
18. UPack PE 헤더 상세 분석 18.1 UPack 설명 - 중국의 dwing이라는 사람이 만든 PE 패커 - PE 헤더를 독특하게 변형하는 패커 18.2 UPack으로 실행압축된 notepad.exe ▲ PEview가 notepad의 헤더를 제대로 읽어내지 못한다. 그래서 다른 유틸리티인 Stud_PE를 이용해서 본다. 18.3 PE 헤더 비교 ▲ 원본의 PE 헤더이다. IMAGE_DOS_HEADER와 DOS Stub, IMAGE_NT_HEADER 순의 전형적인 PE header가 보인다. ▲ 그러나 실행 압축된 PE 파일을 살펴보면 맨 앞에 MZ 문자열이 나타나는 것 말고는 원본 PE와 크게 다름을 알 수 있다. 18.4 상세 분석 18.4.1 헤더 겹쳐쓰기 이는 Header를 겹쳐 쓰는 기법..