• Title/Summary/Keyword: 역공학 분석

Search Result 130, Processing Time 0.028 seconds

Implementation of an Obfuscation Tool for Visual C++ Source Code (Visual C++ 소스코드를 위한 Obfuscation 도구 구현)

  • Cho, Byoung-Min;Chang, Hye-Young;Noh, Jin-Uk;Oh, Hyun-Soo;Jung, Min-Gyu;Lee, Seung-Won;Park, Yong-Soo;Woo, Je-Hak;Cho, Seong-Je
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.10c
    • /
    • pp.521-525
    • /
    • 2006
  • 최근 소프트웨어의 주요 알고리즘 및 자료구조 등의 지적재산권을 역공학 분석과 같이 악의적인 공격들로부터 보호하기 위한 연구가 이루어지고 있다. 본 논문에서는 산업 현장에서 많이 사용되는 Visual C++ 또는 MFC로 작성된 프로그램의 소스 코드를 역공학 공격으로부터 보호하기 위한 Obfuscation 도구를 구현하고 그 성능을 평가한다. 구현된 도구는 3가지 Obfuscation 알고리즘을 적용하여 소스 코드를 생성하며 생성된 소스 코드들은 가독성이 떨어지고 역공학 분석이 어렵도록 변환되지만, 프로그램의 본래 기능은 그대로 유지하며 성능상의 변화가 크지 않음을 실험을 통해 확인할 수 있었다.

  • PDF

Study on Application of Reverse Engineering of Impeller using Polynomial Regression (다항식회귀분석을 통한 임펠러의 역공학 적용에 관한 연구)

  • 윤상환;황종대;정윤교
    • Proceedings of the Korean Society of Precision Engineering Conference
    • /
    • 2003.06a
    • /
    • pp.1776-1779
    • /
    • 2003
  • This research presents Reverse Engineering of a Impeller. The modeling introduced in this paper adopts polynomial regression that is utilizing approximating technique. The measured data are obtained from measuring with Coordinate Measuring Machine. This paper introduces efficient methods of Reverse Engineering using Polynomial Regression.

  • PDF

Design and Implementation of Server-based Resource Obfuscation Techniques for Preventing Copyrights Infringement to Android Contents (안드로이드 콘텐츠 저작권 침해 방지를 위한 서버 기반 리소스 난독화 기법의 설계 및 구현)

  • Park, Heewan
    • The Journal of the Korea Contents Association
    • /
    • v.16 no.5
    • /
    • pp.13-20
    • /
    • 2016
  • Most software is distributed as a binary file format, so reverse engineering is not easy. But Android is based on the Java and running on virtual machine. So, Android applications can be analyzed by reverse engineering tools. To overcome this problem, various obfuscation techniques are developed. In android environment, the Proguard is most widely used because it is included in the Android SDK distribution package. The Proguard can protect the Java source code from reverse engineering analysis. But it has no function to protect resources like images, sounds and databases. In this paper, we proposed and implemented resource obfuscation framework to protect resources of android application. We expect that this framework can protect android resources effectively.

A Re-engineering Methodology for Componentization of Legacy System (Legacy 시스템의 컴포넌트화를 위한 재공학 방법론)

  • Kim, Cheol-Hong;Cha, Jung-Eun;Yang, Young-Jong
    • 한국IT서비스학회:학술대회논문집
    • /
    • 2002.11a
    • /
    • pp.431-438
    • /
    • 2002
  • 본 논문은 레거시 시스템을 새로운 시스템 환경으로의 변환 및 통합을 위한 재공학 방법론을 제시하고자 하는 것이다. 기존의 역공학 및 재공학 방법들은 주로 프로그램 소스를 정적 분석하고 유지보수 하는데 중점을 두었으나, 본 방법론은 다양한 추상화 수준에서 역공학 정보를 복구하고, 컴포넌트화 단계를 통해 새로운 시스템으로 진화할 수 있는 절차 및 기법들을 제공한다. 레거시 시스템 컴포넌트화를 위한 방법론은 변환계획 단계, 역공학 단계, 컴포넌트화 단계, 인도 단계의 4 단계로 구성되어 있으며, 본 논문에서는 각 단계에 대한 활동 및 상세 절차에 대하여 기술한다.

  • PDF

