게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
PE Packer 몇 가지 궁금한게 있어서 질문드립니다.
게시물ID : programmer_16151짧은주소 복사하기
작성자 : 을파소
추천 : 1
조회수 : 433회
댓글수 : 2개
등록시간 : 2016/03/11 04:08:22
옵션
  • 베스트금지
  • 본인삭제금지
간단한 패킹 프로그램을 만들어보려구 하는데 이해가 가지 않는 부분이 있어서요.

우선 패킹하려는 프로그램을 A
패킹 완료된 프로그램을 B라고 하겠습니다.

패킹 과정은 B에 적당한 더미섹션을 만들고 그 섹션 안에 A를 집어넣는 것이고
B가 실행될 때 언패킹 과정을 거쳐서 더미섹션 안의 내용을 실행가능한 상태로 만든다. 라는 것은 이해하겠습니다.

그런데 "실행 가능한 상태"로 만드는 부분이 이해가 되지 않습니다.
1. A의 RVA 값은 B의 더미 섹션으로 들어가면서 모두 offset이 발생하니까
더미섹션 안에서 실행 가능하도록 하려면 RVA값에 offset을 더해줘야합니다. (맞나요?)
만일 그렇다면 IAT 같은 헤더의 RVA는 그렇다 쳐도 실제 코드의 RVA값도 모두 바꿔줘야 할텐데,
바이너리 코드에서 어떤게 RVA값인지 어떻게 판단하나요?
아니면 실행가능한 상태로 바꾸는 다른 방법이 있나요?

2. RVA와 IAT값은 Table 처리말고 Packer가 해야하는 일이 뭐가 있나요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호