Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Radeco Pseudo C Code Generation
Search
kriw
September 08, 2018
Technology
1
120
Radeco Pseudo C Code Generation
The slide of r2con2018
kriw
September 08, 2018
Tweet
Share
More Decks by kriw
See All by kriw
セキュリティキャンプ2017全国大会 集中コースZ5
kriw
1
500
Other Decks in Technology
See All in Technology
AWSセキュリティアップデートとAWSを育てる話
cmusudakeisuke
0
280
乗りこなせAI駆動開発の波
eltociear
1
1.1k
[デモです] NotebookLM で作ったスライドの例
kongmingstrap
0
150
2025年 開発生産「可能」性向上報告 サイロ解消からチームが能動性を獲得するまで/ 20251216 Naoki Takahashi
shift_evolve
PRO
1
150
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
770
re:Invent 2025 ふりかえり 生成AI版
takaakikakei
1
210
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
180
今からでも間に合う!速習Devin入門とその活用方法
ismk
1
700
AWS Trainium3 をちょっと身近に感じたい
bigmuramura
1
140
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
320
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.4k
手動から自動へ、そしてその先へ
moritamasami
0
300
Featured
See All Featured
Thoughts on Productivity
jonyablonski
73
5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
4 Signs Your Business is Dying
shpigford
186
22k
Documentation Writing (for coders)
carmenintech
76
5.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Visualization
eitanlees
150
16k
It's Worth the Effort
3n
187
29k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
GraphQLとの向き合い方2022年版
quramy
50
14k
Transcript
Radeco Pseudo C Code Generation GSoC’2018
Radeco Pseudo C Code Generation I have done - writing
pseudo C Code generator - writing r2 integration
Demo
Decompilers
Projects - radeco-lib - https://github.com/radareorg/radeco-lib - Core library for binary
analysis, decompilation - radeco - https://github.com/radareorg/radeco - User interface
Design (radare2 to radeco) Input (ESIL)
Design (radeco-lib) radeco has 3 stages - Loading Binary (ESIL)
- Analyses - deadcode elimination, ... - Decompilation - heuristics - control flow structuring
Works Before GSoC After GSoC
Works Before GSoC After GSoC
IR Assembly-like intermidiate representation - Generated from ESIL - SSA
form Example IR
C-like CFG - CFG with C expressions
IR to C-like CFG - CFG is copied from the
one of IR No for/if/while - Expressions are recovered by expr tree %34 = (%30 | %31) & 0xffffffff %33 = %30 | %31 %34 = %33 & 0xffffffff
C-like CFG to Pseudo C code - Recover C code
from CFG (with GOTOs) - Only recover assignments with memory reference - Recovered: mov [ebp - 0x1c], 0x10 - Ignored: mov eax, 0x10
Challenges - Required knowledge of program/binary analysis - Sharing tasks
with HMPerson1 - Few information about decompiler
TODOs Milestone for Radeco-0.1 - Bug fixes - API stabilization
(radeco-lib) - Documentation - etc
Commits
Thank you