OEP 찾는 방법들
- 코드 섹션으로 들어가는 방법들
* 기본 방법
SHIFT+F9 , Run to Exception , ESTO
를 프로그램 실행될때까지 반복해서, 개수를 알아낸뒤
Restart해서 실행 바로 전까지만 다시 반복
* OllyScript
- esto를 위의 개수만큼 쓴다.
- 카운터를 쓴다.
var count
mov count,0
loop:
esto
inc count
cmp count, 16
jne loop
- esp 이용
//===================================================================
// Exception 이 끝나는 곳까지 간다.
var k
var l
// 400000 으로 가게 된다
//BreakPoint나 Exception 이 생기면 lab1으로 점프, 루프를 돌게 됨
eoe lab1 //Exception이 생기면 lab1으로 점프
run
lab1:
mov k,esp
add k,1C //1c ?
mov l,[k]
//log l
cmp l,400000
je lab2
esto
lab2:
eoe //eoe 풀기
msg "exception end"
//exception 풀기
//SHIFT+F9를 하고, 다음으로 진행하기 위해, 다음행에 bp를 걸고, 다시 SHIFT+F9
mov x,eip
add x,2
bp x
esto //SHIFT+F9
bc eip //Breakpoint Clear
//====================================================================
* Memory Map 에 BreakPoint
OllyDbg의 Memory Map 창을 연다
주소가 400000근처에 있는 code에
- 우클릭 set memory breakpoint on access
'Code' 카테고리의 다른 글
Window, Process, Module, Thread 정보 (1) | 2012.08.19 |
---|---|
Time (0) | 2012.08.19 |
UNICODE in Console (0) | 2012.08.19 |
RTTI (0) | 2012.08.19 |
pragma 정리 (0) | 2012.08.19 |