Graph explorer

Translingual Obfuscation

Program obfuscation is an important software protection technique that prevents attackers from revealing the programming logic and design of the software. We introduce translingual obfuscation, a new software obfuscation scheme which makes programs obscure by "misusing" the unique features of certain programming languages. Translingual obfuscation translates part of a program from its original language to another language which has a different programming paradigm and execution model, thus increasing program complexity and impeding reverse engineering. In this paper, we investigate the feasibility and effectiveness of translingual obfuscation with Prolog, a logic programming language. We implement translingual obfuscation in a tool called BABEL, which can selectively translate C functions into Prolog predicates. By leveraging two important features of the Prolog language, i.e., unification and backtracking, BABEL obfuscates both the data layout and control flow of C programs, making them much more difficult to reverse engineer. Our experiments show that BABEL provides effective and stealthy software obfuscation, while the cost is only modest compared to one of the most popu

8 nodes8 linksoverview mapTranslingual Obfuscation
8 nodes8 links
Translingual Obfuscation8 visible / 8 total nodes / 18 links
Related contextCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipAuthorshipAuthorshipAuthorshipAuthorshipTopic signalTopic signalAuthorshipWTranslingual Obfuscationpreprint / 2016APei WangResearcherAShuai WangResearcherAJiang MingResearcherAYufei JiangResearcherTCryptography and Security7258 worksTSoftware Engineering3620 worksADinghao WuResearcher
PaperSignal 107 links

Translingual Obfuscation

preprint / 2016

Open