리버싱 엔지니어링/lena's reversing
lena's reversing for newbies 01
흰싸라기
2022. 2. 5. 01:06
1. 실행
reverseMe.exe 파일을 실행해보면 아래와 같은 메시지 박스 등장.
2. 디버깅
Ollydbg를 통해 reverseMe.exe를 디버깅
- 문자열 찾아보기 (Search for -> All referenced text strings)
실행했을 때의 메시지박스 문자열 확인할 수 있었고
"You really did it! Congratz !!!!" 문자열을 발견하여 클릭해서 가보니
메시지 박스로 출력됨.
따라서, 해당 메시지 박스를 출력하도록 수정해야함을 알 수 있음.
3. 코드 살펴보기
2번에서 처음 확인했던 메시지박스에서 확인한 문자열을 클릭하여 해당 코드 살펴봄.
JNZ(=JNE) : 값이 같지 않으면 점프
메시지박스 출력 전 조건 분기문, 따라서 조건에 상관없이 점프하도록 수정
JNZ -> JMP
코드 수정 후 다시 실행하면 아래와 같은 메시지박스가 출력됨
4. 코드 살펴보기(2)
새로운 메시지 박스 코드 확인
새로운 메시지박스는(주소 : 4010F7) 어떤 방식으로 호출된 것인지 확인
다양한 조건분기문이 존재
중간에 4010F7로 넘어가지 않고 마지막 JMP 00401205로 가기 위해서 조건 분기문을 모두 무시하도록 수정.
-> JNZ, JMP,JL,JE 명령어들을 NOP으로 수정
NOP : 아무것도 처리하지 않고 쉬어가도록 하는 명령어
위와 같이 수정 후 재실행하면 아래와 같은 목표 메시지박스 출력 성공.