Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[workshop] Exploring the Portable Executable fo...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ange Albertini
September 13, 2013
Technology
530
0
Share
[workshop] Exploring the Portable Executable format
44Con 2013
London, England
Ange Albertini
September 13, 2013
More Decks by Ange Albertini
See All by Ange Albertini
Fearsome File Formats
ange
0
1k
Overview of file type identifiers
ange
0
1.5k
A question of time
ange
0
1.2k
SBuD: InfoVis in InfoSec
ange
1
960
Generating Weird Files
ange
0
480
Technical challenges with file formats
ange
1
2.3k
Inside out - abusing archive file formats
ange
3
2k
Relations between archive formats
ange
0
2.4k
Beyond your studies v2
ange
2
1.1k
Other Decks in Technology
See All in Technology
生成AI時代に信頼性をどう保ち続けるか - Policy as Code の実践
akitok_
0
160
Google Cloud Next '26 の裏でこっそりリリースされたCloud Number Registry & Cloud Hub コスト分析 を試してみた
hikaru1001
0
170
AIと乗り切った1,500ページ超のヘルプサイト基盤刷新とさらにその先の話
mugi_uno
2
320
Anthropic「Long-running a gents」をGeminiで再現してみた
tkikuchi
0
800
The 7 pitfalls of AI
ufried
0
200
鹿野さんに聞く!CSSの最新トレンド Ver.2026
tonkotsuboy_com
6
2.6k
SLI/SLO、「完全に理解した」から「チョットデキル」へ
maruloop
1
140
拝啓、あの夏の僕へ〜あなたも知っているApp Runnerの世界〜
news_it_enj
0
220
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8k
Digital Independence: Why, When and How
wannesrams
0
300
Shiny New Tools Won't Fix Your Problem
trishagee
1
110
Swift Sequence の便利 API 再発見
treastrain
1
180
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
ラッコキーワード サービス紹介資料
rakko
1
3.2M
Ruling the World: When Life Gets Gamed
codingconduct
0
220
Practical Orchestrator
shlominoach
191
11k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
260
BBQ
matthewcrist
89
10k
Navigating Team Friction
lara
192
16k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Bash Introduction
62gerente
615
210k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
A Tale of Four Properties
chriscoyier
163
24k
Transcript
Exploring the Portable Executable format London, England Ange Albertini 2013/09/13
Workshop package (PoCs+docs) http://www.xchg.info/corkami/workshop.zip Recommended PE viewer: http://icerbero.com/peinsider
None
None
None
None
None
None
None
None
None
None
None
None
None
a handmade PE simple.exe a first real example working minimal
None
None
None
detailed walkthrough
None
DOS header unused in PE mode
None
PE header PE signature
None
Optional Header NOT optional in executables
None
DataDirectories end of OptionalHeader 16 (max) * [RVA, Size] each
entry interpreted differently
None
Sections memory mapping
None
None
Imports standard loader mechanism NOT required load DLL, locate APIs
None
compiled PE compiled.exe closer to reality extra non-critical structure
None
None
None
DLL exports relocations
None
None
driver subsystem, checksum low alignments mapping different imports
None
resources structure version, manifest/icon, APIs
None
None
Thread Local Storage callback list before EntryPoint & after ExitProcess
None
.Net different and integrated binary 2nd loader
None
what about 64b? very few changes • 2 magic constants
• a few elements become QWord ◦ ImageBase, Imports thunks, callbacks • Exceptions have their own DataDirectory ◦ no need for LoadConfig (SafeSEH)
and ARM • a different magic constant • still 16b
DOS Stub ! • nothing special, PE wise ◦ the beauty of ‘Portability’
trivial
None
None
None
None
None