• Title/Summary/Keyword: Decompile

Search Result 8, Processing Time 0.023 seconds

A Study on Android APK file Decompile and Code Obfuscation (Android APK 파일 Decompile 및 난독화에 관한 연구)

  • Kim, Sang-Joon;Jeong, Woo-Deuk
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2015.04a
    • /
    • pp.269-272
    • /
    • 2015
  • 스마트 기기의 사용량 증가에 따라 애플리케이션의 제작 및 배포가 활발히 이루어 지고 있다. 따라서, 애플리케이션 개발에 관한 도덕적 문제, 개발자의 재산권 보호는 매우 중요한 문제이다. 하지만 배포된 애플리케이션 파일(APK)를 디컴파일(Decompile) 및 분석을 통해 애플리케이션의 소스 코드를 얻어낼 수 있다. 특히 디컴파일 기법이 악의적인 의도로 사용될 경우에는 애플리케이션 수정, 재배포 등 위변조로 인해 스마트 기기 사용자의 정보 유출, 금전적 피해 등의 심각한 문제를 야기할 수 있다. 이러한 결과를 예방하기 위한 노력이 요구되고 있다. 본 논문에서는 디컴파일 과정을 통해 애플리케이션의 정보를 수집하고 애플리케이션의 위변조를 직접 수행함에 따라, 현재 사용 중인 예방책의 취약성에 대해 언급한다.

Restrict Approach for JAVA Applet Decompile (자바 애플릿 역컴파일 방지책)

  • 이원형;최성
    • Proceedings of the KAIS Fall Conference
    • /
    • 2000.10a
    • /
    • pp.302-306
    • /
    • 2000
  • 우리는 하루에도 수많은 웹사이트를 돌아다니며 다양한 정보를 얻고 있다. 자신의 정보가 항상 노출될 수 있다고 불안감은 떨쳐 버릴 수 없다. 인터넷이 급속도로 확산되면서 개인정보가 쉽게 유출되고 이로 인한 피해가 속출하고 있다. 애플릿과 액티브X같은 클라이언트(Client)에서 실행되는 프로그램이 역컴파일(Decompile)되면서 소스가 누출되고 나아가 서버측도 위험하게 되었다. 본 논문은 자바 애플릿을 이용한 서버측 해킹사례와 이를 막을 수 있는 든든한 방어책을 제시하였다. 그리고 개인의 소중한 정보를 스스로 지진 수 있는 보안 대책 및 프로그래밍에 대하여 연구하였다.

Disassembly and De-Compilation Based Data Logging for Mobile App Usage Analysis (모바일 앱 사용행태 분석을 위한 역컴파일 및 역어셈블 데이터 로깅)

  • Kim, Myoung-Jun;Nam, Yanghee
    • Journal of Information Technology Applications and Management
    • /
    • v.21 no.4
    • /
    • pp.127-139
    • /
    • 2014
  • This study presents a logging method to trace the usage patterns of existing smartphone apps. The actual smartphone app itself, not a specially developed similar app with usage logging, would be used best for the experiment of observing the usage patterns. For this purpose, we used a method of injecting logging codes into existing smartphone app. Using this method, we conducted an experiment to trace usage patterns of a commercial IPTV app, and found that the method is very useful for acquiring detail usage log without influencing participants.

An Implementation of Data Obfuscation Tool for C++ Language (C++ 언어를 위한 데이터 obfuscation 도구 구현 및 테스트)

  • Cho Byoung-Min;Noh Jin-Uk;Oh Hyun-Soo;Chang Hye-Young;Jung Min-Gyu;Lee Seung-Won;Park Yong-Soo;Woo Je-Hak;Cho Seong-Je
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.06c
    • /
    • pp.292-294
    • /
    • 2006
  • 상용 응용 소프트웨어들은 주요 정보 및 알고리즘들을 내포하고 있어, 악의적인 역공학자들에 의해 특정 소프트웨어를 decompile하여 자료구조 및 제어 흐름을 분석하려는 공격이 이루어 지고 있다. 본 논문에서는 MS 윈도우 XP 상의 Visual C++ (MFC 포함) 프로그램을 역공학 공격으로부터 보호하기 위한 데이터 obfuscator를 구현하고 그 성능을 평가한다. 구현한 obfuscator는 C++ 소스코드를 입력 받아 3가지의 데이터 obfuscation 알고리즘을 적용한 후, 이를 다시 소스코드로 재생성하는 도구로 큰 성능저하 없이 구현 가능함을 알 수 있다.

  • PDF

