본문 바로가기
728x90

해킹34

Base Relocation Table 오늘은 PE 파일의 재배치 (Relocation) 과정에 사용되는 Base Relocation Table의 구조와 동작원리에 대해 알아보겠습니다. -PE 재배치 PE파일(EXE/DLL/SYS) 이 프로세스 가상 메모리에 로딩(loadiong) 될때 PE 헤더의 ImageBase주소에 로딩 됩니다.(ImageBase 주소는 NT Header에 Optional Header 안 에 있습니다.) DLL이나 SYS 같은 경우 ImageBase 위치에 이미 다른 파일이 로딩되어있다면 충돌을 비해 다른 비어있는 주소 공간에 로딩됩니다. 이를 PE Relocation 이라고 합니다. -> PE파일이 ImageBase에 로딩되지 못하고 다른 주소에 로딩될때 수행되는 일련의 작업들 의미. 참고) ImageBase EXE .. 2020. 5. 1.
실행 압축 실행 압축(Run-Time Packer)는 소트웨어 역공학의 단골 주제입니다. 오늘은 이에 대해 알아봅시다. 1. 데이터 압축 우리가 일상에서도 자주 쓰고있는 게 데이터 압축입니다. 어떤 형태의 파일이나 데이터라도 내부는 바이너리로 되어 있기 때문에 압축 알고리즘을 사용하여 크기를 줄일 수 있습니다. 이 때 압축 본을 100% 복원 시킬 수 있다면 비손실 압축(Lossless Data Compression) 이라고 하고 복원할 수 없다면 손실압축(Loss Data Compression) 이라고 합니다. -비손실 압축 : 7-zip, 빵집과 같은 압축 프로그램을 이용해서 파일을 압축시키는 경우가 비손실 압축의 예에 해당합니다. 대표적인 예로는 Run-Length,Lempel-Ziv,Huffman 등이 있습.. 2020. 4. 28.
Random Number Generator : 난수발생기 난수 혹은 의사 난수 생성은 많은 암호 함수에서 필요합니다. 필수 조건은 스트림이 예상할 수 없는 수여야 합니다. 의사 난수 생성의 원리 난수(Random)란 특정한 배열 순서나 규칙을 가지지 않는 연속적인 임의의 수입니다. 18047320974109470 이렇게 아무런 규칙을 가지고 있지 않습니다. 의사난수(Pseudo random number) 는 우리가 보기엔 규칙이 없어 보이지만 실제로는 긴 주기를 가지고 있는 즉 난수처럼 보이는 난수가 아닌 수 인 것 입니다. Pseudo code 도 실행은 안되는 코드 뼈대같은 거죠? 1.임의성 1) 균일분포 : 0과 1의 출현 빈도 거의 동일해야함 2) 독립성 : 수열의 어느 부분을 보고 전이나 후의 수열을 예측할 수 없어야함 -> 즉 연관성이 없어야함 ex.. 2020. 4. 27.
EAT정리 https://com24everyday.tistory.com/17 IAT 정리 IAT(Import Address Table) : 프로그램이 어떤 라이브러리에서 어떤 함수를 사용하는지 기술한 테이블 핵심 개념 : process,memory,DLL 구조 IAT 를 이해하기 전, DLL의 대한 이해가 필요하다. Import : library에.. com24everyday.tistory.com IAT 를 알고나면 좀더 쉽게 EAT를 이해할 수 있다. EAT(Export Address Table) : 라이브러리 파일에서 제공하는 함수 -> 다른 프로그램이 사용 하게 하기 위한 매커니즘 EAT를 통해서만 해당 라이브러리에서 익스포트하는 함수의 시작 주소 정확하게 구할 수 있음. IMAGE_EXPORT_DIRECTO.. 2020. 4. 25.
728x90