분류는 x64디버거지만 x32를 사용했다ㅎㅎ
일단 실행시켜보니 작은 박스가 하나 뜨면서 아무거나 입력해보니 "Incorrect Password"메세지가 뜬다. 알맞은 패스워드를 찾아야하나보다.
일단 프로그램의 시작점을 찾았다. 00401188에 위치해 있다.
일단 프로그램을 실행해 봤을때 알 수 있는 점은
1. 다이얼로그 박스가 사용된다.
2. 올바른 비밀 번호를 입력해야한다 --> 비밀번호 검사구간이 있을것이다.
3. 틀린 패스워드를 입력시 "Incorrect Password"메세지가 뜬다.
정도가 있겠다.
문자열 검색을 통해서 "Incorrect Password"가 사용되는 곳을 찾아주면 거기가 비밀번호를 검사하는 구간이 아닐까?
바로 찾아봤다.
찾았다.
밑에 메세지 박스도 호출하는 call명령어도 있는것을 보니 여기서 빨간색으로 감싸진 부분이 패스워드 검사 구간인것 같다. 이부분을 잘 살펴보자
중단점을 잡고 실행해주니 다이얼로그 상자가 뜨면서 값을 입력하라고 나온다 1234567890을 입력해주었다.
F8을 누르면서 따라가다보면...
드디어 첫 비교 구문이 나왔다. esp+5의 값과 61(아스키 코드로 'a')라는값을 비교해야하는데, 그렇다면 현재 esp+5에 들어가있는 값을 확인해보기 위해 덤프에서 확인해보자.
살짝 회색으로 칠해진곳이 esp+5의 값이다. 가만보니 내가 입력한 값인 1234567890이 들어있는것 같은데 그럼 저 위에 비교 구문은 2와a , 즉 두번째 글자를 비교하는것 같다.
두번째 글자가 a가 아니니까 다시 두번째 문자를 a로 바꿔서 해보자 (1a34567890)
이번에는 성공적으로 넘어왔다.
이런식으로 계속 진행을 해주면 올바른 패스워드를 구할 수 있다.
'Security > Reversing.kr' 카테고리의 다른 글
[Reversing.kr] Music Player (0) | 2023.06.24 |
---|---|
[Reversing.kr] ImagePrc (0) | 2023.06.23 |
[Reversing.kr] Replace (0) | 2023.06.22 |
[Reversing.kr] Easy Keygen (0) | 2023.06.07 |