Lenas reversing
-
[Lenas Reversing for Newbies] 15Wargame/Lenas Reversing 2021. 2. 26. 21:41
1. 프로그램 실행 첨부된 프로그램을 실행하면 다음과 같은 창이 나타난다. Windows 10에서는 글자가 잘리는데 XP에서 실행하면 "I'm the starting nag. Remove me"라는 문자열이 보인다. 잠시 기다리면 다음과 같은 창이 나타난다. 이번 문제의 목표가 나타나 있다. Exit 버튼을 눌러보자. 위와 같은 창이 나타난 후 잠시 뒤에 프로그램이 종료된다. 이번 실습의 목표는 메인 창(실행화면 2) 앞 뒤로 나타나는 nag window가 나타나지 않게끔 패치하는 것이다. 2. Debugging(with OllyDbg) 파일을 열고, F9로 실행한 후, 앞의 nag window가 나타나자마자 OllyDbg로 pause를 한 후 call stack을 살펴보자. 파란색 체크 표시한 부분에서..
-
[Lenas Reversing for Newbies] 14Wargame/Lenas Reversing 2021. 2. 23. 19:34
1. 프로그램 실행 첨부된 DVDMenuStdio.exe를 실행해보자. 위와 같이 30일 남았다는 알림 창이 나타난다. Enter Reg.Code 버튼을 클릭하면 다음과 같이 정보를 입력하라는 창이 나타난다. 이전 문제들과 마찬가지로 프로그램이 정상적으로 등록된 것으로 인식하도록 코드를 패치해보자. 2. Debugging(with OllyDbg) OllyDbg로 파일을 연 후, F9를 눌러 실행하여 Enter Registration Info 창에서 정보를 임의로 입력까지 해보자. Ok 버튼을 누르기 전에 어떤 지점에서 BP가 걸릴지 예측을 해보자. Lena는 KillTimer() API가 호출될 것이라는 예측하에 KillTimer() API에 BP를 설정하는데 MessageBox() API에 주목하여 디..
-
[Lenas Reversing for Newbies] 13Wargame/Lenas Reversing 2021. 2. 20. 21:11
1. 프로그램 실행 첨부된 XoftSpy.exe를 이용해 프로그램을 설치한 후 실행해보자. 좌측 About 항목을 선택해보자. license가 등록되지 않았다고 한다. 이번 실습의 목표는 이전 실습들과 마찬가지로 프로그램 license를 등록된 상태로 크랙 하는 것이다. 2. Debugging(with OllyDbg) OllyDbg로 프로그램을 실행시킨 후, About의 "Enter Registration Code" 버튼을 선택하자. 화살표 표시한 부분에 임의로 입력을 한 후 OK 버튼을 눌러보자. 위와 같이 "Invalid code."라는 문자열을 포함한 메시지 박스가 나타난다. MessageBox() API에 BP를 설정한 후 다시 등록을 시도해보자. 위와 같이 BP에 적중한다. 이 상태에서 F8을 ..
-
[Lenas Reversing for Newbies] 12Wargame/Lenas Reversing 2021. 2. 18. 20:03
1. 프로그램 실행 첨부된 Teksched.exe를 실행해보자. 위와 같이 unregistered 버전임을 확인할 수 있다. Help->About을 클릭하여 정보를 확인해보자. 아래의 Use Reg Key 버튼을 클릭하면 다음과 같이 키 등록을 할 수 있는 창이 나타난다. 임의의 키를 입력했을 때 등록이 되도록 크랙 하는 것이 이번 문제의 목표다. 2. Debugging(with OllyDbg) OllyDbg로 Teksched.exe 파일을 열고 search for referenced string을 이용해 참조되는 문자열을 검색해보자. 성공적으로 등록되었을 때 registration이라는 키워드가 포함되었을 것이라는 가정하에 registration 문자열을 검색해보면 다음과 같은 문자열이 참조되는 것을 ..
-
[Lenas Reversing for Newbies] 11Wargame/Lenas Reversing 2021. 2. 9. 22:44
1. 프로그램 실행 첨부된 fjprodsetup.exe를 이용해 프로그램을 설치한 후 프로그램을 실행해보자. 사진 파일로 퍼즐을 만들어 주는 프로그램인 듯하다. 메뉴바에서 Desk->Select 항목을 선택하면 다음과 같은 메시지 박스가 나타난다. 이번 문제의 목적은 이전 실습들과 마찬가지로 프로그램을 등록된 상태로 인식하게끔 패치하는 것이다. (Lenas에서는 또한 Unregistered 상태에서의 Window 타이틀바에 (Unregistered) 문구가 나타나는데 왜 안 나타나는지 모르겠다.) 2. Debugging(with OllyDbg) OllyDbg로 프로그램을 연 후, 타이틀바에 Unregistered 문구가 나타나는 것을 이용하여 문자열 탐색을 해보자. 위와 같이 AL 값에 의해 "Flash..
-
[Lenas Reversing for Newbies] 10Wargame/Lenas Reversing 2021. 2. 8. 22:51
Lenas Reversing 10에서는 아래와 같은 세 가지 프로그램을 패치하는 실습을 진행한다. 모두 VB로 작성된 프로그램이다. - Tut.ReverseMe1.exe - ReverseMe2.exe (문제가 툴에 의존하는 경향이 있고 가치를 잘 모르겠다) - CConvert.exe 1. Tut.ReverseMe1.exe (1) 프로그램 실행 프로그램을 실행하면 위와 같이 Nag Screen이라는 메시지 박스가 나타난다. 확인 버튼을 눌러보자. Regcode를 입력하라는 윈도우가 나타난다. Nag? 버튼을 누르면 프로그램 실행 1과 같은 창이 나타나고 임의의 Regcode를 입력한 후 Register me! 버튼을 누르면 다음과 같이 "Wrong registration code!"라는 문자열이 나타난다...
-
[Lenas Reversing for Newbies] 09Wargame/Lenas Reversing 2021. 2. 2. 23:11
1. 프로그램 실행 첨부된 파일을 이용해 PC2AM2_PRO를 설치한 후, PEiD로 열어보자. 해당 프로그램은 Visual Basic으로 작성되었음을 알 수 있다. 일반적으로 C로 작성된 프로그램들과는 달리 VB 전용 엔진인 MSUBUM60.dll을 사용하여, VB API()를 알아야 분석하기 수월하다고 한다. Lenas 강의에서도 OllyDbg를 이용한 분석이 썩 깔끔하지는 않아 따로 SmartCheck이라는 툴을 이용해 디버깅하기도 한다. Lenas 강의에서는 다음과 같은 VB API에 초점을 맞춰 분석을 진행한다. __vbaVarTstEq, __vbaVarTstNe, __vbaVarCmpEq, __vbaStrCmp, __vbaStrComp, __vbaStrCompVar 모두 두 값을 대상으로 비교..
-
[Lenas Reversing for Newbies] 08Wargame/Lenas Reversing 2021. 2. 2. 01:30
1. 프로그램 실행 첨부된 setup.exe 파일을 실행시켜 ArtGem.exe를 실행시켜보자. ? 표시 버튼을 눌러 Register 항목을 선택하면 다음과 같이 Key-Code를 이용하여 등록할 수 있다. 아무 값이나 입력해보자. "Invalid Key!" 문자열이 나타나는 부분을 중점으로 디버깅을 진행해보면 될 것 같다. 2. Debugging(with OllyDbg) "Invalid Key!" 문자열이 나타나는 부분을 확인해보니 위와 같은 코드들이 보인다. 조금 위에는 "Thank You for Registering!"이라는 문자열이 나타나는 것으로 보아 조건에 따라 다른 문자열을 갖는 MessageBox가 호출되는 듯하다. 가장 근처에 있는 conditional jump를 보니 동그라미 친 부분의..