1 / 15

System B Team Presentation

System B Team Presentation. 발표자 : 김보라. 팀장 : 최창원 팀원 : 권주승 차범석 이용준 김보라. 목차. 지난 주에 배웠던 것 Process Explorer 함수 호출 규약 Lena’s Reversing for Newbies 어떻게 리버싱을 공부해야 하나 ??. 지난 주에 배웠던 것. 스택 (Stack) Abex ’ Crackme #1 스택 프레임 Abex ’ Crackme #2. 9. Process Explorer. 프로세스 ?

Download Presentation

System B Team Presentation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. System B Team Presentation 발표자 : 김보라 팀장 : 최창원 팀원 : 권주승 차범석 이용준 김보라

  2. 목차 • 지난 주에 배웠던 것 • Process Explorer • 함수 호출 규약 • Lena’s Reversing for Newbies • 어떻게 리버싱을 공부해야 하나??

  3. 지난 주에 배웠던 것 • 스택(Stack) • Abex’ Crackme #1 • 스택 프레임 • Abex’ Crackme #2

  4. 9. Process Explorer 프로세스? : 프로그램을 구동하여 ‘메모리에 적재된 상태’로 실행되는 하나의 작업단위 Process Explorer : Sysinternals(현재 MS에서 인수)에서 개발한 프로세스 관리도구 (ex. 작업관리자) 로서 프로세스 관리에 탁월함 프로세스 트리 구조, 실행,종료 시 확인 쉬움, 프로세스 중지, 재개 기능과 종료(Kill)기능도 갖춤

  5. 10. 함수 호출 규약 • 함수 호출 규약(Calling Convention) : 함수를 호출 할 때 파라미터를 어떠한 방식으로 전달하는가? 에 대한 일종의 약속 즉, 함수 호출 후의 ESP(스택 포인터)를 어떻게 정리 하는지에 대한 약속!!!

  6. 10. 함수 호출 규약 • Caller(호출자) 함수를 호출한 쪽 • Callee(피호출자) 호출을 당한 함수 Ex) Main()에서 Printf()를 호출한 경우, Caller = Main() Callee = Printf()

  7. 10. 함수 호출 규약 • 주요한 함수 호출 규약 1. Cdecl 메인 함수(Caller)에서 ‘ADD ESP, 스택의 크기’로 스택을 정리해 주는 방식(VC++에서 주로 사용) 2. Stdcall 위 방식과는 반대로 Callee에서 사용한 스택을 정리 하는 방식 (RETN 8 = RETN + POP 8) : ESP 에서 + 8하고 리턴하라.

  8. 10. 함수 호출 규약 • Fastcall 기본적으로 stdcall과 같지만, 함수에 전달하는 파라미터의 일부(2개)를 스택 메모리가 아닌, 레지스터를 이용하여 전달 ) 예를 들어, 어느 함수의 파라미터가4개라면, 앞의 2개는 EAX, ECX을 이용하여 전달 ) 레지스터를 사용하므로 조금 더 빠른 전달이 가능

  9. 11. Lena’s Reversing for Newbies • 목표 1. 모든 잔소리(Nag)를 제거하라 2. 등록 코드를 찾아내라.

  10. 11. Lena’s Reversing for Newbies 코드 분석 ThunRTMain발견 = 이 프로그램은 VB로 코딩 되었다.

  11. 11. Lena’s Reversing for Newbies 목표 1. 잔소리(Nag) 제거 방법 1 : 메시지 함수 호출 부분을 아예 없앤다. 방법 2 : 메시지 함수가 속해 있는 더 큰 함수(Caller)를 호출 못하게 하거나, 아예 메시지 함수를 부르기 전에 리턴한다.

  12. 11. Lena’s Reversing for Newbies 리턴 시 RETN 4를 쓰는 이유 : 402C17 함수에게 전달된 파라미터를 정리하기 위하여 (VB에서는 stdcall방식을 사용)

  13. 11. Lena’s Reversing for Newbies 목표 2. 등록 코드를 찾아라 1)문자열 검색 기능을 이용하여 조건 분기 이후의 출력될 문자열을 발견 2)문자열 비교 함수를 찾아낸 후, 그 것이 비교할 문자열로 받는 문자열을 찾아내면, 그것이 등록 코드다!!

  14. 12. 리버싱을 공부하는 데 필요한 것 • 첫째도 인내심,둘째도 인내심,셋째도 인내심 • 여유로운 마음가짐(시간적 여유) • 구글을 검색할 수 있을 정도의 체력

  15. 이로서 발표가 끝났습니다 감사합니다.

More Related