• Title/Summary/Keyword: 난독화 해제

Search Result 8, Processing Time 0.017 seconds

A Study on Implementing an Automated Tool for De-Obfuscating a ConfuserEx (ConfuserEx의 난독화 복구 자동화 시스템 구축 연구)

  • Jae-hwi Lee;Young-seok Park;Dong-hyeon Kim;Gyu Heo
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.33 no.1
    • /
    • pp.129-137
    • /
    • 2023
  • According to a continuous attempts to manipulate content on portal sites using automated programs, a Naver, one of a portal site from Korea, is also trying to secure and analyze the programs to respond to the attempts. However, since some of the programs are secured by obfuscation tools, it is necessary to develop de-obfuscation technique. In this paper, we analyze a ConfuserEx, which occupied high percentage from obfuscation tools that applied to obtained programs, and propose an automated tool for de-obfuscating to save time for unpacking.

Program Slicing for Binary code Deobfuscation (역난독화를 위한 바이너리 프로그램 슬라이싱)

  • Mok, Seong-Kyun;Jeon, Hyeon-gu;Cho, Eun-Sun
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.27 no.1
    • /
    • pp.59-66
    • /
    • 2017
  • Hackers have obfuscated their malware to avoid being analyzed. Recently, obfuscation tools translate original codes into bytecodes to use virtualized-obfuscation, so that bytecodes are executed by virtual machines. In such cases, malware analysts fail to know about the malware before execution of the codes. We found that program slicing is one of promising program analysis techniques to solve this problem. The main concepts of program slice include slicing criteria given by analysts and sliced statements according to the slicing criteria. This paper proposes a deobfuscation method based on program slicing technique.

Control Flow Reconstruction from Virtualization-Obfuscated Binaries (가상화를 이용하여 난독화된 바이너리의 제어 흐름 재건)

  • Hwang, Joonhyung;Han, Taisook
    • Journal of KIISE
    • /
    • v.42 no.1
    • /
    • pp.44-53
    • /
    • 2015
  • Control flow information is useful in the analysis and comparison of programs. Virtualization-obfuscation hides control structures of the original program by transforming machine instructions into bytecode. Direct examination of the resulting binary reveals only the structure of the interpreter. Recovery of the original instructions requires knowledge of the virtual machine architecture, which is randomly generated and hidden. In this paper, we propose a method to reconstruct original control flow using only traces generated from the obfuscated binary. We consider traces as strings and find an automaton that represents the strings. State transitions in the automaton correspond to the control transfers in the original program. We have shown the effectiveness of our method with commercial obfuscators.

Design and implementation of Android obfuscation technique using layout file transformation (레이아웃 파일 변환을 이용한 안드로이드 난독화 기법의 설계 및 구현)

  • Park, Heewan
    • Journal of the Korea Convergence Society
    • /
    • v.11 no.11
    • /
    • pp.1-7
    • /
    • 2020
  • Android apps are mostly distributed as an apk files, and when the apk file is uncompressed, resource files such as xml files, images, and sounds related to app design can be extracted. If the resources of banking or finance-related apps are stolen and fake apps are distributed, personal information could be stolen or financial fraud may occur. Therefore, it is necessary to make it difficult to steal the design as well as the code when distributing the app. In this paper, we implemented a tool to convert the xml file into Java code and obfuscate using the Proguard, and evaluated the execution performance. If the layout obfuscation technique proposed in this paper is used, it is expected that the app operation performance can be improved and the illegal copying damage caused by the theft of the screen design can be prevented.

