반응형
반응형

 

Write-up 쓴 날짜 : 2022-09-30 16:50

 

MSVBVM50.DLL
1.29MB

 

cconvert 파일은 악성파일로 탐지되어서인지 업로드가 안된다.

 

주제 - Continued reversing techniques in VB, use of decompilers and a basic anti-anti-trick


분석 1

 

 

cconvert 프로그램을 실행하면 위와 같이 나온다.

 

오른쪽 하단에 UNREGISTERED 문자열이 있다.

 

 

About 버튼을 누르면 위와 같이 뜨는데 하단에는 "Unregistered - Crack Me If You Can!" 문자열이 뜨고 있고, Register 버튼을 누르면 위와 같이 User Name과 Registration Code를 입력받는다.

 

 

임의의 값으로 slay/slay를 입력하면 위와 같이 "Sorry, Better Luck Next Time!" 문자열이 뜬다.

 


분석 2

 

 

이 프로그램은 VB로 만들어졌다.

 

 

디버거 내의 문자열 찾기 기능을 이용하면 위와 같이 문자열들이 나타난다.

 

문자열들 중 "Nice work! You're Now Registered!" 문자열을 참조하는 부분으로 간다.

 

 

409FCD 주소에서 해당 문자열을 참조하는데

 

409FBE 주소에서 조건 분기를 한다.

 

조건 분기를 할 때 조건은 409F98 주소에서 test 명령어에 의해 정해진다.

 

조건 분기가 이루어지면 "Sorry, Better Luck Next Time!" 문자열을 출력한다.

 


풀이 1

 

 

"Nice work! You're Now Registered!" 문자열을 띄울 것인지 "Sorry, Better Luck Next Time!" 문자열을 띄울 것인지 조건 분기가 있는 이 부분은 validate 버튼을 눌렀을 때 동작되는 함수 부분이다.

 

스크롤을 쭉 올려서 409C70 주소에 있는 함수 스택 프레임 프롤로그에 BP를 걸고 실행한다.

 

 

이름과 코드 입력 부분에 slay/slay를 입력하고 Validate를 누른다.

 

 

F8 키를 눌러 쭉 진행하다보면 위와 같이 409F76 주소에서 vbaVarTstEq 함수를 호출하는데 이 함수는 같은지 비교하는 함수이다.

 

이 함수의 인자로 esi 레지스터가 가리키는 함수의 반환값인 eax의 값이 넘어가는데 eax에는 19F1F4 주소가 담겨있고 스택에서 19F1F4 주소의 값을 확인하니 8이다.

 

그리고 스택에서 "REG-2300-CODE" 문자열이 보인다.

 

 

이어서 F8 키로 진행하다보면 409FBE 주소에서 조건 분기를 하는 것이 보이는데

 

왠지 "REG-2300-CODE"가 Registration Code일 것 같다.

 

 

REG-2300-CODE가 Registration Code 일 것이라는 건 일단 추측이므로 확실하게 하기 위해 409FBE 주소의 명령을 위와 같이 바꾸어 등록 성공 메세지가 뜨게 한다.

 

패치한 파일을 저장하고 패치된 파일을 실행한다.

 

 

패치된 파일을 실행 한 후 위와 같이 입력한 뒤 Validate를 누르면 Nice work 문자열이 뜬다.

 

 

그러면 위와 같이 재시작하라는 문구가 뜬다.

 

확인 버튼을 누르면 프로그램이 종료된다.

 

 

프로그램을 재실행하면 위와 같이 Register에 성공했다.

 


풀이 2

 

 

이전에 스택에 있는 데이터를 보고 REG-2300-CODE가 답일 것이라는 추측을 했었는데

 

위와 같이 입력해보면 등록 성공 메세지가 뜬다.

 

 

다른 이름에 같은 Registration Code를 입력해도 성공하는 것으로 보아 특정 암호 알고리즘 없이 Registration Code는 고정적인가 보다.

반응형

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

[Lenatuts4you] 12. Teksched  (0) 2022.11.02
[Lenatuts4you] 11. fjprodsetup  (0) 2022.11.02
[Lenatuts4you] 10-2. ReverseMe2  (0) 2022.11.02
[Lenatuts4you] 10-1. Tut.ReverseMe1  (0) 2022.11.02
[Lenatuts4you] 9. pc2am2p  (0) 2022.11.02

+ Recent posts