<p>the <aclass="el"href="../../d4/dad/classtheo_1_1obf_1_1pass__t.html"title="the pass_t class is a base clase for all passes made. you must override the pass_t::run virtual funct...">pass_t</a> class is a base clase for all passes made. you must override the <aclass="el"href="../../d4/dad/classtheo_1_1obf_1_1pass__t.html#acfadc013ff0754d66a18baffdb1a61d1"title="virtual method which must be implimented by the pass that inherits this class.">pass_t::run</a> virtual function and declare the logic of your pass there.
<areahref="../../d5/d6a/classtheo_1_1obf_1_1hello__world__pass__t.html"title="hello world pass example of how to inherit pass_t."alt="theo::obf::hello_world_pass_t"shape="rect"coords="0,56,198,80"/>
<areahref="../../d6/dc1/classtheo_1_1obf_1_1jcc__rewrite__pass__t.html"title="jcc rewrite pass which rewrites rip relative jcc's so that they are position independent."alt="theo::obf::jcc_rewrite_pass_t"shape="rect"coords="208,56,406,80"/>
<areahref="../../d5/d08/classtheo_1_1obf_1_1next__inst__pass__t.html"title="This pass is used to generate transformations and jmp code to change RIP to the next instruction."alt="theo::obf::next_inst_pass_t"shape="rect"coords="416,56,614,80"/>
<areahref="../../dc/d39/classtheo_1_1obf_1_1reloc__transform__pass__t.html"title="this pass is like the next_inst_pass, however, relocations are encrypted with transformations instead..."alt="theo::obf::reloc_transform_pass_t"shape="rect"coords="624,56,822,80"/>
<trclass="memdesc:abd4ab22cc2822b968267be7f8397d611"><tdclass="mdescLeft"> </td><tdclass="mdescRight">the explicit constructor of the <aclass="el"href="../../d4/dad/classtheo_1_1obf_1_1pass__t.html"title="the pass_t class is a base clase for all passes made. you must override the pass_t::run virtual funct...">pass_t</a> base class. <ahref="../../d4/dad/classtheo_1_1obf_1_1pass__t.html#abd4ab22cc2822b968267be7f8397d611">More...</a><br/></td></tr>
<trclass="memdesc:acfadc013ff0754d66a18baffdb1a61d1"><tdclass="mdescLeft"> </td><tdclass="mdescRight">virtual method which must be implimented by the pass that inherits this class. <ahref="../../d4/dad/classtheo_1_1obf_1_1pass__t.html#acfadc013ff0754d66a18baffdb1a61d1">More...</a><br/></td></tr>
<trclass="memdesc:a46608a6c2dfb8ff657e44be9b50e0dfb"><tdclass="mdescLeft"> </td><tdclass="mdescRight">gets the passes symbol type. <ahref="../../d4/dad/classtheo_1_1obf_1_1pass__t.html#a46608a6c2dfb8ff657e44be9b50e0dfb">More...</a><br/></td></tr>
<divclass="textblock"><p>the <aclass="el"href="../../d4/dad/classtheo_1_1obf_1_1pass__t.html"title="the pass_t class is a base clase for all passes made. you must override the pass_t::run virtual funct...">pass_t</a> class is a base clase for all passes made. you must override the <aclass="el"href="../../d4/dad/classtheo_1_1obf_1_1pass__t.html#acfadc013ff0754d66a18baffdb1a61d1"title="virtual method which must be implimented by the pass that inherits this class.">pass_t::run</a> virtual function and declare the logic of your pass there. </p>
<p>in the constructor of your pass you must call the super constructor (the <aclass="el"href="../../d4/dad/classtheo_1_1obf_1_1pass__t.html"title="the pass_t class is a base clase for all passes made. you must override the pass_t::run virtual funct...">pass_t</a> constructor) and pass it the type of symbol which you are interesting in receiving. </p>
<pclass="definition">Definition at line <aclass="el"href="../../d8/d5a/pass_8hpp_source.html#l00055">55</a> of file <aclass="el"href="../../d8/d5a/pass_8hpp_source.html">pass.hpp</a>.</p>
<p>the explicit constructor of the <aclass="el"href="../../d4/dad/classtheo_1_1obf_1_1pass__t.html"title="the pass_t class is a base clase for all passes made. you must override the pass_t::run virtual funct...">pass_t</a> base class. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">sym_type</td><td>the type of symbol in which the pass will run on. every symbol passed to the virtual "run" instruction will be of this type.</td></tr>
<pclass="definition">Definition at line <aclass="el"href="../../d8/d5a/pass_8hpp_source.html#l00063">63</a> of file <aclass="el"href="../../d8/d5a/pass_8hpp_source.html">pass.hpp</a>.</p>
<divclass="fragment"><divclass="line"><spanclass="lineno"> 63</span>: m_sym_type(<aclass="code hl_function"href="../../d4/dad/classtheo_1_1obf_1_1pass__t.html#a46608a6c2dfb8ff657e44be9b50e0dfb"title="gets the passes symbol type.">sym_type</a>){};</div>
<p>Implemented in <aclass="el"href="../../d5/d6a/classtheo_1_1obf_1_1hello__world__pass__t.html#a0d2d95f93ac083e157b2f12a8a56f1df">theo::obf::hello_world_pass_t</a>, <aclass="el"href="../../d6/dc1/classtheo_1_1obf_1_1jcc__rewrite__pass__t.html#a5a93eb0945025ef3caefed8c63b65b23">theo::obf::jcc_rewrite_pass_t</a>, <aclass="el"href="../../d5/d08/classtheo_1_1obf_1_1next__inst__pass__t.html#ae4cbba78b14c2b9da794386e4d92f40f">theo::obf::next_inst_pass_t</a>, and <aclass="el"href="../../dc/d39/classtheo_1_1obf_1_1reloc__transform__pass__t.html#a24e122f6be18a88ea1809252ab3ec0b9">theo::obf::reloc_transform_pass_t</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="../../d8/d5a/pass_8hpp_source.html#l00076">76</a> of file <aclass="el"href="../../d8/d5a/pass_8hpp_source.html">pass.hpp</a>.</p>