본문 바로가기
정보보안/리버싱

리버싱) abexcm4.exe - abex crackme, 비주얼 베이직 프로그램 리버싱

by _miiiiiin_zzang_ 2021. 6. 6.

https://hack-min.tistory.com/63

 

리버싱) abexcm3.exe - abex crackme

https://www.softpedia.com/get/Programming/Packers-Crypters-Protectors/Detect-It-Easy.shtml#download Download Detect It Easy 3.01 Download Detect It Easy - An easy to use piece of software that can c..

hack-min.tistory.com

필요한 파일은 이 전 게시물에 작성.

 

abexcm4-voiees.exe
0.02MB

시리얼 번호가 맞을 때 'Registered' 버튼이 활성화 되는 프로그램

해당 프로그램은 비주얼 베이직으로 만들어졌으며

비주얼 베이직은

1. MSVBVM60.DLL에 있는 API를 호출하면서 동작을 수행

2. 비주얼 베이직은 이벤트 기반 언어로 함수와 변수는 관련된 이벤트 핸들러에 종속

3. 인터프리터 방식으로 동작하는 언어, p-code 상태로 저장되어 p-code를 기계어로 바꿔주는 작업이 필요

 

API 검색

오류 메시지를 확인할 수 없으므로 모듈에서 호출하는 API 중에서 비교함수 찾아봄

오른쪽 버튼 > Serch for > All intermodular calls : 어떤 주소에 있는 명령어가 어떤 주소에 있는 API를 호출하는지 모듈 이름과 함께 보여줌, DialogBox, MessageBox, Reqistry, ReadFile/WriteFile/CreateFile, Time, compare 등의 함수를 확인

 

프로그램 구조 분석

임의의 숫자 입력 시 올바르지 않은 일련번호를 입력하면 "Registered" 버튼이 비활성화되고 올바른 일련번호 입력 시 활성화 됨

EAX, ECX가 스택으로 push 되므로 함수로 전달되는 인수 임을 알 수 있음

__vbaStrCmp 함수의 실행 결과는 EAX 레지스터에 담김

댓글