• Title, Summary, Keyword: 역공학

Search Result 239, Processing Time 0.06 seconds

An analysis on Technics for Preventing Android Reverse Engineering (안드로이드 어플리케이션 역공학 방지 기술 분석)

  • Pak, Min-Gun;Oh, Jeonghui;Lyoo, Hwahn-il;Kim, Soo Min
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • /
    • pp.353-356
    • /
    • 2014
  • 역공학 방지 기법이 적용되지 않은 어플리케이션은 악의적인 역공학에 취약할 수밖에 없다. 악의적인 역공학은 사회적으로 여러가지 손실을 가져온다. 그러므로 역공학 방지 기법을 적용하여 어플리케이션을 보호해야 한다. 역공학 방지 기법은 다양하며, 크게 자바 소스 난독화, Smali 코드 조작, Dex 파일 포맷 조작, 그리고 Zip 파일 포맷 조작 기법으로 나눌 수 있다. 자바 소스 난독화는 코드의 가독성을 떨어트려 안드로이드 어플리케이션의 역공학을 어렵게 하는 기법이다. Smali 코드 조작 기법은 Goto 문 추가, 예외 처리 재귀 기법 등을 통하여 역공학을 막는 기법이다. Dex 파일 포맷 조작 기법에는 클래스명 길이 변경, 헤더 크기 변경 등을 통해 역공학을 어렵게 만드는 기법이다. Zip 파일 포맷 조작 기법은 Zip 파일 포맷에서 헤더 값을 조작하여 마치 암호화된 것처럼 보이도록 만드는 기법이다. 본 논문에서는 이러한 다양한 기법들에 대해서 설명하고 이를 비교 분석한다.

  • PDF

A Study on The Data Structure Extraction using Database Reverse Engineering (데이터베이스 역공학을 이용한 데이터 구조 추출에 관한 연구)

  • 황태희;김미화;배석찬
    • Proceedings of the Korea Society for Industrial Systems Conference
    • /
    • /
    • pp.447-451
    • /
    • 2000
  • 데이터베이스 역공학은 소프트웨어의 융통성을 개선하여 과거의 개발들을 재사용하고 유지비용을 감소하는데 목적이 있다. 파일과 데이터베이스 구조의 의미 기술을 회복하는 것은 역공학의 중요한 측면이다. 이것은 데이터베이스의 정확한 데이터 구조와 무결성 제약을 발견하는 데이터 구조 추출을 포함한다. 본 논문에서는 관계 데이터베이스에 초점을 두고 소프트웨어 유지 보수를 용이하게 하기 위하여 역공학을 이용한 데이터 구조 추출 방법을 제안한다.

  • PDF

A study of the reverse engineering for the modeling formed specification(UML) for from software source code (소프트웨어 원시코드로부터 모델링 정형명세(UML) 역공학 프로세스 연구)

  • Kim, Yeon-Jung;Kim, Byeong-Gi
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • /
    • pp.1853-1856
    • /
    • 2003
  • 모든 소프트웨어 시스템은 시스템 확장 및 아키텍쳐의 변화로 인한 잠재적 이주 필요성을 안고 있다. 그런데, 이 소프트웨어 이주 요구가 갖는 문제점은 새로운 시스템이 기존 시스템의 도메인 지식을 손상시키지 않도록 요청 받는다는 점이다. 이로 인해 역공학의 필요성이 제기되나 하나의 소프트웨어 시스템은 다양한 측면의 시스템 요소를 갖고 있으므로 역공학을 통하여 직관적으로 이해가능 한 설계정보를 유도해내는 것은 어려움에 직면한다. 따라서 본 연구에서는 하나의 레거시 시스템을 역공학 하기 위하여 필요한 프로세스를 제안하고, 역공학 결과물을 정형명세인 UML로 표현하는 사례를 통하여 검증하고자 한다.

  • PDF

XML Reverse Engineering System (XML 역공학 시스템)

  • Park, Hyungchul;Gan, Jeonhyeon;Jang, Taejin;Lee, Juyeon;Lee, Taehyuk;Kwon, Soonkak
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • /
    • pp.692-695
    • /
    • 2012
  • 만들어진 소프트웨어 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 역공학(Reverse Engineering)은 유지 보수 및 재사용 측면에서 필요하다. 본 논문은 역공학 개념을 이용하여 하나의 소스 파일에서 클래스, 클래스내의 멤버 변수 및 메소드, 서로 다른 클래스 사이의 연관 관계 등을 추출하여 xml 문서로 표시하여 저장하는 시스템을 구현한다. 또한, 역공학한 프로젝트 내에서 선언된 변수와 함수들의 사용횟수를 분석하며, 분석된 결과를 GUI 형태로 표시시켜 줌으로써 사용자의 편리성을 제공해준다.

  • PDF

Implementation of Reverse Engineering Analysis (역공학 분석 시스템 구현)

  • Park, Hyeong-Cheol;Gan, Jeon-Hyeon;Jang, Tae-Jin;Lee, Ju-Yeon;Kwon, Soon-Kak;Lee, Jung-Hwa
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • /
    • pp.509-511
    • /
    • 2012
  • 역공학(Reverse Engineering)은 이미 만들어진 소프트웨어 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 것을 의미한다. 본 논문은 역공학 개념을 이용하여 하나의 파일에서 뽑을 수 있는 데이터 즉, 클래스나 변수, 메소드, 연관 관계 등을 추출하여 xml문서에 저장 후 역공학한 프로젝트 내에서 선언된 변수와 함수들의 사용횟수를 도출하는 시스템을 구현한다. 이를 바탕으로 역공학한 프로젝트 내에서 선언된 변수와 함수들의 사용횟수를 도출함으로써 검출 및 유지 보수가 용이하며, 클래스 다이어그램이 좀 더 자세하게 그려줄 수 있다.

  • PDF

