1 / 11

Open API 와 DLL Injection 을 이용한 자동 검색 사전의 설계 및 구현

졸업 실험 보고서. Open API 와 DLL Injection 을 이용한 자동 검색 사전의 설계 및 구현. Design & Implementation of an Automatic Search Dictionary Using Open API & DLL Injection. 성명 : 홍 준 기 지도교수 : 조 영 석 연구실 : S E R A. 목적 및 필요성. 기존 사전검색의 불편함 포털 사이트를 통한 사전 검색 여러 차례 Page 이동이 요구

Download Presentation

Open API 와 DLL Injection 을 이용한 자동 검색 사전의 설계 및 구현

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. 졸업 실험 보고서 Open API와 DLL Injection을이용한 자동 검색 사전의 설계 및 구현 Design & Implementation of an Automatic Search Dictionary Using Open API&DLL Injection 성명 : 홍 준 기 지도교수 : 조 영 석 연구실 : S E R A

  2. 목적 및 필요성 • 기존 사전검색의 불편함 • 포털 사이트를 통한사전 검색 • 여러 차례 Page 이동이 요구 • HTML page loading 지연 (배너, 광고 등의 추가 정보 로딩이 필요) • 임시파일의 생성으로 인한 추가적이 메모리가 소요 • 사전 검색 프로그램 • 정적인 검색내용만 출력 (다양한 검색 불가 ex. 한글 사전) • Web 기반이아닌 프로그램에서는 사전 내용 설치가 필요 (ex. 한글 사전) • 툴바를 이용한 검색 • 지원하는 단어의 정보 제한, HTML 페이지 내부에서만 동작 • 추가 기능 • DLL Injection을 이용한 APIHooking 기능(마우스 위치 텍스트 감지) • 기존 사전검색 기능에 사용자의 편의성을 고려한 기능 추가 • Open API를통해 확장된 검색과 빠른 접근을 제공 • 검색 정보의 보안성 제공

  3. 개발 범위 및 목표 • DLL Injection • DLL Injection? • 실행중인 프로세스로 DLL Code를 삽입하는 기법 • DLL에서 실행중인 프로세스를 감시하여 메시지를 가로채는 역할 • API Hooking • API Hooking? • DLL 내부에서 모든 프로세스에서 발생하는 Win32 API 함수의 호출을 감지 • GDI32.DLL 내부의 TextOutA/W() 계열 API 함수 호출을 감지 • Windows OS Mechanism을이용한 설계 • Windows application을 개발 시 다양한 언어와 도구를 통해 제작이 가능 • 다른 언어와 도구로 작성된 프로그램에서 작업을 수행하기 위한 방법은 다름 • 텍스트출력의 각 언어별로 방법이 다름MFC에서는 CDC::DrawTextDelphi에서는 TCanas::TextOut • 내부를 살펴보면 Windows 운영체제에서 제공하는 TextOut() API함수를 호출

  4. 개발 범위 및 목표 (cont’d) • 텍스트 감지 • Windows OS에 따른 처리 • ANSI, UNICODE 에 따른 처리 • 감지 가능 OS와 Program • OS • Windows 2000 / XP / Vista • Windows Server 2003 • Windows 계열에서 동작 가능 • Program • 메모장, 한글, 엑셀, 워드, 웹 브라우저 등에서 인식 가능 • Power Point, 메뉴 바 감지 불가

  5. 개발 범위 및 목표 (cont’d) • Open API • Open API? • Google, Naver, Daum, Yahoo 등 포털 사이트에서 자사의 API를외부에 공개한 검색 서비스 • 개발자나 일반 프로그래머가 작게는 운영사이트의 활용성을 도모하고, 넓게는 창조적이고 다양한 어플리케이션을 개발하도록 지원 • 개발자가 포털 사이트의 방대한 정보에 쉽게 접근 가능(ex. 한/영 사전검색, 블로그 / 지식인 / 웹 문서 / 백과사전 검색 등) • Open API의활용 • 기존 Database에 저장된 사전의 내용을 가져오는 방식과 다르게 Open API를 통한 사전 검색의 기능을 제공 • 다양한 Open API 사용을 통해 검색의 범위를 확장 • 한/영 키의 오타변환, 추천 검색 기능을 통해 확장된 검색기능을 제공

  6. 개발 범위 및 목표 (cont’d) • Open API • Open API를 통해 제공되는 방대한 데이터에 개발자의 아이디어를 더해 새로운 서비스를 생성 • 변해가는 웹 사이트와 같이 사용자가 정적인 서비스를 제공받는 것에서 다양한 서비스를 선택적으로 제공 받을 수 있는 기회를 제공

  7. 동작 과정 ② 마우스 움직임감지 ① DLL load ③무효화 영역 지정 ⑤ TextOutA/W() API의 출력 문자열을 리턴 ④ TextOutA/W() API 함수 호출 DLL Injection ⑧ XML Page의 URL로 접근 ⑩ 출력 ⑥ API Query 요청 ⑦ XML Page 리턴 ⑨ Parsing을 통해 검색 정보 추출 Naver Server

  8. XML / HTML Parsing Demonstration 검색 ① API Query 요청 ③ Parsing된 URL로 접근 ② XML page 내부 URL Parsing ④ 검색 정보 Parsing후 출력

  9. 실험 결과 영어 사전 검색 국어 사전 검색 오타 변환 • 사전 검색 • 일반 사전 검색의 경우 한글 / 영문을 판단하여 그에 따른 사전검색을 제공 • 영어 사전 검색의 경우 해당 단어의 발음듣기 기능 제공 • 오타변환 • 한 / 영키 설정 오류로 인한 오타를 수정 • 한글 -> 영문, 영문 -> 한글로 자동 변환

  10. 실험 결과 (cont’d) 추천 검색 웹 문서 검색 지식IN 검색 환경설정 • 추천 검색 • 추천 검색 API를 통해 검색 내용과 연관된 단어를 콤보 박스에 대입 • 지식인, 블로그, 웹 문서, 백과사전 검색 • 제목, 내부의 간단한 Description과 정보가 있는 Page의 URL을 나열 • 포털 사이트 Naver와 동일한 검색결과 출력

  11. 결론 / 향후 과제 • 결론 • Open API를 통한 직접적인 접근을 통해 검색 지연시간 감소 • 검색에 대한 추가적인 메모리 소요 없음 • 확장된 검색기능을 제공 • 사용자의 편의성을 고려한 기능 제공 • 검색 정보에 대한 보안성 제공 • 향후 과제 • 여러 포털 사이트에서 제공하는 Open API를 결합하여 추가된 기능을 제공가능 • HTML, XML page의 출력 방식 변경 시 변경에 따른 Parsing 방법이 필요 • API Hooking의 추가적인 작업이 필요

More Related