This blog post introduces the release of QBDI v0.7.0 as well as an Android use case.
In this article I describe my two-months summer internship project at Quarkslab: obfuscating Java bytecode using the [Epona] Code Obfuscator.
This article explains our approach, its advantages and limitations.
CPUs used to perform better when memory accesses are aligned, that is when the pointer value is a multiple of the alignment value. This differentiation still exists in current CPUs, and still some have only instructions that perform aligned accesses. To take into account this issue, the C standard has alignment rules in place, and so the compilers exploit them to generate efficient code whenever possible. As we will see in this article, we need to be careful while casting pointers around to be sure not to break any of these rules. The goal of this article is to be educative by showcasing the problem and by giving some solutions to easily get over it.
Two engineers from QuarksLab had talks accepted at CppCon this year:
two tools presentation, Easy::jit, and Frozen; and a general introduction to
format. It's hard to cope with the 9 hours of jet-lag, but it is definitively
worth the effort, so here is our conf report!
Easy::jit is a library that brings just-in-time compilation to C++ codes.
It allows developers to jit-compile some functions and specializing (part of) their parameters.
Just-in-time compilation is done on-demand and controlled by the developer.
The project is available on github .
This blog post introduces major changes in LIEF 0.9 as well as work in progress features that will be integrated in further releases. Changelog is available here.
A new version of Frozen, an open source, header-only library that provides fast, immutable,
constexpr-compatible implementation of std::search, std::set, std::map,
std::unordered_map and std::unordered_set to C++14 users. That's a follow up to the
previous post !
What happens if one builds up on the Spectre vulnerability to
implement a convoluted version of memcpy? From an obfuscator
point-of-view, it unleashes a wide range of opportunities, which turn
a definite bug into a fun[nk]y feature.
This blog post introduces new features of LIEF as well as some uses cases.
An open source, header-only library that provides fast, immutable,
constexpr-compatible implementation of std::set, std::map,
std::unordered_map and std::unordered_set to C++14 users. It can be
used as an alternative to gperf.