An Implementation of Framework for Software Protection against Reverse Engineering on Windows (Windows 상에서 소프트웨어 역공학 방지를 위한 프레임워크 구현)

  • Park, Young-Ung;Chang, Hye-Young;Cho, Seong-Je
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06d
    • /
    • pp.130-135
    • /
    • 2010
  • 실형코드의 역공학(reverse engineering) 을 방지하기 위해서 패킹기법을 많이 사용하고 있다. 패킹을 적용하면 본래의 코드는 실형 압축되어 감춰지기 때문에 언패킹 과정을 거쳐야 바이너리 분석이 가능하게 된다. 언패킹을 위해 패킹된 프로그램에 스텁코드를 삽입하는데 스텁코드는 언패킹하기 위한 코드와 원본 프로그램의 IAT(Import Address Table) 등 중요한 정보를 담고 있다. 스텁코드를 보호하기 위하여 본 논문에서는 중요한 함수의 코드를 별도의 2차 스텁파일에 저장하고 중요한 함수가 있던 1차 스텁코드에는 더미코드를 삽입하여 역공학 공격을 방지하였다. 또한 본 논문에서 제안하는 프레임워크를 구현하고 성능을 평가하였다.

  • PDF

A Study on Reverse Engineering Based Object Orient Diagram Extract Technique (역공학 기반의 객체지향 다이어그램 추출기법에 관한 연구)

  • Park, Sang-Hoon;Kim, Yun-Hyung;Rhew, Sung-Yul
    • Annual Conference of KIPS
    • /
    • 2004.05a
    • /
    • pp.329-332
    • /
    • 2004
  • 레거시 소프트웨어를 재사용하기 위해서는 소스코드의 구조와 행위, 연관관계를 파악하는 것이 중요하다. 소스코드 분석을 통해 레거시 소프트웨어의 구조를 얻어내고 이에 대한 수정을 통해 소스코드에 반영하고자 하는 연구가 활발히 진행되고 있다. 그러나 기존의 역공학 도구들은 레거시 소프트웨어를 객체지향 다이어그램으로 정확히 추출해내지 못하였고 또한 호환성이 떨어지는 문제점을 가지고 있다. 본 연구에서는 기존의 역공학 툴들의 문제점을 보안하고 호환성을 높이며 재사용성을 향상시키기 위한 방법을 제시한다. 자바 소스코드로부터 UML클래스 다이어그램을 추출하기 위해 본 논문에서는 자바 소스코드의 파싱을 통해 클래스 다이어그램 생성에 필요한 AST를 추출하여 XML로 저장함으로써 상호운영성을 높이며 클래스간의 연관관계를 상세히 표현하기 위한 방법을 제시한다.

  • PDF

Robust Anti Reverse Engineering Technique for Protecting Android Applications using the AES Algorithm (AES 알고리즘을 사용하여 안드로이드 어플리케이션을 보호하기 위한 견고한 역공학 방지기법)

  • Kim, JungHyun;Lee, Kang Seung
    • Journal of KIISE
    • /
    • v.42 no.9
    • /
    • pp.1100-1108
    • /
    • 2015
  • Classes.dex, which is the executable file for android operation system, has Java bite code format, so that anyone can analyze and modify its source codes by using reverse engineering. Due to this characteristic, many android applications using classes.dex as executable file have been illegally copied and distributed, causing damage to the developers and software industry. To tackle such ill-intended behavior, this paper proposes a technique to encrypt classes.dex file using an AES(Advanced Encryption Standard) encryption algorithm and decrypts the applications encrypted in such a manner in order to prevent reverse engineering of the applications. To reinforce the file against reverse engineering attack, hash values that are obtained from substituting a hash equation through the combination of salt values, are used for the keys for encrypting and decrypting classes.dex. The experiments demonstrated that the proposed technique is effective in preventing the illegal duplication of classes.dex-based android applications and reverse engineering attack. As a result, the proposed technique can protect the source of an application and also prevent the spreading of malicious codes due to repackaging attack.

