파일명: Easy_CrackMe.exe
디버거 기본명령어
- F7: Step Into
- F8: Step Over
- ctrl G: Go-to
- F2: BP / F9: 실행
Incorrect Password가 출력됩니다.
EP(Entry Point)
- 윈도우 실행 파일의 코드 시작점으로, 프로그램 실행 시 CPU에서 가장 먼저 실행되는 위치
- Image Base + Address of Entry Point
EP를 찾아갑니다 . . 걍 실행하면 됨니다 . .
jne가 많이 보임니다.
한 바이트씩 비교하는 것 같읍니다.
mov로 레지스터에 한 바이트씩 복사해서 cmp로 비교하는 것 같읍니다.
mov dl,byte ptr ds:[eax]
-> eax가 가리키는 메모리 주소에서 1바이트를 dl 레지스터로 이동시킴
-> dl은 8비트 레지스터이므로 1바이트씩 다루고 있음을 알 수 있음
esp+5 위치에 있는 바이트를 61(ASCII a)과 비교함니다
일치하지 않으면 점프라 저 조건이 맞아야 하는 것 같씁니다. jump if not equal . .
그닉가 esp+5는 두번째(리틀엔디안) a인 61 ..
저 부분이랑 a를 비교한다는 거니까 두번째 문자가 a여야 한다
그럼 이렇게 들어올 수 있다
bacd를 입력해보았다.
아래를 보먄 ecx에 cd가 들어가는 걸 보아 3, 4번째 문자를 비교하는 것 같다.
이전에 5y도 push한
call easy_crackme.401150 함수 값을 받고 다시 jne하는 것 같다.
내부로 들어가서 확인해보니 누가 봐도 5y가 맞는 것 같다.
ㄱ그래서 ba5ycdef 입력해봤는데 아깐 안되던 점프가 된다고
한다
이번엔 저렇게 비교하니 뒤쪽은 R3versing 같다.
다르니 또 점프할거
ba5yR3versing 입력해봤다
E같다
근데 이쪽 반복문을 잘 모르겠다 . . 흠
'Reversing' 카테고리의 다른 글
[wargame] Easy Keygen (0) | 2025.04.15 |
---|---|
IDA Pro (0) | 2022.06.05 |
UDP flooding 실습 (0) | 2022.05.13 |
VMware Pro / Windows XP 설치 (0) | 2022.04.09 |
crackme #1 / 리틀 엔디안 / PEview (0) | 2022.03.26 |