• Title/Summary/Keyword: Android reverse engineering

Search Result 29, Processing Time 0.025 seconds

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.

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.

A Strengthened Android Signature Management Method

  • Cho, Taenam;Seo, Seung-Hyun
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.9 no.3
    • /
    • pp.1210-1230
    • /
    • 2015
  • Android is the world's most utilized smartphone OS which consequently, also makes it an attractive target for attackers. The most representative method of hacking used against Android apps is known as repackaging. This attack method requires extensive knowledge about reverse engineering in order to modify and insert malicious codes into the original app. However, there exists an easier way which circumvents the limiting obstacle of the reverse engineering. We have discovered a method of exploiting the Android code-signing process in order to mount a malware as an example. We also propose a countermeasure to prevent this attack. In addition, as a proof-of-concept, we tested a malicious code based on our attack technique on a sample app and improved the java libraries related to code-signing/verification reflecting our countermeasure.

A GUI Testing Technique Based on Activity Lifecycle for Android Applications (안드로이드 어플리케이션의 액티비티 라이프사이클 기반 GUI 테스팅 기법)

  • Baek, Tae-San;Lee, Woo Jin
    • IEMEK Journal of Embedded Systems and Applications
    • /
    • v.8 no.6
    • /
    • pp.319-327
    • /
    • 2013
  • Most Android applications are being developed by one or a few person without professional testing team. In such a poor development environment, applications may contain severe errors which may also affect the Android platform. In order to detect these errors, the behaviors of Android activities should be identified by considering user-defined lifecycle as well as the system-defined one. This paper proposes a method to generate test scenarios based on the both of user-defined and system-defined activity lifecycle of Android GUI applications. The test scenarios are generated by a state diagram extracted from the source code and are transformed into Jython scribes by using GUI layout information for automatically performing testing.

Software Architecture Recovery for Android Application Reuse (안드로이드 어플리케이션의 재사용을 위한 소프트웨어 아키텍처 생성)

  • Park, Jin-Soo;Kwon, Jang-Jin;Hong, Jang-Eui;Choi, Min
    • Journal of Convergence Society for SMB
    • /
    • v.3 no.2
    • /
    • pp.9-17
    • /
    • 2013
  • Android applications market has increased rapidly due to the popularity of smart phones. In order to high competitiveness in the application market should be high productivity, reduce cost. And short development cycle is required because of increased the android applications demand. Owing to develop applications in short time, the requirements analysis, design process are able to omitted. But in the case of reuse application at development phase, involved many problems because omit document or design. so target of this paper is android application source code that omit document or design. we propose architecture recovery techniques from android application source code by reverse engineering with identify functions are reused. We expect that increase productivity and reduce development cost, smooth maintain by proposed technique.

  • PDF

An APK Overwrite Scheme for Preventing Modification of Android Applications (안드로이드 앱 변조 방지를 위한 APK 덮어쓰기 기법)

  • Choi, Byungha;Shim, HyungJoon;Lee, ChanHee;Cho, Sangwook;Cho, Seong-Je
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.39B no.5
    • /
    • pp.309-316
    • /
    • 2014
  • It is easy to reverse engineer an Android app package file(APK) and get its decompiled source code. Therefore, attackers obtains economic benefits by illegally using the decompiled source code, or modifies an app by inserting malware. To address these problems in Android, we propose an APK overwrite scheme that protects apps against illegal modification of themselves by using a new anti-reverse engineering technique. In this paper, the targets are the apps which have been written by any programmer. For a target app (original app), server system (1) makes a copy of a target app, (2) encrypts the target app, (3) creates a stub app by replacing the DEX (Dalvik Executable) of the copied version with our stub DEX, and then (4) distributes the stub app as well as the encrypted target app to users of smartphones. The users downloads both the encrypted target app and the corresponding stub app. Whenever the stub app is executed on smartphones, the stub app and our launcher app decrypt the encrypted target app, overwrite the stub app with the decrypted target one, and executes the decrypted one. Every time the target app ends its execution, the decrypted app is deleted. To verify the feasibility of the proposed scheme, experimentation with several popular apps are carried out. The results of the experiment demonstrate that our scheme is effective for preventing reverse engineering and tampering of Android apps.

