반응형
반응형

 

04.exe
0.00MB

 

 


분석 1

 

 

프로그램 실행 시

 

틀린 Serial 값 입력 시

 

About 버튼 클릭 시

 


분석 2

 

 

x32dbg에 프로그램을 연 후 문자열 검색을 해보면 위와 같이 아무것도 없다.

 

 

Ctrl + F8 키로 진행하다보면 위의 4011C0 주소에서 반복을 한다.

 

어떠한 문자열도 안뜨고, 저 부분에서 반복을 하는 것을 보니 아무래도 패킹이 되어 있나보다.

 

4011C2 주소에 BP를 걸고 F9 키를 누른다.

 

 

그러면 위와 같이 4011C2 주소에서 멈추게 되고, 문자열들이 보인다.

 

 

스크롤을 올리면 위와 같이 Serial 값이 일치했을 때의 메시지 창을 띄우는 40117B 주소가 보이고, Serial 값이 일치하지 않았을 때의 메시지 창을 띄우는 401191 주소가 보인다.

 

401115 주소와 40111E 주소에서 0과 비교하는 403100 주소의 데이터와 403128 주소의 데이터는 각각 Name의 값과 Serial 값의 길이이다.

 

그리고 40111C, 401125, 40117B 주소에서 401191 주소로 점프하여 Serial 값이 일치하지 않다는 메시지 창을 띄운다.

 

Name 값을 이용한 암호화는 401137 주소 ~ 401152 주소이고, 401160 주소에서 완성된 Serial 키 값을 403104 주소로 복사한다.

 

그 후 401172 주소에서 lstrcmpA() 함수를 호출하여 입력된 Serial 값과 생성된 Serial 값을 비교한다.

 


풀이

 

 

4011C2 주소에 BP를 걸고 F9 키를 눌러 실행한다.

 

 

그 다음 401172 주소에 BP를 걸고 F9 키를 눌러 실행한다.

 

 

위와 같이 CodeEngn / 12341234를 입력하고 Test 버튼을 누른다.

 

 

그러면 위와 같이 lstrcmpA() 함수에서 멈추고 입력값과 생성된 Serial 값 LOD-59919-A0024900을 비교한다.

 

 

프로그램에 위와 같이 입력하면 성공 메시지 창이 뜬다.

 


풀이

 

 

https://ch.codeengn.com/auth

 

 

위와 같이 입력한다.

 

반응형

'전쟁 > codeengn' 카테고리의 다른 글

[codeengn] Advance RCE 06(풀이 3번 프로그램 동작 과정 이해 필요)  (0) 2022.10.21
[codeengn] Advance RCE 05  (0) 2022.10.20
[codeengn] Advance RCE 03  (0) 2022.10.20
[codeengn] Advance RCE 02  (0) 2022.10.19
[codeengn] Advance RCE 01  (0) 2022.10.19

+ Recent posts