<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=9" / >
< meta name = "generator" content = "Doxygen 1.9.1" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< title > Theodosius: theo::decomp Namespace Reference< / title >
< link href = "../../tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "../../jquery.js" > < / script >
< script type = "text/javascript" src = "../../dynsections.js" > < / script >
< link href = "../../search/search.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "../../search/searchdata.js" > < / script >
< script type = "text/javascript" src = "../../search/search.js" > < / script >
< link href = "../../doxygen.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
< td id = "projectalign" style = "padding-left: 0.5em;" >
< div id = "projectname" > Theodosius
  < span id = "projectnumber" > v3.0< / span >
< / div >
< div id = "projectbrief" > Jit linker, mapper, obfuscator, and mutator< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license-end */
< / script >
< script type = "text/javascript" src = "../../menudata.js" > < / script >
< script type = "text/javascript" src = "../../menu.js" > < / script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */< / script >
< div id = "main-nav" > < / div >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
< / div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< iframe src = "javascript:void(0)" frameborder = "0"
name="MSearchResults" id="MSearchResults">
< / iframe >
< / div >
< div id = "nav-path" class = "navpath" >
< ul >
< li class = "navelem" > < a class = "el" href = "../../da/de6/namespacetheo.html" > theo< / a > < / li > < li class = "navelem" > < a class = "el" href = "../../d9/dbd/namespacetheo_1_1decomp.html" > decomp< / a > < / li > < / ul >
< / div >
< / div > <!-- top -->
< div class = "header" >
< div class = "summary" >
< a href = "#nested-classes" > Classes< / a > |
< a href = "#typedef-members" > Typedefs< / a > |
< a href = "#enum-members" > Enumerations< / a > < / div >
< div class = "headertitle" >
< div class = "title" > theo::decomp Namespace Reference< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
< p > the namespace that contains all of the decomposition related code.
< a href = "../../d9/dbd/namespacetheo_1_1decomp.html#details" > More...< / a > < / p >
< table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "nested-classes" > < / a >
Classes< / h2 > < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../d6/d0e/classtheo_1_1decomp_1_1decomp__t.html" > decomp_t< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > the main decomposition class which is responsible for breaking down lib file into coff files, and extracted used symbols from the coff files. < a href = "../../d6/d0e/classtheo_1_1decomp_1_1decomp__t.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../df/db4/classtheo_1_1decomp_1_1routine__t.html" > routine_t< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > the routine class which is responsible for creating symbols for routines. if the routine is located inside a section with the name ".split" it will break functions into instruction symbols. < a href = "../../df/db4/classtheo_1_1decomp_1_1routine__t.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../d9/dd5/classtheo_1_1decomp_1_1symbol__t.html" > symbol_t< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > < a class = "el" href = "../../d9/dd5/classtheo_1_1decomp_1_1symbol__t.html" title = "symbol_t is an abstraction upon the coff symbol. this allows for easier manipulation of the symbol...." > symbol_t< / a > is an abstraction upon the coff symbol. this allows for easier manipulation of the symbol. symbols can be different things, sections, functions, and even instructions (when functions are broken down). < a href = "../../d9/dd5/classtheo_1_1decomp_1_1symbol__t.html#details" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "typedef-members" > < / a >
Typedefs< / h2 > < / td > < / tr >
< tr class = "memitem:abbf09e1f7eb9e42057ff9c9e8be41266" > < td class = "memItemLeft" align = "right" valign = "top" > using  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../d9/dbd/namespacetheo_1_1decomp.html#abbf09e1f7eb9e42057ff9c9e8be41266" > sym_data_t< / a > = std::tuple< coff::image_t *, coff::symbol_t *, std::uint32_t > < / td > < / tr >
< tr class = "memdesc:abbf09e1f7eb9e42057ff9c9e8be41266" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > meta symbol data. consists of the coff image which contains the coff symbol, the coff symbol itself, and the size (if any) of the symbol. < a href = "../../d9/dbd/namespacetheo_1_1decomp.html#abbf09e1f7eb9e42057ff9c9e8be41266" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:abbf09e1f7eb9e42057ff9c9e8be41266" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "enum-members" > < / a >
Enumerations< / h2 > < / td > < / tr >
< tr class = "memitem:af96177687d0ad683c5897d8fa01135f9" > < td class = "memItemLeft" align = "right" valign = "top" > enum   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9" > sym_type_t< / a > { < br / >
    < a class = "el" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9acf6baee49c2ddb7e89724231bbd75d4a" > function< / a > = 0b00000001