A Hybrid Model for Android Malware Detection using Decision Tree and KNN

  • Sk Heena Kauser;V.Maria Anu
    • International Journal of Computer Science & Network Security
    • /
    • v.23 no.7
    • /
    • pp.186-192
    • /
    • 2023
  • Malwares are becoming a major problem nowadays all around the world in android operating systems. The malware is a piece of software developed for harming or exploiting certain other hardware as well as software. The term Malware is also known as malicious software which is utilized to define Trojans, viruses, as well as other kinds of spyware. There have been developed many kinds of techniques for protecting the android operating systems from malware during the last decade. However, the existing techniques have numerous drawbacks such as accuracy to detect the type of malware in real-time in a quick manner for protecting the android operating systems. In this article, the authors developed a hybrid model for android malware detection using a decision tree and KNN (k-nearest neighbours) technique. First, Dalvik opcode, as well as real opcode, was pulled out by using the reverse procedure of the android software. Secondly, eigenvectors of sampling were produced by utilizing the n-gram model. Our suggested hybrid model efficiently combines KNN along with the decision tree for effective detection of the android malware in real-time. The outcome of the proposed scheme illustrates that the proposed hybrid model is better in terms of the accurate detection of any kind of malware from the Android operating system in a fast and accurate manner. In this experiment, 815 sample size was selected for the normal samples and the 3268-sample size was selected for the malicious samples. Our proposed hybrid model provides pragmatic values of the parameters namely precision, ACC along with the Recall, and F1 such as 0.93, 0.98, 0.96, and 0.99 along with 0.94, 0.99, 0.93, and 0.99 respectively. In the future, there are vital possibilities to carry out more research in this field to develop new methods for Android malware detection.

Consortium Blockchain based Forgery Android APK Discrimination DApp using Hyperledger Composer (Hyperledger Composer 기반 컨소시움 블록체인을 이용한 위조 모바일 APK 검출 DApp)

  • Lee, Hyung-Woo;Lee, Hanseong
    • Journal of Internet Computing and Services
    • /
    • v.20 no.5
    • /
    • pp.9-18
    • /
    • 2019
  • Android Application Package (APK) is vulnerable to repackaging attacks. Therefore, obfuscation technology was applied inside the Android APK file to cope with repackaging attack. However, as more advanced reverse engineering techniques continue to be developed, fake Android APK files to be released. A new approach is needed to solve this problem. A blockchain is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a cryptographic hash of theprevious block, a timestamp and transaction data. Once recorded, the data inany given block cannot be altered retroactively without the alteration of all subsequent blocks. Therefore, it is possible to check whether or not theAndroid Mobile APK is forged by applying the blockchain technology. In this paper, we construct a discrimination DApp (Decentralized Application) against forgery Android Mobile APK by recording and maintaining the legitimate APK in the consortium blockchain framework like Hyperledger Fabric by Composer. With proposed DApp, we can prevent the forgery and modification of the appfrom being installed on the user's Smartphone, and normal and legitimate apps will be widely used.

Instagram Users Behavior Analysis in a Digital Forensic Perspective (디지털 포렌식 관점에서의 인스타그램 사용자 행위 분석)

  • Seo, Seunghee;Kim, Yeog;Lee, Changhoon
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.28 no.2
    • /
    • pp.407-416
    • /
    • 2018
  • Instagram is a Social Network Service(SNS) that has recently become popular among people of all ages and it makes people to construct social relations and share hobbies, daily routines, and useful information. However, since the uploaded information can be accessed by arbitrary users and it is easily shared with others, frauds, stalking, misrepresentation, impersonation, an infringement of copyright and malware distribution are reported. For this reason, it is necessary to analyze Instagram from a view of digital forensics but the research involved is very insufficient. So in this paper, We performed reverse engineering and dynamic analysis of Instagram from a view of digital forensics in the Android environment. As a result, we checked three database files that contain user behavior analysis data such as chat content, chat targets, posted photos, and cookie information. And we found the path to save 4 files and the xml file to save various data. Also we propose ways to use the above results in digital forensics.

A Static Analysis Technique for Android Apps Written with Xamarin (자마린으로 개발된 안드로이드 앱의 정적 분석 연구)

  • Lim, Kyeong-hwan;Kim, Gyu-sik;Shim, Jae-woo;Cho, Seong-je
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.28 no.3
    • /
    • pp.643-653
    • /
    • 2018
  • Xamarin is a representative cross-platform development framework that allows developers to write mobile apps in C# for multiple mobile platforms, such as Android, iOS, or Windows Phone. Using Xamarin, mobile app developers can reuse existing C# code and share significant code across multiple platforms, reducing development time and maintenance costs. Meanwhile, malware authors can also use Xamarin to spread malicious apps on more platforms, minimizing the time and cost of malicious app creation. In order to cope with this problem, it is necessary to analyze and detect malware written with Xamarin. However, little studies have been conducted on static analysis methods of the apps written in Xamarin. In this paper, we examine the structure of Android apps written with Xamarin and propose a static analysis technique for the apps. We also demonstrate how to statically reverse-engineer apps that have been transformed using code obfuscation. Because the Android apps written with Xamarin consists of Java bytecode, C# based DLL libraries, and C/C++ based native libraries, we have studied static reverse engineering techniques for these different types of code.