티스토리 뷰
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
이번글에서는 RAW와?RVA 간의 계산법에 대해
다룬다.?이 계산을 수행해주는 계산기(첨부파일)가 있지만?
이 두가지 계산법은 ?PE에서는 꼭알아야 함으로 임으로
꼭 알아두는게 좋다.
위 그림은 대상 프로그램의 섹션이다.
첫번쨰는 특정RAW에 대한?RVA 계산법이다.
식은 다음과 같다.
RVA = (RAW - RawOffset) + VirtualOffset
만약 0x710 이라는?RAW 값의 RVA 값을 알고 싶다고
가정하자. 그렇다면 0x920는 섹션 RawOffset 에서
0x600이상 0xA00미만에? 속함으로.rdata에 속함을 알수 있다.
이 정보를? 이용하면 밑과 같은 식이 나온다.
RVA = (0x710 + 0x2000) - 0x600
즉 0x2110이 0x710이란 RAW에 대한 RVA값임을
어렵지 않게 구할수 있다.
두번쨰는 특정RVA에 대한?RAW 계산법이다.
식은 다음과 같다.
RAW = (RVA - VirtualOffset)? + RawOffset
만약 0X3020 이라는 RVA 값의 RAW을 알고 싶다고
가정하자. 그렇다면 0x3020은 섹션 VirtualOffset에서
0x3000 이상 0x4000? 미만 이기 때문에 .data에 속한다는
것을 알수있다.이 정보를 이용하면 밑과 같은 식이 나온다.
FileOffset= (0x3020 + 0xA00) - 0x3000
즉 0xA20 이?RAW 0x3020에 대한 RVA 값임을
어렵지 않게 구할수 있다.
알아둘점:
위의 계산은 섹션에 대한 정보를 기반으로 하는데
할떄마다 일일이 구하기는 귀찮음으로 섹션의
정보를 볼수 있는 툴들을 이용하는것이 좋다.
또한 16진수 계산에 어려움을 느낀다면 Windows의
기본 제공 프로그램인 계산기(Calc.exe)의 공학 계산
모드를 이용하여 계산하도록 하자.
'Application > Debug' 카테고리의 다른 글
[해킹] Game & Chatting 도배 패치 만드는법 (0) | 2006.06.30 |
---|---|
[해킹] IceExt 를 이용한 화면 캡쳐하기 (0) | 2006.06.30 |
[해킹] Import Table (0) | 2006.06.30 |
[해킹] PE 형태의 파일에 섹션 추가하기 (0) | 2006.06.30 |
[해킹] 올리 디버거에서 API에 브포 걸기 (0) | 2006.06.30 |
- Total
- Today
- Yesterday
- win32
- network
- Life News
- USB Lecture
- console
- Linux
- Battle
- wallpaper
- humor
- Network Inspector
- C#
- Information Processor
- WDB
- Web Programming
- medical
- Reverse Engineering
- BadCode
- Mabinogi
- 막장로그
- diary
- 야마꼬툰
- cartoon
- Assembly
- 프리랜서로 살아남는 법
- 3D Engine
- Tech News
- 나비효과
- Military
- Embedded System
- 짤방 및 아이콘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |