]> git.siccegge.de Git - talk/frida.git/commitdiff
Separate chapters from main file
authorChristoph Egger <siccegge@stud.informatik.uni-erlangen.de>
Thu, 8 Oct 2015 12:05:59 +0000 (14:05 +0200)
committerChristoph Egger <siccegge@stud.informatik.uni-erlangen.de>
Thu, 8 Oct 2015 12:05:59 +0000 (14:05 +0200)
chapters/design.tex [new file with mode: 0644]
chapters/implementation.tex [new file with mode: 0644]
chapters/vision.tex [new file with mode: 0644]
vortrag.tex

diff --git a/chapters/design.tex b/chapters/design.tex
new file mode 100644 (file)
index 0000000..f5aef26
--- /dev/null
@@ -0,0 +1,40 @@
+\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}
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "../vortrag"
+%%% End: 
diff --git a/chapters/implementation.tex b/chapters/implementation.tex
new file mode 100644 (file)
index 0000000..ac98136
--- /dev/null
@@ -0,0 +1,45 @@
+\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}
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "../vortrag"
+%%% End: 
diff --git a/chapters/vision.tex b/chapters/vision.tex
new file mode 100644 (file)
index 0000000..c8e2607
--- /dev/null
@@ -0,0 +1,14 @@
+\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}
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "../vortrag"
+%%% End: 
index a0cbe8c7862cd8b8735c2940882a7fbc8c9bc32d..e694975367d993dcdcf801d191eb8ff734bab904 100644 (file)
   \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}{}