1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 %% This Beamer template was created by Cameron Bracken.
3 %% Anyone can freely use or modify it for any purpose
4 %% without attribution.
6 %% Last Modified: January 9, 2009
8 %%% Modified by Maximilian Krüger
12 %%%% Modified by Christoph Egger
17 \documentclass[12pt
]{beamer
}
19 \usepackage{BeamerColor
}
21 %% Beamer Layout %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22 \useoutertheme[subsection=false,shadow
]{miniframes
}
23 \setbeamertemplate{footline
}[frame number
]
24 \useinnertheme{default
}
26 \setmainfont{Droid Sans
}
27 \setsansfont{Droid Sans
}
28 \setmonofont{Source Code Pro Regular
}
30 \setbeamerfont{title like
}{shape=
\scshape}
31 \setbeamerfont{frametitle
}{shape=
\scshape}
32 \beamertemplatenavigationsymbolsempty
33 %\setbeamertemplate{mini frames}{}
34 \setbeamercolor*
{lower separation line head
}{bg=DeepSkyBlue4
}
35 \setbeamercolor*
{normal text
}{fg=black,bg=white
}
36 \setbeamercolor*
{alerted text
}{fg=red
}
37 \setbeamercolor*
{example text
}{fg=black
}
38 \setbeamercolor*
{structure
}{fg=black
}
39 \setbeamercolor*
{frametitle
}{fg=DeepSkyBlue4
}
40 \setbeamercolor*
{title
}{fg=DeepSkyBlue4
}
42 \setbeamercolor*
{palette tertiary
}{fg=white,bg=black!
80}
43 \setbeamercolor*
{palette quaternary
}{fg=white,bg=black!
80}
45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 %\usemintedstyle{trac}
51 %\usemintedstyle{monokai}
52 \setbeamerfont{frametitle
}{size=
\huge}
53 \setcounter{tocdepth}{2}
56 %use biblatex instead of bibtex
57 \usepackage[backend=bibtex, style=numeric, sorting=none
]{biblatex
}
58 \addbibresource{vortrag.bib
}
59 \setbeamertemplate{bibliography item
}{}
60 \setbeamertemplate{caption
}{\tiny\insertcaption}
62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
65 %\renewcommand{\inserttotalframenumber}{\pageref{lastslide}}
66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
70 \subtitle{A Free and Interactive Disassembler
}
73 {\it Lehrstuhl~Informatik~
1~
\textendash~FAU
}\\
76 \begin{tabular
}[ht
]{lcr
}
79 \includegraphics[width=
2.5cm
]{images/fau-logo.png
}
87 \includegraphics[width=
2.5cm
]{images/i1-logo.png
}
92 2015~
\textendash~
10~
\textendash~
09
100 \frametitle{Table of Contents
}
101 \tableofcontents[currentsection
]
107 \includegraphics[width=
.7\textwidth]{images/frida
}
112 \begin{column
}[T
]{5em
}
113 \includegraphics[width=
\textwidth]{images/GPLv3
}
116 \url{https://www.frida.xyz
}\\
117 \url{https://doc.frida.xyz
}\\
118 \url{https://projects.faui2k9.de/tag/frida/
}
122 \begin{tabular
}[ht
]{lcr
}
125 \includegraphics[width=
3.0cm
]{images/LLVM
}
129 \includegraphics[width=
3.5cm
]{images/guile
}
133 \includegraphics[width=
2.5cm
]{images/Qt
}
138 \begin{frame
}{Overview
}
142 \section{Current State
}
143 \subsection{Disassembler Core
}
144 \begin{frame
}{Disassembler Core
}
146 \item Recursive Disassembler
147 \item MachO / PE / ELF handling
148 \item Whatever ISA LLVM supports, frida supports (x86, arm, POWER,
150 \item Use Symbols when available, still find
\texttt{\_start} if not
151 \item Assembly dialect suckless
\texttrademark{} configurable
158 \item Classical Control-Flow Diagram
159 \item Hyperlinked references
160 \item Automagic Layout
161 \item Grouping for functions
165 \subsection{Scripting
}
166 \begin{frame
}{Scripting
}
168 \item Plugin Interface, Plug your own!
169 \item GUILE bindings with access to the core datastructures
171 \item Full geiser support (Connect your editor to frida when
173 \item Missing: wrapper for nicer interface
175 \item iPython currently explored
177 \item Qt IPython Widget
178 \item Alternative socket connection
183 \section{Design Overview
}
184 \subsection{Serialization
}
185 \begin{frame
}{Serialization
}
187 \item Storing
\emph{Facts
} (and later
\emph{Patches
}) for the Binary
188 \item ZIP archive with base state and linear sequence of
191 \item Each transaction with enough information to reverse-apply it
192 \item Transactions can not only be written to disk but also
193 e.\,g. sent over the network to remote viewers
198 \subsection{QSignals
}
199 \begin{frame
}{QSignals
}
201 \item Only option really for the GUI part
202 \item Properly handles passing messages between
203 (Q)Threads. Disassembler already runs asyncron to the GUI and the
208 \subsection{Scripting
}
209 \begin{frame
}{Scripting
}
211 \item Keep complex logic out of the core as far as possible
213 \item finding probably functions in the text section
214 \item Detecting structure of
\texttt{libgcc
\_s} \texttt{\_start}
220 \begin{frame
}{Vision
}
223 \item clang-based indexing of
\texttt{/usr/include
}
224 \item Calculation of Path-Conditions
225 \item XMPP PubSub based Multiplayer mode
229 \begin{frame
}{Name Wanted
}
231 Mit der AS/
400-Standardsoftware Frida
4.0 \dots
234 Frida Software: FRamework for Image Dataset Analysis
237 Frida: Inject JavaScript to explore native apps on Windows, Mac, Linux, iOS and Android
241 \begin{frame
}{Questions?
}
244 \includegraphics[width=
7cm
]{images/
42.pdf
}
248 Download: https://static.siccegge.de/talks/frida-FAU-
2015-
10-
09.pdf\\
249 https://git.siccegge.de/?p=talk/frida.git