Implementation of the Automated De-Obfuscation Tool to Restore Working Executable (실행 파일 형태로 복원하기 위한 Themida 자동 역난독화 도구 구현)

  • Kang, You-jin;Park, Moon Chan;Lee, Dong Hoon
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.27 no.4
    • /
    • pp.785-802
    • /
    • 2017
  • As cyber threats using malicious code continue to increase, many security and vaccine companies are putting a lot of effort into analysis and detection of malicious codes. However, obfuscation techniques that make software analysis more difficult are applied to malicious codes, making it difficult to respond quickly to malicious codes. In particular, commercial obfuscation tools can quickly and easily generate new variants of malicious codes so that malicious code analysts can not respond to them. In order for analysts to quickly analyze the actual malicious behavior of the new variants, reverse obfuscation(=de-obfuscation) is needed to disable obfuscation. In this paper, general analysis methodology is proposed to de-obfuscate the software used by a commercial obfuscation tool, Themida. First, We describe operation principle of Themida by analyzing obfuscated executable file using Themida. Next, We extract original code and data information of executable from obfuscated executable using Pintool, DBI(Dynamic Binary Instrumentation) framework, and explain the implementation results of automated analysis tool which can deobfuscate to original executable using the extracted original code and data information. Finally, We evaluate the performance of our automated analysis tool by comparing the original executable with the de-obfuscated executable.

A Study on the Analysis Method to API Wrapping that Difficult to Normalize in the Latest Version of Themida (최신 버전의 Themida가 보이는 정규화가 어려운 API 난독화 분석방안 연구)

  • Lee, Jae-hwi;Lee, Byung-hee;Cho, Sang-hyun
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.29 no.6
    • /
    • pp.1375-1382
    • /
    • 2019
  • The latest version of commercial protector, Themida, has been updated, it is impossible to apply a normalized unpacking mechanism from previous studies by disable the use of a virtual memory allocation that provides initial data to be tracked. In addition, compared to the previous version, which had many values that determined during execution and easy to track dynamically, it is difficult to track dynamically due to values determined at the time of applying the protector. We will look at how the latest version of Themida make it difficult to normalize the API wrapping process by adopted techniques and examine the possibilities of applying the unpacking techniques to further develop an automated unpacking system.

A Study on API Wrapping in Themida and Unpacking Technique (Themida의 API 난독화 분석과 복구방안 연구)

  • Lee, Jae-hwi;Han, Jaehyeok;Lee, Min-wook;Choi, Jae-mun;Baek, Hyunwoo;Lee, Sang-jin
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.27 no.1
    • /
    • pp.67-77
    • /
    • 2017
  • A protector is a software for protecting core technologies by using compression and encryption. Nowadays malwares use the protector to conceal the malicious code from the analysis. For detailed analysis of packed program, unpacking the protector is a necessary procedure. Lately, most studies focused on finding OEP to unpack the program. However, in this case, it would be difficult to analyze the program because of the limits to remove protecting functions by finding OEP. In this paper, we studied about the protecting functions in the Themida and propose an unpacking technique for it.

Improved Original Entry Point Detection Method Based on PinDemonium (PinDemonium 기반 Original Entry Point 탐지 방법 개선)

  • Kim, Gyeong Min;Park, Yong Su
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.7 no.6
    • /
    • pp.155-164
    • /
    • 2018
  • Many malicious programs have been compressed or encrypted using various commercial packers to prevent reverse engineering, So malicious code analysts must decompress or decrypt them first. The OEP (Original Entry Point) is the address of the first instruction executed after returning the encrypted or compressed executable file back to the original binary state. Several unpackers, including PinDemonium, execute the packed file and keep tracks of the addresses until the OEP appears and find the OEP among the addresses. However, instead of finding exact one OEP, unpackers provide a relatively large set of OEP candidates and sometimes OEP is missing among candidates. In other words, existing unpackers have difficulty in finding the correct OEP. We have developed new tool which provides fewer OEP candidate sets by adding two methods based on the property of the OEP. In this paper, we propose two methods to provide fewer OEP candidate sets by using the property that the function call sequence and parameters are same between packed program and original program. First way is based on a function call. Programs written in the C/C++ language are compiled to translate languages into binary code. Compiler-specific system functions are added to the compiled program. After examining these functions, we have added a method that we suggest to PinDemonium to detect the unpacking work by matching the patterns of system functions that are called in packed programs and unpacked programs. Second way is based on parameters. The parameters include not only the user-entered inputs, but also the system inputs. We have added a method that we suggest to PinDemonium to find the OEP using the system parameters of a particular function in stack memory. OEP detection experiments were performed on sample programs packed by 16 commercial packers. We can reduce the OEP candidate by more than 40% on average compared to PinDemonium except 2 commercial packers which are can not be executed due to the anti-debugging technique.