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
Ange Albertini
September 13, 2013
Technology
0
520
[workshop] Exploring the Portable Executable format
44Con 2013
London, England
Ange Albertini
September 13, 2013
Tweet
Share
More Decks by Ange Albertini
See All by Ange Albertini
Fearsome File Formats
ange
0
980
Overview of file type identifiers
ange
0
1.3k
A question of time
ange
0
1.1k
SBuD: InfoVis in InfoSec
ange
1
920
Generating Weird Files
ange
0
440
Technical challenges with file formats
ange
1
2.3k
Inside out - abusing archive file formats
ange
3
1.9k
Relations between archive formats
ange
0
2.3k
Beyond your studies v2
ange
2
1.1k
Other Decks in Technology
See All in Technology
ESXi のAIOps だ!2025冬
unnowataru
0
440
モダンデータスタックの理想と現実の間で~1.3億人Vポイントデータ基盤の現在地とこれから~
taromatsui_cccmkhd
2
290
Keynoteから見るAWSの頭の中
nrinetcom
PRO
1
140
Knowledge Work の AI Backend
kworkdev
PRO
0
330
ハッカソンから社内プロダクトへ AIエージェント ko☆shi 開発で学んだ4つの重要要素
leveragestech
0
430
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
150
20251222_サンフランシスコサバイバル術
ponponmikankan
2
150
Building Serverless AI Memory with Mastra × AWS
vvatanabe
1
800
Strands AgentsのEvaluatorをLangfuseにぶち込んでみた
andoooooo_bb
0
100
AWS Lambda durable functions を使って AWS Lambda の15分の壁を超えてみよう
matsuzawatakeshi
0
110
2025年 山梨の技術コミュニティを振り返る
yuukis
0
120
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
14
4.7k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
HDC tutorial
michielstock
1
280
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Building Adaptive Systems
keathley
44
2.9k
Music & Morning Musume
bryan
46
7k
The World Runs on Bad Software
bkeepers
PRO
72
12k
KATA
mclloyd
PRO
33
15k
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