Technique of Code Obfuscation Based on Class Splitting

2012 ◽  
Vol 271-272 ◽  
pp. 636-640
Author(s):  
Yong Yong Sun ◽  
Guang Qiu Huang

The security of software is threatened by piracy, tampering and reverse engineering. Attackers attempt to get important algorithms and sensitive data of software by static analysis or reverse engineering. Software protection becomes an important problem. The algorithm of code obfuscation based on class splitting is proposed that uses of obfuscation technology. The definition of class splitting and realization on algorithm are described. At the same time, the performance on algorithm is analyzed. The obfuscation method enhances the degree of complication about program and static analysis becomes more difficult. The algorithm is applicable to object-oriented program with class structure.

2012 ◽  
Vol 271-272 ◽  
pp. 674-678
Author(s):  
Yong Yong Sun ◽  
Guang Qiu Huang

Software protection technology is necessary for software security and property right of software. The algorithm of code obfuscation based on class is proposed that uses of obfuscation technology. The overall architecture of the system is hidden by changing the class diagram for class aggregation, and the algorithm of class aggregation can be used to design class hierarchy in object-oriented program. It makes static analysis difficult while preserving function of program. The interfaces replace original classes to achieve reference in order to implement type hidden, and automatic analysis becomes more difficult.


2019 ◽  
Vol 2019 ◽  
pp. 1-22
Author(s):  
Aziz Nanthaamornphong ◽  
Anawat Leatongkam

Recently, reverse engineering has become widely recognized as a valuable process for extracting system abstractions and design information from existing software. This study focuses on ForUML, a reverse engineering tool developed to extract UML diagrams from modern object-oriented Fortran programs. Generally, Fortran is used to implement scientific and engineering software in various domains, such as weather forecasting, astrophysics, and engineering design. However, methods for visualizing the existing design of object-oriented Fortran software are lacking. UML diagrams of Fortran software would be beneficial to scientists and engineers in explaining the structure and behavior of their programs at a higher level of abstraction than the source code itself. UML diagrams can enhance discussions within development teams and with the broader scientific community. The first version of ForUML produces only UML class diagrams. Class diagrams provide a useful window into the static structure of a program, including the structure and components of each class and the relationships between classes. However, class diagrams lack the temporal information required to understand class behavior and interactions between classes. UML sequence diagrams provide this important algorithmic information. Therefore, herein, an extension for ForUML to extract UML sequence diagrams from the Fortran code is proposed, and this capability is provided using a widely used open-source platform. This study argues that the proposed extension will enable the visualization of object-oriented Fortran software behavior and algorithmic structure and thereby enhance the development, maintenance practices, decision processes, and communications in scientific and engineering software communities worldwide.


Author(s):  
Pratiksha Gautam ◽  
Hemraj Saini

Over the past few decades ago, software developers analyzed robustly several forms of software protection against illegal copying or piracy. With the expansion in digital technology, the risk of illegal copying of software also amplifies. The increasing piracy rate has posed a serious threat to software developers leading to the development of various software protection techniques. However, various techniques have been proposed for copyright protection such as software watermarking, obfuscation, tamper-proofing and diversity. The code transformation (obfuscation) is a method of transforming a program into a form which is more complicated for an adversary to understand or change the original code from an illegitimate process of reverse engineering. None of the current code obfuscation approaches provide resistance from reverse engineering attacks. The reverse engineering threat occurs due to the unconfined software code to the user. Malicious reverse engineering of software codes can be harder by exertion of code transformation on software programs. To address this, we acquaint a peculiar code transformation approach for software protection. The proposed approach is used semantically equivalent to code clone within the source code to protect logical part of program text. We have successfully implement our approach using open source java project Gantt project system and open source java obfuscator's tools. In this paper, we present our approach and demonstrate it with an illustration. The intent of this method is to prevent static analysis attack and make dynamic attack compact for an adversary. This makes it worthwhile against reverse engineering attacks.


Filomat ◽  
2018 ◽  
Vol 32 (5) ◽  
pp. 1687-1696
Author(s):  
Weijun Li ◽  
Li Yan ◽  
Xu Chen ◽  
Fu Zhang ◽  
Jiulei Jiang

With the increase in demand of complex information modeling, object-oriented database models are put on the agenda. But information imperfection is inherent in the real-world applications. To deal with these complex imprecise and uncertain information, fuzzy object-oriented database (FOOD) and fuzzy OWL 2 ontology modeling are recently received more attention. But construction fuzzy ontology is a time-consuming and laborious task from scratch, reusing existing fuzzy ontology is an effective method of ontology construction. For the sake of reusing fuzzy OWL 2 ontologies, this paper proposes a reverse engineering approach for transforming fuzzyOWL2 Ontologies into FOOD models. And reverse engineering can shorten development cycles of ontology and various database models. On this basis, we propose formal definition of FOOD models and fuzzy OWL 2 ontologies. Furthermore, we give transformation rules and explain how to transform fuzzy OWL 2 ontologies into fuzzy FOOD models with an example in detail. The correctness of this transformation approach is proved. The advantage of reengineering fuzzy ontologies into FOOD models is the reusability of domain knowledge on the Web.


2015 ◽  
Vol 2015 ◽  
pp. 1-15 ◽  
Author(s):  
Aziz Nanthaamornphong ◽  
Jeffrey Carver ◽  
Karla Morris ◽  
Salvatore Filippone

Many scientists who implement computational science and engineering software have adopted the object-oriented (OO) Fortran paradigm. One of the challenges faced by OO Fortran developers is the inability to obtain high level software design descriptions of existing applications. Knowledge of the overall software design is not only valuable in the absence of documentation, it can also serve to assist developers with accomplishing different tasks during the software development process, especially maintenance and refactoring. The software engineering community commonly uses reverse engineering techniques to deal with this challenge. A number of reverse engineering-based tools have been proposed, but few of them can be applied to OO Fortran applications. In this paper, we propose a software tool to extract unified modeling language (UML) class diagrams from Fortran code. The UML class diagram facilitates the developers' ability to examine the entities and their relationships in the software system. The extracted diagrams enhance software maintenance and evolution. The experiments carried out to evaluate the proposed tool show its accuracy and a few of the limitations.


Author(s):  
Ranko Vujosevic ◽  
Andrew Kusiak

Abstract The data base requirements for concurrent design systems are discussed. An object-oriented data base, which allows for definition of complex objects, specification of relationships between objects, and modular expandability without affecting the existing information is defined. The data base is developed based on the object-oriented data model implemented in Smalltalk-80. An assumption-based truth maintenance system for maintaining the dependency relationships between design and manufacturing information is described.


Author(s):  
Martin Hardwick ◽  
Blair R. Downie

Abstract Concurrent engineering seeks to reduce the length of the design life cycle by allowing multiple engineers to work on a design concurrently using their different design tools. A major stumbling block in achieving this goal is that most design tools use different file formats. Emerging standards such as STEP/PDES/EXPRESS reduce this barrier, but conformance to standards is not enough. One reason design tools have different file formats is because each tool requires a different perspective or view of the design. Engineering databases must provide designers with the ability to define application specific views of design data, and the ability to propagate changes among those related views. In this paper, we examine how an object-oriented database system can support the definition of application views using a class hierarchy and multiple inheritance.


Sign in / Sign up

Export Citation Format

Share Document