히공

코드엔진 - advance 3 본문

reverse engineering/CodeEngn

코드엔진 - advance 3

heegong 2021. 2. 5. 13:23
728x90

이러한 문제입니다.

 

 

 

 

 

 

 

 

이런식으로 출력이 됩니다.

 

 

 

 

 

 

 

 

x32dbg에서 No, that is not the.....를 찾았습니다.

 

 

 

 

 

GetDlgItemTextA밑에 bp를 걸어줍니다.

 

 

 

 

Name값을 가져옵니다.

그리고 GetDlgItemTextA의 반환값이 3이하면 틀렸다는 메세지를 출력합니다.

 

 

 

 

 

 

그 다음 GetDlgItemTextA에서는 비번값을 가져옵니다.

 

 

 

 

lstrcmpA로 입력한 비번과 3265754874를 비교합니다.

 

 

 

 

입력했습니다.

 

 

 

 

 

반환값이 0 입니다.

근데 이상합니다. 현재 eax값은 0인데 0을 0으로 나누면 오류가 납니다.

 

 

이러한 오류가 뜹니다.

 

 

 

 

 

한번 더 F8을 누르니 정답이라고 뜹니다.

 

 

 

문자열 찾기로 성공 메세지로 왔습니다. 여기에 bp를 걸고 다시 실행해봤습니다.

 

 

 

 

다시 입력해 줍니다.

 

 

 

 

 

이 곳으로 와서

f8을 눌러줍니다.

 

 

 

 

아까 bp 건 곳으로 옵니다.

 

 

 

 

그래서 이런 코드를 만들었습니다.

 

컴파일 후

 

 

Debug.zip
0.15MB

(vs를 못 쓰시는 분들을 위해 파일 첨부합니다.)

 

 

 

메인 함수로 오고

두 곳에 bp를 걸어줍니다.

 

 

 

오류가 뜹니다.

 

한번 더 F8을 눌러줍니다.

 

 

 

error을 출력하는 것을 볼 수 있습니다.

 

 

 

 

이러한 exception을 이용한 문제같습니다.

 

 

 

 

 

 

정답 : 3265754874

 

'reverse engineering > CodeEngn' 카테고리의 다른 글

코드엔진 - advance 5  (0) 2021.02.09
코드엔진 - advance 4  (2) 2021.02.08
코드엔진 - advance 2  (0) 2021.02.04
코드엔진 - advance 1  (0) 2021.01.04
코드엔진 - basic 20  (0) 2020.10.19
Comments