• Title/Summary/Keyword: Bytecode

Search Result 90, Processing Time 0.035 seconds

Improving application startup time by automatic profiling (Automatic Usage Profiling을 통한 초기 앱 실행 속도 개선 방법)

  • Chae, Hyangseok;Baik, Jongmoon
    • Journal of Software Engineering Society
    • /
    • v.28 no.1
    • /
    • pp.1-6
    • /
    • 2019
  • Google released an initial version of Android that runs Dex(Dalvik Executable) through the Dalvik Runtime. Since Dalvik Runtime is based on interpreter, JIT(Just-in-time) compilation has been applied to improve performance. After Lollipop(Android 5.0) Dalvik Runtime has replaced with ART Runtime which support AOT (Ahead-of-time) compilation of Dex into Native Code. The late st Android has a problem that the application execution speed is slow until the AOT compilation is completed according to the actual usage record after the installation of the app. To improve the problem we have investigate the characteristics of profile that can improve the execution speed of the application and generate the profile automatically. Finally we propose a method that can optimize the application at install time. With the proposed method we can optimize selectively at install time and can help improving the execution speed of the app from the initial execution.

Study on Structure for Robust App Protection through Commercial Android App Hardening Service (상용 안드로이드 앱 보호 서비스 분석을 통한 강건한 앱 보호 구조 연구)

  • Ha, Dongsoo;Oh, Heekuck
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.28 no.5
    • /
    • pp.1209-1223
    • /
    • 2018
  • Android apps are made up of bytecode, so they are vulnerable to reverse engineering, and protection services are emerging that robustly repackage the app to compensate. Unlike cryptographic algorithms, the robustness of these protection services depends heavily on hiding the protection scheme. Therefore, there are few systematic discussions about the protection method even if destruction techniques of the protection service are various. And it is implemented according to the intuition of the developer. There is a need to discuss systematic protection schemes for robust security chains, rather than simple deployment of techniques disrupting static or dynamic analysis. In this paper, we analyze bangcle, a typical commercial Android app protection service, to examine the protection structure and vulnerable elements. We propose the requirements for robust structure and principles of protection structure.

A Java Birthmark based on Control Flow Graph Matching (제어 흐름 그래프 매칭 기반 자바 버스마크)

  • Park, Hee-Wan;Lim, Hyun-Il;Choi, Seok-Woo;Han, Tai-Sook
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.15 no.11
    • /
    • pp.871-875
    • /
    • 2009
  • A software birthmark is inherent characteristics that can be used to identify a program. In this paper, we propose a new Java birthmark based on control flow graph (CFG) matching. The CFG matching consists of node matching and edge matching. To get similarities of nodes and edges of two CFGs, we apply a sequence alignment algorithm and a shortest path algorithm, respectively. To evaluate the proposed birthmark, we perform experiments on Java programs that implement various algorithms. In the experiments, the proposed birthmark shows not only high credibility and resilience but also fast runtime performance.

Development of Optimal Maze Path Game Using Java (3차원 최적 미로 게임 개발)

  • Kim, Ki-Bum;Baek, Tae-Gwan;Jeong, Gab-Joong
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2007.06a
    • /
    • pp.113-116
    • /
    • 2007
  • This paper describes the development of an optimal 3D maze path game as web-based game contents. Client user using web can access and run java applet program with download of java byte code with the independence of hardware system. The optimal 3D maze path game developed in this paper consists of random maze path generation module, selected path input module, weighted optimal path search module, and path comparison module. It enhances the cognition faculty of game users with the comparison of the maze path searched by optimal path search algorithm and the selected maze path by game users.

  • PDF

Design of Intermediated code for Efficient Analysis of Bytecode (바이트코드의 효율적인 분석을 위한 중간코드의 설계)

  • Kim Kyung Soo;Kim Ki Tea;Jo Sun Moon;Yoo Weon-Hee
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11b
    • /
    • pp.430-432
    • /
    • 2005
  • 자바 언어는 객체 지향 언어이며 이식성에 좋은 언어로써 각광을 받고 있다. 하지만 자바 프로그램은 이식성은 좋지만 실행 시 인터프리터 방식으로 사용하기 때문에 실행속도가 느리다는 단점이 있다. 또한 바이트코드는 스택기반의 코드이기 때문에 코드 단편화 문제점과 스택 접근 연산들을 사용하여 프로그램 분석이 용이 하지 않고, 단순한 변환을 복잡하게 만들 수 있다는 단점이 있다. 따라서 바이트코드 자체로 분석과 최적화하기가 용이 하지 못하다. 본 논문에서는 바이트코드의 분석을 위한 트리구조 중간코드를 제안 한다. 트리구조 중간코드는 스택기반 코드의 문제점을 보완하고, 기존에 3-주소 형태의 최적화 기법들을 적용할 수 있다는 장점이 있다. 본 논문은 바이트코드와 각종 정보를 가지고 있는 클래스 파일을 입력받아 분석 후 기본블록을 나누고 BNF코드를 바탕으로 트리구조 중간코드를 생성하게 된다. 생성된 중간코드를 가지고 제어 흐름 그래프를 만들게 된다. 이러한 방식으로 트리구조 중간코드를 설계하게 된다.

  • PDF

