이메일을 적으시면 보안관련 소식을 받을수 있습니다.
이메일:

지금은 새벽 두시반이네요 ㅎㅎ 이제 본격적으로 문제를 풀어볼까요?

이글은 [Reversing]Manual Unpack & Back to user mode (1) 에서 연결됩니다.

앞의 1에서 Unpack 을 한 실행파일을 올리디버거로 불러들이면 아까완달리 아무 메시지박스없이 실행이 되는것을
알 수 있을것입니다. 바로 압축이 풀렸기 때문이지요. 일단 F9키로 실행을 시켜 어떤 프로그램인지
살펴보도록 하겠습니다. 무슨 입력창이 뜨는군요 밑에 Check the Serial 이란 문구가 보이는걸로 보아서는
이번 문제는 아무래도 Serial key를 알아내는 문제인것 같습니다. 일단 아무 숫자나 넣어보겠습니다. 틀렸군요.

스트링 검색을 통해서 문제를 해결할수도 있지만 이번엔 Back to user mode 기능을 사용해서
문제를 풀어보도록 하겠습니다. 특정이벤트가 일어나기전에 설정해주고 Call명령이 일어난 직후의 위치를
잡아낼수가 있는 기능입니다. 그 사용의 순서는 다음과 같습니다.

1. 프로그램 attach
2. F9 으로 실행
3. 프로그램을 정지된 상태로 조작
4. pause(F12) 누른후 Alt + F9 으로 back to user mode 설정
6. 이벤트발생후 올리디버거에 해당부분에 커서가 설정

일단 Wrong Serial 이벤트가 발생한 상황이니 F12를 눌러 Pause를 시키도록 하겠습니다.
역시 올리디버거의 오른쪽아래의 글자가 Paused 로 변경되었는지 확인해주시기 바랍니다.
정지가 된것이 확인이 되면 Alt+F9을 눌러 Back to user mode로 설정을 해주면 Paused 부분이
다시한번 바뀌는것을 확인 할 수 있습니다.


Back to user mode 로 진입하였다면 Wrong Serial 메시지박스의 확인을 눌러줍니다.
확인을 누르고 나면 해당메시지를 호출하는 부분을 자동으로 찾아서 화면에 표시를 해줍니다.


MessageBoxA 에 관한 winapi는 다음과 같습니다.우리는 Text 형식을 찾으면 되겠습니다.



올리디버거에 표시된 부분의 위쪽에 Text 가 입력되는 부분이 있고 해당라인의 코드가 PUSH ESI 로 되어있는것을
확인할 수 있습니다. 그리고 오른쪽의 레지스터 창중 ESI가 나타내는 주소값을 알아내고 이동을 합니다.


ESI 가 참조하는 주소값 00442c68 주위를 찾아보면 문제해결과 관련되어 보이는 문구들이 몇몇 눈에 보이고
그위에 ASCII 값의 숫자가 씌여진 부분도 보입니다.


 위 부분에서 다시 조금만더 스크롤을 올리다보면 시리얼키라고 생각되는 숫자가 EDX 에 저장이되고
CALL 명령이 실행되는것을 볼수있습니다. 그후 CMP 문으로 비교후 JNZ 로 분기를 하여 메시지를 출력하는것을
볼수있죠.


시리얼키로 추정되는 부분의 바로윗라인에 F2키로 BreakPoint를 설정한후 F7로 Step into를 하면 제가 입력한값이
들어가서 비교가 되는것을 알수 있습니다.



그럼 이제 제가 입력한 값과 시리얼키로 추정되는 값을 비교를하여 분기를 한다는 사실을 알아내었으니 시리얼키
입력창에 12011982 를 입력하고 결과를 지켜보겠습니다.



우리의 예상이 맞은것을 확인할 수 있습니다. 이상 호환Reversing을 마치도록 하겠습니다.

이포스팅은 호환의IT이야기(http://tigernet.tistory.com)에 공동기재되고 있습니다.

[Reversing]Manual Unpack & Back to user mode (1)

****************************************************************************************************

본 포스팅의 저작권은 보안인닷컴과 작성자에 있으며 상업적 이용을 배제하며 콘텐츠 이용시에는 반드시 출처와 링크를 이용해 주시기 바랍니다. 무단도용은 저작권법에 저촉을 받습니다..

****************************************************************************************************

Posted by 53PE
,