반응형
## 3-5 소스 수정없이 success가 나오도록 하라!!!
나는 계산기로 값으로 예상되는 D8을 넣었다가 3정도 크게나오자 -3을 하여 D5를 사입하여 해결하였다.
그러나 실제로는 EDX에 담기는 문자형을 이용하여 연산하여야 했다.
[윗부분은 ECX에 담긴 문자의 크기를 계산하는 항목이다]
EBP+X 는 아래와 같은 특징을 가지는데 외워두는게 좋다.
[EBP+8] = hInst |
MOV EAX,DWORD PTR SS:[EBP+10] ->lpCmd 를 EAX에 넣는다.
## while , for 문.
while과 for은 둘다 CMP(compare)~JMP로 이루어져 있다. 그러나 for문은 어셈블리어코드 옆에 화살표 모양이 나타난다.
## 메모리 빈영역
DB 00 00 부분은 프로그램 상에 있는 빈 영역이다.
1. 오버로드(overload)된 데이터를 처리하기 위한 영역이다.
2. 호환성을 위해 남겨두었다.
## DB 00 00 의 빈 영역으로 할 수 있는 것
1. 프로그램의 해킹이 용이해진다.(이 영역에 jmp를 하여 설정할 수 있다)
2. 프로그램의 방어소스를 입힐 수 있다.(더미다, 코드가상화)
## Argument
인자값을 넘겨주는 것은 리버싱 중 1회만 가능하다.
## 재영쌤 추천 자료(리버싱)
http://codeengn.com/security-archive/
반응형
'리버싱' 카테고리의 다른 글
8일차, malloc, strcmp (0) | 2013.04.17 |
---|---|
7일차 리버싱의 오묘한맛 (0) | 2013.04.16 |
5일차, 점프, Argument(arguv, arguv) (0) | 2013.04.13 |
4일차 역공학, 어셈 & register & stack & dumpwindow에서 내용수정 (0) | 2013.04.11 |
3일차 뺏셈` ~ 배열 (0) | 2013.04.10 |