Saint-Gildas-de-Rhuys, Brittany, France
3K followers 500+ connections

Join to view profile

About

Security engineer who has strong interests in low-level programming, program analysis…

Experience & Education

  • Apple

View Jonathan’s full experience

See their title, tenure and more.

or

By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.

Publications

  • Deobfuscation of VM based software protection

    SSTIC

    In this presentation we describe an approach which consists to automatically analyze virtual machine based software protections and which recompiles a new version of the binary without such protections. This automated approach relies on a symbolic execution guide by a taint analysis and some concretization policies, then on a binary rewriting using LLVM transition.

    Other authors
    See publication
  • How Triton can help to reverse virtual machine based software protections

    CSAW SOS

    The first part of the talk is going to be an introduction to the Triton framework to expose its components and to explain how they work together. Then, the second part will include demonstrations on how it's possible to reverse virtual machine based protections using taint analysis, symbolic execution, SMT simplifications and LLVM-IR optimizations.

    Other authors
    • Romain THOMAS
    See publication
  • Dynamic Binary Analysis and Obfuscated Codes

    St'Hack 2016

    At this presentation we will talk about how a DBA (Dynamic Binary Analysis) may help a reverse engineer to reverse obfuscated code. We will first introduce some basic obfuscation techniques and then expose how it's possible to break some stuffs (using our open-source DBA framework - Triton) like detect opaque predicates, reconstruct CFG, find the original algorithm, isolate sensible data and many more... Then, we will conclude with a demo and few words about our future work.

    Other authors
    See publication
  • How Triton may help to analyse obfuscated binaries

    MISC magazine - 82

    Binary obfuscation is used to protect software's intellectual property. There exist different kinds of obfucation but roughly, it transforms a binary structure into another binary structure by preserving the same semantic. The aim of obfuscation is to ensure that the original information is "drown" in useless information that will make reverse engineering harder. In this article we will show how we can analyse an ofbuscated program and break some obfuscations using the Triton framework.

    Other authors
    See publication
  • Triton: A Concolic Execution Framework

    SSTIC 2015

    This talk is about the release of Triton, a concolic execution framework based on Pin. It provides components like a taint engine, a dynamic symbolic execution engine, a snapshot engine, translation of x64 instruction to SMT2, a Z3 interface to solve constraints and Python bindings. Based on these components, Triton offers the possibility to build tools for vulnerabilities research or reverse-engineering assistance.

    Other authors
    • Florent Saudel
    See publication
  • Dynamic Behavior Analysis Using Binary Instrumentation

    St'Hack 2015

    This talk can be considered like the part 2 of my talk at SecurityDay. In the previous part, I talked about how it was possible to cover a targeted function in memory using the DSE (Dynamic Symbolic Execution) approach. Cover a function (or its states) doesn't mean find all vulnerabilities, some vulnerability doesn't crashes the program. That's why we must implement specific analysis to find specific bugs. These analysis are based on the binary instrumentation and the runtime behavior analysis…

    This talk can be considered like the part 2 of my talk at SecurityDay. In the previous part, I talked about how it was possible to cover a targeted function in memory using the DSE (Dynamic Symbolic Execution) approach. Cover a function (or its states) doesn't mean find all vulnerabilities, some vulnerability doesn't crashes the program. That's why we must implement specific analysis to find specific bugs. These analysis are based on the binary instrumentation and the runtime behavior analysis of the program. In this talk, we will see how it's possible to find these following kind of bugs : off-by-one, stack / heap overflow, use-after-free, format string and {write, read}-what-where.

    See publication
  • Dynamic Binary Analysis and Instrumentation - Covering a function using a Dynamic Symbolic Execution approach

    SecurityDayLille 2015

    This talk is about binary analysis and instrumentation. We will see how it's possible to target a specific function, snapshot the context memory/registers before the function, translate the instrumentation into an intermediate representation,apply a taint analysis based on this IR, build/keep formulas for a Dynamic Symbolic Execution (DSE), generate a concrete value to go through a specific path, restore the context memory/register and generate another concrete value to go through another path…

    This talk is about binary analysis and instrumentation. We will see how it's possible to target a specific function, snapshot the context memory/registers before the function, translate the instrumentation into an intermediate representation,apply a taint analysis based on this IR, build/keep formulas for a Dynamic Symbolic Execution (DSE), generate a concrete value to go through a specific path, restore the context memory/register and generate another concrete value to go through another path then repeat this operation until the target function is covered.

    See publication
  • An introduction to the Return Oriented Programming and ROP-chain generation

    Bordeaux University

    This talk is about an introduction to the return oriented programming and its variants like JOP, SOP... It also describes some techniques and active works about ROP-chain generation based on backtracking or symbolic execution.

    See publication
  • Introduction to the Return-Oriented Programming

    MISC magazine - HS 09

    This article is about an introduction to the return oriented programming. In this article we describe the Operating Systems' protections in detail and explains why the ROP exploitation is useful. We also provides a detailled step-by-step example of the ROP exploitation on the CVE-2011-1938 vulnerability.

    See publication
  • Software testing and concolic execution

    LSE Summer Week 2013

    This talk is about an introduction to the concolic execution using Valgrind and Z3. Concolic execution is a technique that uses both symbolic and concrete execution. In this talk we introduce a little tool which breaks a dumb crackme.

    See publication
Join now to see all publications

Projects

  • Triton: A Dynamic Binary Analysis Library

    -

    Triton is a dynamic binary analysis library. You can build your own program analysis tools, automate your reverse engineering, perform software verification or just emulate code.

    - Dynamic symbolic execution
    - Dynamic taint analysis
    - AST representation of the x86, x86-64, ARM32, AArch64 and RISC-V 32/64 ISA semantic
    - Expressions synthesis
    - SMT simplification passes
    - Lifting to LLVM as well as Z3 and back
    - SMT solver interface to Z3 and Bitwuzla
    - C++ and Python…

    Triton is a dynamic binary analysis library. You can build your own program analysis tools, automate your reverse engineering, perform software verification or just emulate code.

    - Dynamic symbolic execution
    - Dynamic taint analysis
    - AST representation of the x86, x86-64, ARM32, AArch64 and RISC-V 32/64 ISA semantic
    - Expressions synthesis
    - SMT simplification passes
    - Lifting to LLVM as well as Z3 and back
    - SMT solver interface to Z3 and Bitwuzla
    - C++ and Python API

    Source code: https://github.com/jonathansalwan/Triton
    Website: https://triton-library.github.io

View Jonathan’s full profile

  • See who you know in common
  • Get introduced
  • Contact Jonathan directly
Join to view full profile

Other similar profiles

Explore top content on LinkedIn

Find curated posts and insights for relevant topics all in one place.

View top content

Add new skills with these courses