, < a class = "el" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9a4842f4c175b1ec87fc82ef3757d3a0e9" > instruction< / a > = 0b00000010
, < a class = "el" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9acdb885c0ea7f6b2874224487c69b8112" > data< / a > = 0b00000100
, < a class = "el" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9a46b3b57c5d47e2818b2ea10b96b43cd6" > section< / a > = 0b00001000
, < br / >
    < a class = "el" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9a7d51179cde510c8a4070c51733aa9313" > all< / a > = section | data | instruction | function
< br / >
}< / td > < / tr >
< tr class = "memdesc:af96177687d0ad683c5897d8fa01135f9" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > meta symbol type. this is an abstraction upon the coff symbol storage/class type. < a href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:af96177687d0ad683c5897d8fa01135f9" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table >
< a name = "details" id = "details" > < / a > < h2 class = "groupheader" > Detailed Description< / h2 >
< div class = "textblock" > < p > the namespace that contains all of the decomposition related code. < / p >
< / div > < h2 class = "groupheader" > Typedef Documentation< / h2 >
< a id = "abbf09e1f7eb9e42057ff9c9e8be41266" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#abbf09e1f7eb9e42057ff9c9e8be41266" > ◆ < / a > < / span > sym_data_t< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > using < a class = "el" href = "../../d9/dbd/namespacetheo_1_1decomp.html#abbf09e1f7eb9e42057ff9c9e8be41266" > theo::decomp::sym_data_t< / a > = typedef std::tuple< coff::image_t*, coff::symbol_t*, std::uint32_t> < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > meta symbol data. consists of the coff image which contains the coff symbol, the coff symbol itself, and the size (if any) of the symbol. < / p >
< / div >
< / div >
< h2 class = "groupheader" > Enumeration Type Documentation< / h2 >
< a id = "af96177687d0ad683c5897d8fa01135f9" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#af96177687d0ad683c5897d8fa01135f9" > ◆ < / a > < / span > sym_type_t< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > enum < a class = "el" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9" > theo::decomp::sym_type_t< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > meta symbol type. this is an abstraction upon the coff symbol storage/class type. < / p >
< table class = "fieldtable" >
< tr > < th colspan = "2" > Enumerator< / th > < / tr > < tr > < td class = "fieldname" > < a id = "af96177687d0ad683c5897d8fa01135f9acf6baee49c2ddb7e89724231bbd75d4a" > < / a > function  < / td > < td class = "fielddoc" > < / td > < / tr >
< tr > < td class = "fieldname" > < a id = "af96177687d0ad683c5897d8fa01135f9a4842f4c175b1ec87fc82ef3757d3a0e9" > < / a > instruction  < / td > < td class = "fielddoc" > < / td > < / tr >
< tr > < td class = "fieldname" > < a id = "af96177687d0ad683c5897d8fa01135f9acdb885c0ea7f6b2874224487c69b8112" > < / a > data  < / td > < td class = "fielddoc" > < / td > < / tr >
< tr > < td class = "fieldname" > < a id = "af96177687d0ad683c5897d8fa01135f9a46b3b57c5d47e2818b2ea10b96b43cd6" > < / a > section  < / td > < td class = "fielddoc" > < / td > < / tr >
< tr > < td class = "fieldname" > < a id = "af96177687d0ad683c5897d8fa01135f9a7d51179cde510c8a4070c51733aa9313" > < / a > all  < / td > < td class = "fielddoc" > < / td > < / tr >
< / table >
< div class = "fragment" > < div class = "line" > < a name = "l00043" > < / a > < span class = "lineno" > 43< / span >   {< / div >
< div class = "line" > < a name = "l00044" > < / a > < span class = "lineno" > 44< / span >   < span class = "keyword" > function< / span > = 0b00000001,< / div >
< div class = "line" > < a name = "l00045" > < / a > < span class = "lineno" > 45< / span >   < a class = "code" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9a4842f4c175b1ec87fc82ef3757d3a0e9" > instruction< / a > = 0b00000010,< / div >
< div class = "line" > < a name = "l00046" > < / a > < span class = "lineno" > 46< / span >   < a class = "code" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9acdb885c0ea7f6b2874224487c69b8112" > data< / a > = 0b00000100,< / div >
< div class = "line" > < a name = "l00047" > < / a > < span class = "lineno" > 47< / span >   < a class = "code" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9a46b3b57c5d47e2818b2ea10b96b43cd6" > section< / a > = 0b00001000,< / div >
< div class = "line" > < a name = "l00048" > < / a > < span class = "lineno" > 48< / span >   < a class = "code" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9a7d51179cde510c8a4070c51733aa9313" > all< / a > = < a class = "code" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9a46b3b57c5d47e2818b2ea10b96b43cd6" > section< / a > | < a class = "code" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9acdb885c0ea7f6b2874224487c69b8112" > data< / a > | < a class = "code" href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9a4842f4c175b1ec87fc82ef3757d3a0e9" > instruction< / a > | < span class = "keyword" > function< / span > < / div >
< div class = "line" > < a name = "l00049" > < / a > < span class = "lineno" > 49< / span >   };< / div >
< div class = "ttc" id = "anamespacetheo_1_1decomp_html_af96177687d0ad683c5897d8fa01135f9a46b3b57c5d47e2818b2ea10b96b43cd6" > < div class = "ttname" > < a href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9a46b3b57c5d47e2818b2ea10b96b43cd6" > theo::decomp::section< / a > < / div > < div class = "ttdeci" > @ section< / div > < div class = "ttdef" > < b > Definition:< / b > symbol.hpp:47< / div > < / div >
< div class = "ttc" id = "anamespacetheo_1_1decomp_html_af96177687d0ad683c5897d8fa01135f9a4842f4c175b1ec87fc82ef3757d3a0e9" > < div class = "ttname" > < a href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9a4842f4c175b1ec87fc82ef3757d3a0e9" > theo::decomp::instruction< / a > < / div > < div class = "ttdeci" > @ instruction< / div > < div class = "ttdef" > < b > Definition:< / b > symbol.hpp:45< / div > < / div >
< div class = "ttc" id = "anamespacetheo_1_1decomp_html_af96177687d0ad683c5897d8fa01135f9a7d51179cde510c8a4070c51733aa9313" > < div class = "ttname" > < a href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9a7d51179cde510c8a4070c51733aa9313" > theo::decomp::all< / a > < / div > < div class = "ttdeci" > @ all< / div > < div class = "ttdef" > < b > Definition:< / b > symbol.hpp:48< / div > < / div >
< div class = "ttc" id = "anamespacetheo_1_1decomp_html_af96177687d0ad683c5897d8fa01135f9acdb885c0ea7f6b2874224487c69b8112" > < div class = "ttname" > < a href = "../../d9/dbd/namespacetheo_1_1decomp.html#af96177687d0ad683c5897d8fa01135f9acdb885c0ea7f6b2874224487c69b8112" > theo::decomp::data< / a > < / div > < div class = "ttdeci" > @ data< / div > < div class = "ttdef" > < b > Definition:< / b > symbol.hpp:46< / div > < / div >
< / div > <!-- fragment -->
< / div >
< / div >
< / div > <!-- contents -->
<!-- start footer part -->
< hr class = "footer" / > < address class = "footer" > < small >
Generated by  < a href = "https://www.doxygen.org/index.html" > < img class = "footer" src = "../../doxygen.svg" width = "104" height = "31" alt = "doxygen" / > < / a > 1.9.1
< / small > < / address >
< / body >
< / html >