\tableofcontents{}
\end{frame}
-\section{Current State}
-\subsection{Disassembler Core}
-\begin{frame}{Disassembler Core}
- \begin{itemize}
- \item Recursive Disassembler
- \item MachO / PE / ELF handling
- \item Whatever ISA LLVM supports, frida supports (x86, arm, POWER,
- mips, \dots{})
- \item Use Symbols when available, still find \texttt{\_start} if not
- \item Assembly dialect suckless\texttrademark{} configurable
- \end{itemize}
-\end{frame}
-
-\subsection{GUI}
-\begin{frame}{GUI}
- \begin{itemize}
- \item Classical Control-Flow Diagram
- \item Hyperlinked references
- \item Automagic Layout
- \item Grouping for functions
- \end{itemize}
-\end{frame}
-
-\subsection{Scripting}
-\begin{frame}{Scripting}
- \begin{itemize}
- \item Plugin Interface, Plug your own!
- \item GUILE bindings with access to the core datastructures
- \begin{itemize}
- \item Full geiser support (Connect your editor to frida when
- writing scripts)!
- \item Missing: wrapper for nicer interface
- \end{itemize}
- \item iPython currently explored
- \begin{itemize}
- \item Qt IPython Widget
- \item Alternative socket connection
- \end{itemize}
- \end{itemize}
-\end{frame}
-
-\section{Design Overview}
-\subsection{Serialization}
-\begin{frame}{Serialization}
- \begin{itemize}
- \item Storing \emph{Facts} (and later \emph{Patches}) for the Binary
- \item ZIP archive with base state and linear sequence of
- transactions
- \begin{itemize}
- \item Each transaction with enough information to reverse-apply it
- \item Transactions can not only be written to disk but also
- e.\,g. sent over the network to remote viewers
- \end{itemize}
- \end{itemize}
-\end{frame}
-
-\subsection{QSignals}
-\begin{frame}{QSignals}
- \begin{itemize}
- \item Only option really for the GUI part
- \item Properly handles passing messages between
- (Q)Threads. Disassembler already runs asyncron to the GUI and the
- interpreter
- \end{itemize}
-\end{frame}
-
-\subsection{Scripting}
-\begin{frame}{Scripting}
- \begin{itemize}
- \item Keep complex logic out of the core as far as possible
- \begin{itemize}
- \item finding probably functions in the text section
- \item Detecting structure of \texttt{libgcc\_s} \texttt{\_start}
- \end{itemize}
- \end{itemize}
-\end{frame}
-
-\section{Vision}
-\begin{frame}{Vision}
- \begin{itemize}
- \item LLDB
- \item clang-based indexing of \texttt{/usr/include}
- \item Calculation of Path-Conditions
- \item XMPP PubSub based Multiplayer mode
- \end{itemize}
-\end{frame}
+\input{chapters/design}
+\input{chapters/implementation}
+\input{chapters/vision}
\begin{frame}{Name Wanted}
\begin{block}{}