Methodology of Reverse Engineering iOS application with LLDB (LLDB를 이용한 iOS 애플리케이션 역공학 분석 방법론)

  • Youn, Jung-moo;Ryou, Jae-cheol
    • Annual Conference of KIPS
    • /
    • 2016.04a
    • /
    • pp.239-240
    • /
    • 2016
  • 모바일 환경이 발전하면서 다양한 스마트폰 중 안드로이드 기반의 스마트폰이 시장 점유율을 높여가고 있다. 하지만 최근 보안 이슈로 인해 애플사에서 만든 아이폰을 사용하는 사람이 증가하고 있다. 따라서 아이폰에 대한 어플리케이션 시장 역시 증가 추세이다. 하지만 안드로이드 기반 스마트폰은 어느 정도 소스코드가 공개되어있기에 개발 및 분석이 수월하지만, 애플사의 아이폰은 공개된 소스코드가 극히 적어 개발 및 분석이 상대적으로 어렵다. 따라서 아이폰 애플리케이션에서 오류 발생 시 시스템 라이브러리에서 발생하는 오류는 효율적으로 대처하기가 힘들다. 본 논문은 더 효율적으로 애플리케이션들을 개발하고 유지 및 보수 할 수 있도록 Mac OS X에서 LLDB를 이용한 아이폰 애플리케이션 역공학 분석 방법론을 제안한다.

A Study on The Reengineering Tool From conventional System into Design Pattern (기존 시스템에서 설계 패턴으로의 재공학 툴에 관한 연구)

  • Kim, Haeng-Kon;Cha, Jung-Eun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.9
    • /
    • pp.2334-2344
    • /
    • 1998
  • Appliciltion systems focusing class units, as component abstraction based on source code, has insufficient benefit of independency and reuse of elements. Only few effects are acquired, because it is only inclined implementation. We need design pattern to represent not only the problem abstraction but also information and relationship between system elements for generic solutions of specific domain Also, it is essential to software reverse engineering to catch the correct system through examming the cxisting system and utilizing the acquired knowledges as reusable resource. Namely, software reverse engineering for extracting the design pattern is very important because it improves the understand ability for system analysis and design through extracting the design structure of object-oriented system, and provides rich and high leIel reusabilitv through grasping the standard idioms and relationships between components. In this paper, we defined the extraction algorithm for design patterns with standardized, packaged and quantitative measlIIul thruugh applying reyerse engineering into existing ubject Olicnted system. And we designed the reengineering toul including reverse engineering for autumatic extractiun of design patterns ami reuse fur retrieval. editing and rebuilding oi design patterns. Also we applied the algorithms into Java applications.

  • PDF

The Development of STEAM Program based on Reverse Engineering on the Subject of Autonomous Vehicle (자율주행자동차를 주제로 한 역공학 기반 STEAM 프로그램 개발)

  • Chong, HaeYoung;Kim, KiSoo;Yoon, JiA;Kim, YoungMin;Huh, HyeYeon
    • 대한공업교육학회지
    • /
    • v.44 no.2
    • /
    • pp.164-183
    • /
    • 2019
  • The purpose of this study is to develop a STEAM program based on reverse engineering. To achieve the purpose of this study, STEAM program was developed on the subject of autonomous vehicle. The results of this study are summarized as follows. The program was developed based on STEAM program development model based on reverse engineering. Developed in a five step procedure (analysis, design, development, implementation, evaluation) with the subject of autonomous vehicle. First, in the analysis step, we explored the definition, goal, content area, and teaching and learning methods of STEAM based on reverse engineering. We extracted the goals and content areas to be included in the educational program. Second, in the design step, topics were selected through consultation with experts. At this time, based on the linkage between the 2015 revised curriculum and the STEAM curriculum, we selected and organized educational goals and learning contents. Third, in the development step, we developed a teacher 's guidebook and student' s textbook, and applied the program to 71 students in the second grade of OO middle school in Seoul. Fifth, at the evaluation stage, the evaluation was made by experts and students based on the program that was implemented, and revised and supplemented based on the results.