Reverse Engineering
-
[reversing.kr] Replace 풀이Wargame/reversing.kr 2021. 3. 9. 15:04
1. 프로그램 분석 우선 PEiD에 집어넣어보자. 위와 같이 단순한 Visual C++로 작성된 프로그램임을 확인할 수 있다. 프로그램을 실행해보자. 위와 같은 윈도우가 나타난다. 아무 값이나 입력해보려고 했지만 숫자가 아닌 값이 input으로 입력으로 들어올 경우 나타나지 않으며, 임의의 숫자를 넣고 Check 버튼을 누르면 프로그램이 비정상적으로 종료된다. 바로 OllyDbg를 통해 분석을 해보자. 2. Debugging(with OllyDbg) 프로그램을 실행하기 전에 Ctrl+N을 이용해 사용되는 API들을 살펴보자. 위와 같이 DialogBox 관련 API들이 있는 것으로 보아, 대화 상자 형태의 윈도우 임을 알 수 있다. Check 버튼을 눌렀을 때 GetDlgItemInt를 통해 입력 값을 ..
-
[Lenas Reversing for Newbies] 16Wargame/Lenas Reversing 2021. 3. 8. 15:07
이번 실습에서는 다음 두 가지 프로그램을 패치한다. - URLegal - GIF Movie Gear 1. URLegal (1) 프로그램 실행 첨부된 파일을 이용하여 URLegal을 설치한 후 실행하고, 종료 버튼을 누르면 다음과 같은 등록을 독촉하는 대화 상자 창이 나타난다. 응용 프로그램의 리소스 관련 편집 도구인 exeScope를 통해 어떤 대화상자가 나타나는 것인지를 파악하고, 대화 상자를 생성하는 코드로 이동하여 조건을 적당히 수정하여 프로그램이 등록된 것으로 인지하도록 패치해보자. (2) Debugging eXeScope로 URLegal 파일을 열어보자. 위와 같이 Resource -> Dialog -> 103(리소스 ID)를 선택하면 이전의 실행화면과 같은 대화상자대화 상자 창이 나타나는 것을..
-
-
-
[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을 살펴보자. 파란색 체크 표시한 부분에서..
-
[책 리뷰] 리버싱 핵심 원리이것저것 2021. 2. 26. 18:45
www.aladin.co.kr/shop/wproduct.aspx?ItemId=19577173 리버싱 핵심 원리 ‘리버싱’에 필요한 핵심 원리를 50여개 장을 통해 꼼꼼하게 설명한 책. 저자가 오랫동안 안철수 연구소에서 경험을 토대로 직접 작성한 다양한 코드는 물론 리버서라면 꼭 알아야 할 다양한 www.aladin.co.kr 컴퓨터 공학 전공 3학년이 끝날 무렵, 본격적으로 보안 공부를 시작해보겠다고 다짐하였고 핵심 분야인 리버싱, 시스템 해킹, 웹 해킹 중 리버싱을 공부하기로 마음먹었었다. 많은 분들이 리버싱 필독 서적으로 추천을 했는데 확실히 다양한 내용을 다루지만 후반부는 어려운 듯하다. 매 챕터 읽어나가면서 코드를 직접 타이핑하며 실습을 진행해나갔고, 중요하다고 생각되는 챕터들은 블로그에 기록하는..
-
[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에 주목하여 디..
-
[책 리뷰] 윈도우즈 API 정복 1, 2이것저것 2021. 2. 20. 21:29
www.hanbit.co.kr/store/books/look.php?p_code=B5569582339 윈도우즈 API 정복(개정판), 제1권 "윈도우즈 API 정복"이라는 이름으로 이 책의 초판을 출판한지 벌써 5년이 흘렀으며, 그 동안 꾸준하게 업데이트하여 2판을 출판하게 되었습니다. 기본적인 구성과 논리 전개 방식은 1판과 같으나 www.hanbit.co.kr www.hanbit.co.kr/store/books/look.php?p_code=B7681063657 윈도우즈 API 정복(개정판), 제2권 "윈도우즈 API 정복"이라는 이름으로 이 책의 초판을 출판한지 벌써 5년이 흘렀으며, 그 동안 꾸준하게 업데이트하여 2판을 출판하게 되었습니다. 기본적인 구성과 논리 전개 방식은 1판과 같으나 www.h..