[SUA] 리버싱 스터디 [Abex's Crackme] #1,2 ~7

2020. 5. 3. 13:03정보보안/리버싱

728x90

Abex's Crackme #1

1. JMP 주소 수정

 

 

우리가 원하는 것은 HD가 CD-ROM이라고 인식하게 하는 Msg를 띄우는 것이다.

따라서 해당 메시지가 있는 0x0040103D로 Jump 시킨다.

 

2. CMP EAX, ESI

 

 

 

CMP 아래에 JE 문이 있으므로, EAX와 ESI의 값이 같도록 바꿔준다.

 

 

Abex's Crackme #2

1. EAX 조작

 

 

JE 로 EAX가 0이면 틀렷다는 메시지박스로 branch 되길래 EAX를 조작하였다.

 

2. EAX와 EDX에 해당되는 값 일치 시키기

 

 

처음에 엄청 헤맸는데 교재에서 vbaVarTsrEq가 입력 비밀번호와 원래 Serial 번호를 비교하는 함수일거라고 추측하면

바로 그 위에서 입력값을 받는 부분이 있을 것이라고 했다.

따라서 EDX와 EAX가 각각 그 값에 해당하고 EAX와 ECX의 메모리 번지를 찾아서 해당 메모리번지에 쓰여진 값을 보니 UNICODE로 Serial 넘버가 존재한다(고 교재에서 말하더라)

 

교재에서, Name에 다른 값을 주었을 때는 Serial이 변한다고 하였다.

그래서 Name 문자열 기반으로 Serial을 그때그때 생성한다고 추측하였(다고한다. VB는 Event 발생시 함수가 돈다더라) Serial 생성 알고리즘 함수를 찾기로 하였다.

 

https://binzip2.tistory.com/7

Abex’ Crackme #2

Abex’ Crackme #2 이번 crackme는 Visual Basic으로 작성되었다고 한다. VB는 MSVBVM60.dll이라는 VB 전용 엔진을 사용하며, 사용 예를 들어보면 메시지 박스를 출력할 때 MsgBox라는 함수를 호출해 그 함수 안에..

binzip2.tistory.com