Hybrid Obfuscation Technique to Protect Source Code From Prohibited Software Reverse Engineering

被引:5
|
作者
Al-Hakimi, Asma'a Mahfoud Hezam [1 ]
Sultan, Abu Bakar Md [1 ]
Abdul Ghani, Abdul Azim [1 ]
Ali, Norhayati Mohd [1 ]
Admodisastro, Novia Indriaty [1 ]
机构
[1] Univ Putra Malaysia UPM, Dept Software Engn & Informat Syst, Fac Comp Sci & Informat Technol, Serdang 43400, Malaysia
关键词
Reverse engineering; Tools; Encryption; Software; !text type='Java']Java[!/text; Intellectual property; Obfuscation techniques; reverse engineering (RE); anti reverse engineering; intellectual property; software security; piracy; !text type='JAVA']JAVA[!/text;
D O I
10.1109/ACCESS.2020.3028428
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
In this research, a new Hybrid Obfuscation Technique was proposed to prevent prohibited Reverse Engineering. The proposed hybrid technique contains three approaches; first approach is string encryption. The string encryption is about adding a mathematical equation with arrays and loops to the strings in the code to hide the meaning. Second approach is renaming system keywords to Unicode to increase the difficulty and complexity of the code. Third approach is transforming identifiers to junk code to hide the meaning and increase the complexity of the code. An experiment was conducted to evaluate the proposed Hybrid Obfuscation Technique. The experiment contains two phases; the first phase was conducting reverse engineering against java applications that do not use any protection to determine the ability of reversing tools to read the compiled code. The second phase was conducting reverse engineering against the proposed technique to evaluate the effectiveness of it. The experiment of the hybrid obfuscation technique was to test output correctness, syntax, reversed code errors, flow test, identifiers names test, methods, and classes correctness test. With these parameters, it was possible to determine the ability of the proposed technique to defend the attack. The experiment has presented good and promising results, where it was nearly impossible for the reversing tool to read the obfuscated code. Even the revealed code did not perform as well as original and obfuscated code.
引用
收藏
页码:187326 / 187342
页数:17
相关论文
共 50 条
  • [21] A source code independent reverse engineering tool for dynamic web sites
    Draheim, D
    Lutteroth, C
    Weber, G
    [J]. NINTH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS, 2005, : 168 - 177
  • [22] A Patterns based reverse engineering approach for Java']Java source code
    Couto, Rui
    Ribeiro, Antonio Nestor
    Campos, Jose Creissac
    [J]. PROCEEDINGS OF THE 2012 IEEE 35TH SOFTWARE ENGINEERING WORKSHOP (SEW 2012), 2012, : 140 - 147
  • [23] Reverse engineering C++ software system - Starting from code to design information and design patterns
    Ajila, SA
    Xie, P
    [J]. INTERNATIONAL CONFERENCE ON COMPUTING, COMMUNICATIONS AND CONTROL TECHNOLOGIES, VOL 2, PROCEEDINGS, 2004, : 233 - 238
  • [24] Open Source Software: Lessons from and for Software Engineering
    Fitzgerald, Brian
    [J]. COMPUTER, 2011, 44 (10) : 25 - 30
  • [25] Reverse engineering goal models from legacy code
    Yu, YJ
    Wang, YQ
    Mylopoulos, J
    Liaskos, S
    Lapouchnian, A
    Leite, JCSD
    [J]. 13TH IEEE INTERNATIONAL CONFERENCE ON REQUIREMENTS ENGINEERING, PROCEEDINGS, 2005, : 363 - 372
  • [26] A Gamification Technique for Motivating Students to Learn Code Readability in Software Engineering
    Mi, Qing
    Keung, Jacky
    Mei, Xiupei
    Xiao, Yan
    Chan, W. K.
    [J]. 2018 INTERNATIONAL SYMPOSIUM ON EDUCATIONAL TECHNOLOGY (ISET), 2018, : 250 - 254
  • [27] A software complexity measurement technique for object-oriented reverse engineering
    Kim, J
    Hwang, CS
    Choi, JH
    [J]. SERP '05: Proceedings of the 2005 International Conference on Software Engineering Research and Practice, Vols 1 and 2, 2005, : 663 - 669
  • [28] Reverse Engineering of Source Code to Sequence Diagram Using Abstract Syntax Tree
    Fauzil, Esa
    Hendradjaya, Bayu
    Sunindyo, Wikan Danar
    [J]. PROCEEDINGS OF 2016 INTERNATIONAL CONFERENCE ON DATA AND SOFTWARE ENGINEERING (ICODSE), 2016,
  • [29] Evolution of CFD software from academic code to practical engineering software
    Koike, H
    [J]. JOURNAL OF WIND ENGINEERING AND INDUSTRIAL AERODYNAMICS, 1999, 81 : 41 - 55
  • [30] Evolution of CFD software from academic code to practical engineering software
    Koike, Hideaki
    [J]. Journal of Wind Engineering and Industrial Aerodynamics, 1999, 81 (1-4): : 41 - 55