Reverse engineering of data abstractions on fragmented binary code (단편화된 실행파일을 위한 데이터 구조 역공학 기법)

  • Lee, Jong-Hyup
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.22 no.3
    • /
    • pp.615-619
    • /
    • 2012
  • Reverse engineering via static analysis is an essential step in software security and it focuses on reconstructing code structures and data abstractions. In particular, reverse engineering of data abstractions is critical to understand software but the previous scheme, VSA, is not suitable for applying to fragmented binaries. This paper proposes an enhanced method through dynamic region assignment.

A Study on the BIL Bitstream Reverse-Engineering Tool-Chain Analysis (BIL 비트스트림 역공학 도구 분석 연구)

  • Yoon, Junghwan;Seo, Yezee;Kim, Hoonkyu;Kwon, Taekyoung
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.28 no.2
    • /
    • pp.287-293
    • /
    • 2018
  • Field Programmable Gate Array (FPGA) is widely used in a variety of fields because of its ability to be programmed as desired. However, when an externally implemented program is loaded on FPGA in the form of a bitstream, there is a possibility that hardware Trojans which cause malfunctions or leak information may be included. For this reason, bitstream reverse engineering is essential, and therefore related research has been conducted, such as BIL. In this paper, we analyze the BIL bitstream reverse engineering tool, which is the most representative algorithm, regarding its performance and limitations.

오픈소스 e-Navigation 소프트웨어 역공학 사례 연구 : Enterprise Architect를 이용하여

  • Lee, Jae-Uk;Kim, Hyo-Seung;Im, Sang-U;Lee, Seo-Jeong
    • Proceedings of the Korean Institute of Navigation and Port Research Conference
    • /
    • /
    • pp.47-49
    • /
    • 2014
  • 최근 e-Navigation 소프트웨어의 개발과 검증을 위한 다양한 시도가 국내외적으로 진행되고 있다. 본 논문에서는 국제공동실험에서 사용되고 있는 오픈소스 e-Navigation 소프트웨어를 대상으로 역공학을 통해서 해외에서 각종 실험이 시도 되고 있는 e-Navigation 소프트웨어의 기능적, 구조적 특성 등을 분석해 본다. 이 실험을 통해 관련 시스템에 대한 국제적 기여를 탐색하고자 한다.

  • PDF

설계 패턴의 자동 추출을 위한 역공학에 관한 연구

  • 황하진;차정은;김행곤
    • Proceedings of the Korea Association of Information Systems Conference
    • /
    • /
    • pp.83-88
    • /
    • 1997
  • 시스템 성능을 개선하고 변화하는 환경에 적응하기 위해서는 기존 시스템을 실험, 분석함으로써 정확한 이해를 획득하고 나아가 재사용 자원으로 활용할 수 있는 소프트웨어 역공학이 필요하다. 또한 설계 문제의 추상화와 특정 영역의 일반적인 해결책에 대한 정보 표현 및 그 관계는 패턴 형식을 통해 효과적으로 나타낼 수 있다. 즉, 시스템의 설계 구조 를 추출하여 시스템 분석과 설계를 향상시키고 표준화 된 설계 용어 및 컴퍼넌트 관계 구조 를 통해 재사용을 용이하게 하는 설계 패턴 추출을 위한 역공학은 중요하다. 따라서 본 논 문에서는 기존 코드에서 설계 패턴 추출을 위한 역공학 적용의 타당성과 설계 패턴 자동 추 출을 위한 몇 개의 알고리즘을 살펴보고 간단히 적용시켜 본다.

  • PDF

Reverse Engineering of Embedded Software based on Model-Driven Development (모델 기반 개발방법에 기반한 임베디드 소프트웨어의 역공학)

  • Na, DongJin;Lee, Yongsoon;Kim, Heejin;Ryu, Minsoo
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • /
    • pp.782-785
    • /
    • 2007
  • 모델 기반 개발방법은 개발자가 추상화된 모델만을 설계하는 것만으로도 소프트웨어를 개발할 수 있도록 하는 방법이다. 현재까지의 모델 기반 개발방법론은 모델에서 코드를 변환하는 것은 다루고 있지만, 반대로 코드에서 모델로의 변환은 고려하고 있지 않다. 본 논문에서는 모델이 아닌 기존에 작성된 C 언어 코드를 모델로 변환하는 역공학 기법을 제안한다. 이러한 역공학 기법을 사용하면, 새로운 모델을 작성할 때 기존의 코드로부터 모델을 얻어내 적용할 수 있다. 또한, 모델을 작성하고 작성된 모델을 통해 생성된 최종코드를 수정하였을 경우 역공학을 통해 모델과 수정한 코드를 일관성 있게 유지할 수 있다. 이를 지원하기 위해 C 언어를 UML 로 변환하는 방법 및 변환된 모델의 효율적인 구성을 위한 모델 재구성 방법을 제안한다.

  • PDF