리버싱 입문

[리버싱 입문](9)[abex crackme 6]

황올뱀 2025. 2. 19. 19:04

 

abex crackme 6

 

이번엔 cmd 창이 떠서 숫자로 된 비밀번호를 입력하고 만약 맞다면 correct를 띄운다.

 

일단 correct, wrong 문자열부터 검색해보면

"password: "밑에 CMP와 JNE가 보인다.

아마 그 위에 있는 call 00428310에서 뭔가 할 것이라 예상할 수 있다.

그래서 값이 같지 않으면 wrong으로 점프하는 것이다.

또한 vba~~같은 함수 주석이 달리지 않고 지냥 주소로만 함수 지정을 해서 알기 어렵다.

각 함수의 동작을 따져보겠다.

 

call 0043C248: 1줄씩 실행해본 결과 cmd창에 글자를 쓰는 함수임을 알게 되었다.

 

call 00428310: 아마 함수 내부에서 글자를 입력할 때까지 동작이 멈추는 부분이 있는 것으로 보아

사용자 입력을 받고 스택에 저장하는 함수라 추측된다.

 

 

결국은 ebp-4에 있는 값과 7F97E56C를 비교해 같게 만들어야 한다.

ebp-4에 있는 값을 보면 내가 아무거나 쳐서 넣은 123456이다.

비번이 숫자 뿐이라고 했으니까 7F97E56C를 문자열로 바로 넣는게 아니라 16진수 -> 10진수 변환을 해줘 2140661100를 넣어보면 correct가 뜬다.

 

728x90
반응형