# Breaking ledgerctf's AES white-box challenge

DevFeed: [Breaking ledgerctf's AES white-box challenge](<https://devfeed.tech/articles/breaking-ledgerctf-s-aes-white-box-challenge-39705.md>)

Original publisher: [Read original article](<https://doar-e.github.io/blog/2018/05/17/breaking-ledgerctfs-aes-white-box-challenge/>)

Author: Axel "0vercl0k" Souchet

Published: 2018-05-17T18:52:00Z

Content type: article

Language: en

Sources: [Diary of a reverse-engineer](<https://devfeed.tech/sources/diary-of-a-reverse-engineer.md>)

Topics: [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [Reverse Engineering](<https://devfeed.tech/topics/reverse-engineering.md>), [obfuscation](<https://devfeed.tech/topics/obfuscation.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>)

Tags: [aes](<https://devfeed.tech/tags/aes.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [ledgerctf](<https://devfeed.tech/tags/ledgerctf.md>), [obfuscation](<https://devfeed.tech/tags/obfuscation.md>), [reverse-engineering](<https://devfeed.tech/tags/reverse-engineering.md>), [white-box](<https://devfeed.tech/tags/white-box.md>), [whitebox](<https://devfeed.tech/tags/whitebox.md>)

## AI overview

This article examines Ledger's ctf2 binary from its bug bounty puzzles, describing its AES white-box protection scheme and the author's reverse-engineering process for breaking it. The binary is presented as a C++ ELF64 executable with no apparent obfuscation, code encryption, or packing.

## Source excerpt

Introduction About a month ago, my mate b0n0n was working on the ledgerctf puzzles and challenged me to have a look at the ctf2 binary. I eventually did and this blogpost discusses the protection scheme and how I broke it. Before diving in though, here is a bit of background ...