Code Obfuscation using Java Reflection and Exception in Android (안드로이드 환경에서 클래스 반사와 예외 처리를 이용한 임의 코드 수행 방법 및 코드 은닉 방법)

  • Kim, Ji-Yun;Go, Nam-Hyeon;Park, Yong-su
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2014.07a
    • /
    • pp.369-370
    • /
    • 2014
  • 본 논문에서는 안드로이드 환경에서 클래스 반사(Reflection)과 예외처리를 이용하여 안드로이드 보호 시스템을 우회하여 임의의 코드를 수행할 수 있는 방법을 제시한다. 일반적인 자바 환경과는 달리 안드로이드 환경에서는 보안 강화를 위해 APK 파일 내 루트 디렉토리의 클래스 파일만을 반사를 통해 동적 로딩이 가능하다. 하지만, 본 논문에서는 클래스 반사와 예외 처리를 이용하여 임의의 디렉토리 내 파일을 로딩 및 동적 실행할 수 있는 방법을 보이며 이 방법은 저자가 알기로는 기존에 알려지지 않은 방법이다. 이를 기반으로, 본 논문에서는 AES 암호와 동적 로딩을 이용하여, 모바일 어플리케이션의 내부 코드를 은폐하는 기법을 제안한다. 제안기법을 활용 시, 첫째 공격자의 입장에서는 내부 코드를 은폐하여 백신을 우회하는 악성코드 제작이 가능하고, 둘째, 프로그램 제작자의 입장에서는 핵심 알고리즘을 은폐하여 저작권을 보호하는 코드 제작이 가능하다. 안드로이드 버전 4.4.2(Kitkat)에서 프로토타입을 구현하여 제안 기법의 실효성을 보였다.

  • PDF

Development of Optimal Maze Path Game Using Java (Java를 이용한 최적 미로 게임 개발)

  • Jeong, Gab-Joong;Lee, Yeong-Joon
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • v.9 no.1
    • /
    • pp.671-674
    • /
    • 2005
  • This paper describes the development of an optimal maze path game as web-based game contents. Client suer using web can access and run java applet program with download of java byte code with the independence of hardware system. The optimal maze path game developed in this paper consists of random maze path generation module, selected path input module, weighted optimal path search module, and path comparison module, selected path input module, weighted optimal path search module, and path comparison module. It enhances the cognition faculty of game users with the comparison of the maze path searched by optimal path search algorithm and the selected maze path by game users.

  • PDF

Processing of Code Optimization in CTOC (CTOC에서 코드 최적화 수행)

  • Kim, Ki-Tae;Yoo, Weon-Hee
    • Journal of Korea Multimedia Society
    • /
    • v.10 no.5
    • /
    • pp.687-697
    • /
    • 2007
  • Although the Java bytecode has numerous advantages, there are also shortcomings such as slow execution speed and difficulty in analysis. Therefore, in order for the Java class file to be effectively executed under the execution environment such as the network, it is necessary to convert it into optimized code. We implemented CTOC for transforming to optimized code. In Optimization, SSA Form that distinguish variable by assignment is used to determine value and type statically. Copy propagation, dead code elimination optimization is applied to SSA Form. However, existing SSA Form is related to variable than expression. Therefore, in this paper, to performing optimization to SSA Form expression, after performing copy propagation and dead code elimination, in addition to that, partial redundant expression elimination is performed

  • PDF

Design of Bytecode Optimization Framework (바이트코드 최적화 프레임워크의 설계)

  • Kim, Young-Kook;Kim, Kyung-Soo;Kim, Ki-Tae;Jo, Sun-Moon;Yoo, Weon-Hee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.297-300
    • /
    • 2004
  • 자바는 객체지향 언어이고 바이트코드로 번역 이후에는 플랫폼에 독립적으로 가상머신에 의해 실행될 수 있기 때문에 소프트웨어 개발과 유지보수에 많은 장점을 갖는다. 이러한 특징으로 인해 플랫폼에 독립적인 소프트웨어 개발에는 자바가 많이 이용된다. 그러나 바이트코드로 작성된 프로그램은 가상기계에서 인터프리터 방식으로 수행된다. 때문에 프로그램의 실행속도가 느리게 실행되는 문제점을 가지고 있다. 실행속도의 문제점을 해결하기 위한 여러 가지 방법들이 연구가 진행중이다. 본 논문은 자바 바이트코드가 가상기계에서 인터프리터 방식으로 수행할 때 바이트코드의 크기를 줄여 해석하는 부담을 줄이기 위해서 바이트 코드를 최적화하는 프레임워크를 구성한다. 프레임워크를 이용하여 바이트코드를 3주소 형태의 CTOC-T(Class To Optimizer Classes-Three Address Code)로 변환하여 프로그램을 분석을 할 수 있다. 또한 CTOC-T는 3주소 형태이므로 3주소 최적화 기법을 적용하여 최적화된 바이트코드를 생성하는 프레임워크를 설계한다.

  • PDF

JarBot: Automated Java Libraries Suggestion in JAR Archives Format for a given Software Architecture

  • P. Pirapuraj;Indika Perera
    • International Journal of Computer Science & Network Security
    • /
    • v.24 no.5
    • /
    • pp.191-197
    • /
    • 2024
  • Software reuse gives the meaning for rapid software development and the quality of the software. Most of the Java components/libraries open-source are available only in Java Archive (JAR) file format. When a software design enters into the development process, the developer needs to select necessary JAR files manually via analyzing the given software architecture and related JAR files. This paper proposes an automated approach, JarBot, to suggest all the necessary JAR files for given software architecture in the development process. All related JAR files will be downloaded from the internet based on the extracted information from the given software architecture (class diagram). Class names, method names, and attribute names will be extracted from the downloaded JAR files and matched with the information extracted from the given software architecture to identify the most relevant JAR files. For the result and evaluation of the proposed system, 05 software design was developed for 05 well-completed software project from GitHub. The proposed system suggested more than 95% of the JAR files among expected JAR files for the given 05 software design. The result indicated that the proposed system is suggesting almost all the necessary JAR files.