A Survey on Program Code Obfuscation Technique

Author(s):  
Gaurav Kumar ◽  
Author(s):  
A. P. Bondarchuk ◽  
◽  
Ya. I. Kornaga ◽  
M. Yu. Bazaliy ◽  
P. A. Serhiyenko ◽  
...  

The considered method of program code protection with the use of obfuscation mechanisms allows to confuse the code during development and refactoring. This method protects against decompilation methods that can be applied both manually and automatically. The aim of the study is to develop a method of obfuscating software code to provide protection against decompilation. To achieve this goal, the following tasks are solved: analyzed algorithms of deobfuscation in various practical methods; a new method of obfuscating program code is proposed; submit obfuscated code. The main stages of the proposed approach to obfuscation of programs are formulated: lexical analysis; code destructuring; code obfuscation; obfuscation of variables; obfuscation of constants. Different strategies for the synthesis of obfuscated identifiers are defined: generation of names, consisting of admissible random (pseudo-random) symbols, length from the set interval (fixed length); generating names consisting of a certain number of repeated valid characters, in conditions where the plurality of characters is specified and the specified length of the lengths of the identifiers; mixed strategy with equal choice of strategies 1 and 2. Two optimization problems are formulated: the task of minimizing the number of operations when generating a given set of constants with a fixed set of directly defined constants; the task of minimizing the number of directly defined constants among the options with minimal complexity of formulas. The proposed approach can be used in programs that have a number of routines with the same interface. In this case, regardless of the complexity of implementation, the code of each subroutine can be converted into destructured code. After that, it is possible to calculate the total number of feasible operators, taking into account (operator) output for all routines.


2016 ◽  
Vol 78 (2) ◽  
Author(s):  
Rajasekaran Senthilkumar ◽  
Arunkumar Thangavelu

Programming security is a paramount concern in IT industry because of its immense monetary misfortunes. Programming is inclined to different security assaults, for example, Software piracy. In this proposal, program security assurance through code Obfuscation, a technique which opposes reverse engineering attacks. In this paper, different sets of criteria are depicted to gauge viability of code obfuscation, for example, intensity: trouble for human to comprehend code, imperviousness to computerized piracy. A large portion of the current obscurity procedures and plans fulfil just a couple of these criteria. In this paper, it shows that the novel code obfuscation plan created for securing exclusive code. A software framework for providing software security using Metric based Code Obfuscation Techniques named as M-COT is designed to propose which will maximize the objectives. The essential thought is to change unique code to obfuscated codes which will concede more state space. This is attained by developing obfuscated non inconsequential code clones for intelligent code parts exhibit in unique code. These code clones that are connected utilizing element predicate variables to present legitimate control flows. The performance of the system is observed by experimentation on a couple of projects (for example, scientific calculator code, searching) to assess our plan. The demonstration made that product unpredictability nature of obfuscated code is higher than that of unique code and comparing to single execution Despite of the fact that the proposal builds the improvement of obfuscated code (because of development of non-inconsequential code clones for legitimate code parts).


2015 ◽  
Vol 6 (2) ◽  
Author(s):  
Rizal Setya Perdana ◽  
Umi Laili Yuhana

Kualitas perangkat lunak merupakan salah satu penelitian pada bidangrekayasa perangkat lunak yang memiliki peranan yang cukup besar dalamterbangunnya sistem perangkat lunak yang berkualitas baik. Prediksi defectperangkat lunak yang disebabkan karena terdapat penyimpangan dari prosesspesifikasi atau sesuatu yang mungkin menyebabkan kegagalan dalam operasionaltelah lebih dari 30 tahun menjadi topik riset penelitian. Makalah ini akandifokuskan pada prediksi defect yang terjadi pada kode program (code defect).Metode penanganan permasalahan defect pada kode program akan memanfaatkanpola-pola kode perangkat lunak yang berpotensi menimbulkan defect pada data setNASA untuk memprediksi defect. Metode yang digunakan dalam pencarian polaadalah memanfaatkan Association Rule Mining dengan Cumulative SupportThresholds yang secara otomatis menghasilkan nilai support dan nilai confidencepaling optimal tanpa membutuhkan masukan dari pengguna. Hasil pengujian darihasil pemrediksian defect kode perangkat lunak secara otomatis memiliki nilaiakurasi 82,35%.


Sign in / Sign up

Export Citation Format

Share Document