Obfuscating Java Programs by Translating Selected Portions of Bytecode to Native Libraries

01/15/2019
by   Davide Pizzolotto, et al.
0

Code obfuscation is a popular approach to turn program comprehension and analysis harder, with the aim of mitigating threats related to malicious reverse engineering and code tampering. However, programming languages that compile to high level bytecode (e.g., Java) can be obfuscated only to a limited extent. In fact, high level bytecode still contains high level relevant information that an attacker might exploit. In order to enable more resilient obfuscations, part of these programs might be implemented with programming languages (e.g., C) that compile to low level machine-dependent code. In fact, machine code contains and leaks less high level information and it enables more resilient obfuscations. In this paper, we present an approach to automatically translate critical sections of high level Java bytecode to C code, so that more effective obfuscations can be resorted to. Moreover, a developer can still work with a single programming language, i.e., Java.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/02/2018

Debugging Native Extensions of Dynamic Languages

Many dynamic programming languages such as Ruby and Python enable develo...
research
05/04/2022

Low-Code Programming Models

Traditionally, computer programming has been the prerogative of professi...
research
01/24/2019

TigerGraph: A Native MPP Graph Database

We present TigerGraph, a graph database system built from the ground up ...
research
10/29/2007

Code Similarity on High Level Programs

This paper presents a new approach for code similarity on High Level pro...
research
03/29/2016

Compilation as a Typed EDSL-to-EDSL Transformation

This article is about an implementation and compilation technique that i...
research
09/11/2023

Sound Atomicity Inference for Data-Centric Synchronization

Data-Centric Concurrency Control (DCCC) shifts the reasoning about concu...
research
12/30/2020

Analysis of MiniJava Programs via Translation to ML

MiniJava is a subset of the object-oriented programming language Java. S...

Please sign up or login with your details

Forgot password? Click here to reset