처음 이런 프로그램을 대상으로 분석을 진행해보았습니다,,,
OllyDBG 의 Back to user 기능에 대해서도 많은 공부가 되었고
무엇보다 어셈블리 하나만 잘못 보면 역산이 뻐버벙 오류가 나더군요..
무엇보다 기존에 스타 시디키 리버싱과 관련한 글들이 구글링해 본 결과 굉장히 자세히 나와 있어서 무리없이 금방 할 수 있었던 것 같습니다.
(제가 참고한 블로그 글입니다. 굉장히 자세히 나와있습니다.
일련의 과정을 따라가면서 할 수 있는 부분만 했는데도, 많은 공부가 되었습니다.
http://carpedm20.blogspot.com/2012/08/blog-post_7630.html)
* 저는 알고리즘 분석은 직접 했습니다. 알고리즘을 찾아가는 과정은 다른 블로그의 글을 보고 조금씩 도움을 받아 찾았습니다.
* 주의 : 32-bit 프로그램은 32-bit 환경에서 디버깅해야 Back to user가 정상적으로 작동한다고 stackoverflow에서 답을 얻을 수 있었습니다.
분석 환경
---------------------------------
Virtual BOX VM
OS : Windows 7 SP1 (32-bit)
RAM : 4GB
---------------------------------
사진은 추후 올리도록 하겠습니다.
정리하자면
1. CD-Key 를 입력하는 부분에서 Pause를 한 뒤에 Alt+F9 를 사용해서 Back to user로 전환.
2. CD-Key 입력하는 메시지 박스의 확인 버튼을 누르면 마지막 Call 부분으로 이동
3. 거기서부터 calls from .. 을 추적하면서 CD-Key를 검사하는 알고리즘을 발견
(개인적으로 calls from... 을 조사하는 것보다는 문자열을 검색해서 찾는 편이 훨씬 빠를 것 같습니다 실제로 그렇게 찾아도 보았습니다.)
4. 알고리즘 분석을 통한 CD-Key 생성 or 프로그램 패치를 통한 우회
입니다.

이 글로 인해 문제가 될 시 글은 삭제하거나 블러처리 하도록 하겠습니다.
'리버싱 > 소소한 재미' 카테고리의 다른 글
민속놀이 뜯어보기 (2) - 디아블로2 CD-Key 크랙하기(1) (0) | 2022.07.22 |
---|