A obfuscating technique for Java program by distributing methods (메소드 분산을 통한 자바 프로그램 난독화 기법)

  • 최석우;박회완;한태숙
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.10a
    • /
    • pp.238-240
    • /
    • 2003
  • 자바 프로그램은 자바 바이트코드로 컴파일되어 배포된다. 자바 바이트코드는 심볼릭 정보를 그대로 유지하고 있기 때문에 역컴파일(decompile) 도구에 의해서 쉽게 소스 파일이 노출될 수 있다는 취약성이 있다. 따라서 자바 역컴파일에 대한 위험을 방지 혹은 최소화 할 수 있는 방법에 대한 연구가 필요하다. 본 논문에서는 이러한 보안 취약성 및 문제점을 인식하고 거기에 대처할 수 있는 대응 기법에 대한 연구로서 메소드 분산을 이용한 프로그램 난독화 기법을 제시하려고 한다. 본 논문에 제안된 난독화 기법을 사용하면 역컴파일에 성공했다 하더라도 역컴파일된 소스 프로그램을 쉽게 이해하거나 재활용하기 어렵게 만들 수 있으며 다른 난독화 기법을 적용할 수 있는 범위를 넓혀 줄 수 있다.

  • PDF

A Study on the Vulnerability of Using Intermediate Language in Android: Bypassing Security Check Point in Android-Based Banking Applications (안드로이드 뱅킹 어플리케이션 내 중간언어 분석을 통한 보안 검사 지점 우회 취약점 연구)

  • Lee, Woojin;Lee, Kyungho
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.27 no.3
    • /
    • pp.549-562
    • /
    • 2017
  • In recent years, as the proportion of mobile banking has become bigger with daily usage of mobile banking, security threats are also increasing according to the feeling. Accordingly, the domestic banking system introduces security solution programs in the banking application and sets security check points to ensure the stability of the application in order to check whether it is always executed. This study presents a vulnerability of inactivity bypassing mobile vaccine program operation checkpoints using the intermediate language statically and dynamically analysis when decompiling the android banking applications of major banks in Korea. Also, through the results, it identifies possible attacks that can be exploited and suggest countermeasures.

Optimal Machine Learning Model for Detecting Normal and Malicious Android Apps (안드로이드 정상 및 악성 앱 판별을 위한 최적합 머신러닝 기법)

  • Lee, Hyung-Woo;Lee, HanSeong
    • Journal of Internet of Things and Convergence
    • /
    • v.6 no.2
    • /
    • pp.1-10
    • /
    • 2020
  • The mobile application based on the Android platform is simple to decompile, making it possible to create malicious applications similar to normal ones, and can easily distribute the created malicious apps through the Android third party app store. In this case, the Android malicious application in the smartphone causes several problems such as leakage of personal information in the device, transmission of premium SMS, and leakage of location information and call records. Therefore, it is necessary to select a optimal model that provides the best performance among the machine learning techniques that have published recently, and provide a technique to automatically identify malicious Android apps. Therefore, in this paper, after adopting the feature engineering to Android apps on official test set, a total of four performance evaluation experiments were conducted to select the machine learning model that provides the optimal performance for Android malicious app detection.

An Effective Java Obfuscation Technique Using Assignment Statements Merging (대입문 병합을 이용한 효율적인 자바 난독화 기법)

  • Lee, Kyong-Ho;Park, Hee-Wan
    • Journal of the Korea Society of Computer and Information
    • /
    • v.18 no.10
    • /
    • pp.129-139
    • /
    • 2013
  • Java bytecodes are executed not on target machine but on the Java virtual machines. Since this bytecodes use a higher level representation than binary code, it is possible to decompile most bytecodes back to Java source. Obfuscation is the technique of obscuring code and it makes program difficult to understand. However, most of the obfuscation techniques make the code size and the performance of obfuscated program bigger and slower than original program. In this paper, we proposed an effective Java obfuscation techniques using assignment statements merging that make the source program difficult to understand. The basic approach is to merge assignments statements to append side effects of statement. An additional benefit is that the size of the bytecode is reduced.