Write-up 쓴 날짜 : 2022-09-30 11:39
주제 - Continued reversing techniques in VB, use of decompilers and a basic anti-anti-trick
분석 1
ReverseMe2 프로그램을 실행하면 위와 같다.
Name과 Register 키를 입력받게 되어 있고, UNREGISTERED가 하단에 떠 있다.
그리고 Register 버튼이 비활성화 되어 있다.
위와 같이 "slay"를 입력하고 Registration에 입력하려고 했더니 run-time error가 떴다.
Registration 부분에 영어로 입력해서 그런가 싶어서 위와 같이 숫자를 넣어봤는데 같은 에러가 떴다.
에러 메세지에 숫자 5가 있는 걸 봐서 username을 5글자 이상이여야 하나 싶어서 8글자를 넣고, Registration에 숫자만 입력해봤더니 에러가 뜨지 않는다.
위와 같이 두 항목 모두 숫자만 적었을 때도 에러가 뜨지 않는다.
veoveo34는 프로그램에서 비활성화 되어 있는 버튼을 활성하기 위해 사용된다.
veoveo34 압축을 풀고, 실행한 뒤 "Enable Buttons(auto)" 항목을 체크해주면 끝난다.
분석 2
이번 프로그램도 VB로 만들어진 프로그램이다.
디버거 내의 문자열 찾기 기능을 보니 위와 같이 나온다.
UNREGISTERED 문자열을 참조하는 부분으로 가본다.
404F8C 주소에서 해당 문자열을 참조한다.
스크롤을 올려보니 404F5C 주소에서 "UNREGISTERED: Key File found, just do keep on going !!!" 문자열을 참조한다.
스크롤을 더 올려보면 위와 같이 404F18 주소에서 "Registered! Why did it take so long?" 문자열을 참조한다.
이 부분이 등록에 성공했을 때 나타나는 문자열인 것 같다.
스크롤을 쭉 위로 올리면 404090 주소에서 함수 스택 프레임 프롤로그 부분이 나온다.
404090 주소에 BP를 걸고 F9 키로 실행한다.
위와 같이 "slayslay"와 12345를 입력하고 Register 버튼을 누르면 위와 같이 404090 주소에서 멈춘다.
즉 404090 주소는 Register 버튼을 눌렀을 때 처리하는 함수 부분이다.
F8 키를 눌러 진행하다보면 4040E3 주소에서 vbaFileOpen 함수를 호출하게 되는데, 이 함수의 인자를 보면 reginfo.key 라는 이름이 있다.
이 함수는 reginfo.key 파일을 열어서 입력한 Name 값과 Registration 값을 기재하고, REGISTERED! Why did it take so long? 문자열을 띄운다.
풀이
veoveo34 프로그램으로 Register 버튼을 활성화해주고, 위와 같이 값을 입력한 뒤 Register를 입력하면 된다.
'전쟁 > lena tuts4you' 카테고리의 다른 글
[Lenatuts4you] 11. fjprodsetup (0) | 2022.11.02 |
---|---|
[Lenatuts4you] 10-3. CConvert (0) | 2022.11.02 |
[Lenatuts4you] 10-1. Tut.ReverseMe1 (0) | 2022.11.02 |
[Lenatuts4you] 9. pc2am2p (0) | 2022.11.02 |
[Lenatuts4you] 8. artgem11 (0) | 2022.11.02 |