\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{ChrisChurilla} \pdfinfo{ /Title (intro-to-ida.pdf) /Creator (Cheatography) /Author (ChrisChurilla) /Subject (Intro to IDA Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{20057A} \definecolor{LightBackground}{HTML}{F8F7FA} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Intro to IDA Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{ChrisChurilla} via \textcolor{DarkBackground}{\uline{cheatography.com/147144/cs/31960/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}ChrisChurilla \\ \uline{cheatography.com/chrischurilla} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 2nd May, 2022.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{x{2.08 cm} x{5.92 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Jump Operations}} \tn % Row 0 \SetRowColor{LightBackground} Enter & Jump to operand \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Alt+Enter & Jump in a new window \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} Esc & Jump to previous position \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} Tab & Jump to pseudocode \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} G & Go to (jump to address) \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} Ctrl+L & Jump by name \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} Ctrl+P & Jump to function \tn % Row Count 7 (+ 1) % Row 7 \SetRowColor{white} Ctrl+S & Jump to segment \tn % Row Count 8 (+ 1) % Row 8 \SetRowColor{LightBackground} Ctrl+G & Jump to segment register \tn % Row Count 9 (+ 1) % Row 9 \SetRowColor{white} Ctrl+Q & Jump to problem \tn % Row Count 10 (+ 1) % Row 10 \SetRowColor{LightBackground} Ctrl+X & List cross references to \tn % Row Count 11 (+ 1) % Row 11 \SetRowColor{white} Ctrl+J & List cross references from \tn % Row Count 12 (+ 1) % Row 12 \SetRowColor{LightBackground} X & Jump to xref of operand \tn % Row Count 13 (+ 1) % Row 13 \SetRowColor{white} Ctrl+E & Jump to entry point \tn % Row Count 14 (+ 1) % Row 14 \SetRowColor{LightBackground} Alt+M & Mark position \tn % Row Count 15 (+ 1) % Row 15 \SetRowColor{white} Ctrl+M & Jump to marked position \tn % Row Count 16 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{3.52 cm} x{4.48 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Debugging}} \tn % Row 0 \SetRowColor{LightBackground} F2 & Set breakpoint \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Green Arrow & Begin Debugger \tn % Row Count 2 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{2.48 cm} x{5.52 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Subviews}} \tn % Row 0 \SetRowColor{LightBackground} \seqsplit{Dissassembly} & Shows the program in its executable form \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} Proximity Browser & Flowchart view \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} Hex dump & Hexidecimal value of the program \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} Decompile Function & Hexray decompiler plugin. Takes function assembly and spits out pseudocode \tn % Row Count 9 (+ 3) % Row 4 \SetRowColor{LightBackground} Strings & Lists all program strings \tn % Row Count 10 (+ 1) % Row 5 \SetRowColor{white} Segments & Lists all segments from PE file. If there are a lot debug segments the locations in memory are being dynamically allocated and program is probably packed OR it's loading files off disk and into memory. "Type" section details whether the segment is Code or Data. \tn % Row Count 20 (+ 10) % Row 6 \SetRowColor{LightBackground} Signatures & Displays all relevant code signatures within the program. \tn % Row Count 23 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{3.04 cm} x{4.96 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Binary Secitonal Graph Key}} \tn % Row 0 \SetRowColor{LightBackground} Light Blue & Library Function \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Blue & Regular Function \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} Rust & Instruction \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} Grey & Data \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} Gold & Unexplored \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} Pink & External Symbol \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} Green & Lumina Function \tn % Row Count 7 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{This graph is displayed as a multi-colored banner at the top of the window.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}