Demo버전 및 Trial버전의 정식 키 얻기
Reversing Engineering

Demo버전 및 Trial버전의 정식 키 얻기

연구소 인턴 2023. 8. 14.
300x250
반응형

<이론>

Demo버전이나 Trial버전의 정식키를 얻는 방법은 세 가지가 있습니다.

1. 오류 메시지로 시리얼 키 찾기

2. 오류 메시지 없이 시리얼 키 찾기

3. 문자열을 확인하여 시리얼 키 찾기

 

이 중에서 금일 해볼 실습은 오류 메시지로 시리얼 키 값을 찾는 방법입니다.

※ 본 실습을 악용하게 된다면 법적 책임은 사용자 본인에게 있음을 고지합니다.

 

<실습>

이번 실습에서 사용될 대상 프로그램은 Keylogger라고 불리는 해킹에 자주 사용되는 프로그램입니다.

사용자가 입력하는 모든 키를 저장하여 알려주는 방식으로, 예전 PC방에서 자주 해킹에 사용된 프로그램입니다.

지금은 PC방이 서버 부팅 시스템으로 바뀌었지만, 예전에는 PC에 운영체제가 설치되어 있어서 자주 사용된 프로그램입니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

저는 사용자명과 시리얼키가 없으니까 아무거나 입력해 봅니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

아래와 같은 오류가 나오면서 에러가 나옵니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

이제 오류 메시지를 확인하였으니, OllyDbg를 실행시켜 해당 파일을 열어봅니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

실행을 시킵니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

PUSH EBP에 브레이크 포인트가 지정되어 있어서 멈추는 것을 볼 수 있습니다.

한 줄씩 계속 실행을 시킵니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

그러면 코드 부분에 반복으로 실행되는 부분을 볼 수 있는데,

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

아래 사진과 같이 ASCII코드를 한 글자씩 메모리에 넣느라 반복이 되는 부분입니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

한 줄씩 실행 시켜보면 글자가 줄어드는 것을 볼 수 있습니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

0043E8DD 부분에 CALL bpk.0043EBEA로 어셈블리어가 작성되어 있습니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

그와 동시에 프로그램이 켜지는 것을 볼 수 있습니다.

아직 시리얼 키를 모르기 때문에 아무렇게 입력을 해줍니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

F6을 눌러 입력된 String 사이에서 오류 문구가 나오는 부분을 찾습니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

더블클릭을 해준다음 F2를 눌러 브레이크 포인트로 지정해 줍니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

Ctrl + F2를 눌러 프로그램을 재시작해 프로그램을 켜주고, 키 값을 입력해줍니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

입력을 한다음 OK버튼을 누르는 순간 아까 지정한 브레이크 포인트 때문에 OllyDbg화면이 보이게 될 것이며, 오류창이 아직 나오지 않는걸 볼 수 있습니다.

오른쪽 하단에 ASCII부분에서 스크롤을 올려보면, 시리얼 키 값과 제가 입력한 것을 찾을 수 있습니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

찾은 시리얼 키를 입력하면 정상적으로 등록되는 것을 확인할 수 있습니다.

Demo버전 및 Trial버전의 정식 키 얻기 - undefined - <실습>

300x250
반응형

댓글