<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.5"/> <title>steghide: EmbData.h Source File</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="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 style="padding-left: 0.5em;"> <div id="projectname">steghide  <span id="projectnumber">0.5.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">EmbData.h</div> </div> </div><!--header--> <div class="contents"> <a href="EmbData_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * steghide 0.5.1 - a steganography program</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright (C) 1999-2003 Stefan Hetzl <shetzl@chello.at></span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This program is free software; you can redistribute it and/or</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * modify it under the terms of the GNU General Public License</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * as published by the Free Software Foundation; either version 2</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * of the License, or (at your option) any later version.</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * GNU General Public License for more details.</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> *</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> */</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#ifndef SH_EMBDATA_H</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="preprocessor">#define SH_EMBDATA_H</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <string></span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <vector></span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "<a class="code" href="common_8h.html">common.h</a>"</span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include "<a class="code" href="BitString_8h.html">BitString.h</a>"</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "<a class="code" href="EncryptionAlgorithm_8h.html">EncryptionAlgorithm.h</a>"</span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "<a class="code" href="EncryptionMode_8h.html">EncryptionMode.h</a>"</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div> <div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classEmbData.html"> 33</a></span> <span class="keyword">class </span><a class="code" href="classEmbData.html">EmbData</a> {</div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keyword">public</span>:</div> <div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classEmbData.html#a00fef1fa854d226fe06bd579ceea0120"> 35</a></span>  <span class="keyword">enum</span> <a class="code" href="classEmbData.html#a00fef1fa854d226fe06bd579ceea0120">MODE</a> { <a class="code" href="classEmbData.html#a00fef1fa854d226fe06bd579ceea0120afa385935ce639214be2daaeb7a780338">EMBED</a>, <a class="code" href="classEmbData.html#a00fef1fa854d226fe06bd579ceea0120aa29aa094d2a8985348cffb278b843273">EXTRACT</a> } ;</div> <div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1da"> 36</a></span>  <span class="keyword">enum</span> <a class="code" href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1da">STATE</a> { <a class="code" href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1daa96ab1bd638c78584fe1762547cc63ec1">READ_MAGIC</a>, <a class="code" href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1daa4de750ebecbb7ceaaf4e510aa6eb6129">READ_VERSION</a>, <a class="code" href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1daa42632becdf8ded759ba1bc9bb77da350">READ_ENCINFO</a>, <a class="code" href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1daa2fb7b3c5403020302d4ba10a8ac1fc8f">READ_NPLAINBITS</a>, <a class="code" href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1daaa841eb3989dfd24be61ca00da3f95ab7">READ_ENCRYPTED</a>, <a class="code" href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1daac9a5ed3f05533f3a6040f303a01d943a">END</a> } ;</div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="classEmbData.html#a1dd8dcba5a5a159a55e903a2094a2ffd">EmbData</a> (<a class="code" href="classEmbData.html#a00fef1fa854d226fe06bd579ceea0120">MODE</a> m, std::string pp, std::string fn = <span class="stringliteral">""</span>) ;</div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div> <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="classBitString.html">BitString</a> <a class="code" href="classEmbData.html#a62e622d2fd223fd38c9ee148433a72fd">getBitString</a> (<span class="keywordtype">void</span>) ;</div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordtype">bool</span> <a class="code" href="classEmbData.html#a699ca2ad6986f194520393ae7bcff939">finished</a> (<span class="keywordtype">void</span>) ;</div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classEmbData.html#ad45dcea907ce93ac8c10e9f267e2e608">getNumBitsRequested</a> (<span class="keywordtype">void</span>) ;</div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordtype">void</span> <a class="code" href="classEmbData.html#aa0b2fab1b18e44565346943a4375effa">addBits</a> (<a class="code" href="classBitString.html">BitString</a> addbits) ;</div> <div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordtype">void</span> <a class="code" href="classEmbData.html#afd81a894ee354489c49d1d60ad544f83">setEncAlgo</a> (<a class="code" href="classEncryptionAlgorithm.html">EncryptionAlgorithm</a> a) ;</div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="classEncryptionAlgorithm.html">EncryptionAlgorithm</a> <a class="code" href="classEmbData.html#a92106cae49ff35145203706122428908">getEncAlgo</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  </div> <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordtype">void</span> <a class="code" href="classEmbData.html#a710998ae27522c78c7d7a8911301e846">setEncMode</a> (<a class="code" href="classEncryptionMode.html">EncryptionMode</a> m) ;</div> <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="classEncryptionMode.html">EncryptionMode</a> <a class="code" href="classEmbData.html#a5c36cd7bd08fb0de6c702d280aaeb494">getEncMode</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div> <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordtype">void</span> <a class="code" href="classEmbData.html#ad5ba375a5eaf27a9ad36bf2064d3397d">setCompression</a> (<span class="keywordtype">int</span> c) ;</div> <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordtype">int</span> <a class="code" href="classEmbData.html#a277ab71691eadafb961ae94b846f3bbf">getCompression</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div> <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordtype">void</span> <a class="code" href="classEmbData.html#a8756c5f0cb869013632bb1f262e075c8">setChecksum</a> (<span class="keywordtype">bool</span> c) ;</div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordtype">bool</span> <a class="code" href="classEmbData.html#a02a62caea5d2f460634ff3a174daa675">getChecksum</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordtype">bool</span> <a class="code" href="classEmbData.html#aa01814ae747d8209c5e6e8739b04a2e7">checksumOK</a> (<span class="keywordtype">void</span>) <span class="keyword">const</span> ;</div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div> <div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classEmbData.html#a590f9f1ed1516654af82f1dbca33406e"> 75</a></span>  <span class="keywordtype">void</span> <a class="code" href="classEmbData.html#a590f9f1ed1516654af82f1dbca33406e">setData</a> (<span class="keyword">const</span> std::vector<BYTE> data)</div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  { <a class="code" href="classEmbData.html#a8d7315049fb05d0f1119f3b40b553757">Data</a> = data ; } ;</div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div> <div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classEmbData.html#a0ef967355802f0779e9a2ba34e619854"> 78</a></span>  std::vector<BYTE> <a class="code" href="classEmbData.html#a0ef967355802f0779e9a2ba34e619854">getData</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span></div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classEmbData.html#a8d7315049fb05d0f1119f3b40b553757">Data</a> ; } ;</div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div> <div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classEmbData.html#a1a2f3e53575ead63b1d95fec1b214aaf"> 81</a></span>  std::string <a class="code" href="classEmbData.html#a1a2f3e53575ead63b1d95fec1b214aaf">getFileName</a> (<span class="keywordtype">void</span>)<span class="keyword"> const</span></div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classEmbData.html#af615f129b068e0dc3e6eacfdc6cbd96a">FileName</a> ; } ;</div> <div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div> <div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classEmbData.html#a55439c544b3b493b0b07d235ded1bf4c"> 85</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classEmbData.html#a55439c544b3b493b0b07d235ded1bf4c">MinStegoHeaderSize</a> = 50 ;</div> <div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div> <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">protected</span>:</div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  std::string <a class="code" href="classEmbData.html#ae4861f4c36be1609d2d7de7c2b6d5541">stripDir</a> (std::string s) ;</div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">private</span>:</div> <div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classEmbData.html#aac2e47cec6d1584afc4e586cd0bd648e"> 92</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classEmbData.html#aac2e47cec6d1584afc4e586cd0bd648e">NBitsNPlainBits</a> = 32 ;</div> <div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classEmbData.html#a9b363b6ce16886a3fa011d14833455ce"> 94</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classEmbData.html#a9b363b6ce16886a3fa011d14833455ce">NBitsNUncompressedBits</a> = 32 ;</div> <div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classEmbData.html#a4775bc765273a7f5a773eddef1407860"> 96</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classEmbData.html#a4775bc765273a7f5a773eddef1407860">NBitsCrc32</a> = 32 ;</div> <div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classEmbData.html#a91dc48546df6338aa0694b9b1049708c"> 98</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="classEmbData.html#a91dc48546df6338aa0694b9b1049708c">CodeVersion</a> = 0 ;</div> <div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classEmbData.html#a3cd2498fc805e575bdba9bf11880288c"> 100</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="common_8h.html#a6b8592979b076e06aa233e3f586ac999">UWORD32</a> <a class="code" href="classEmbData.html#a3cd2498fc805e575bdba9bf11880288c">Magic</a> = 0x73688DUL ;</div> <div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classEmbData.html#adf395aacf479755e4e7c900f4393104b"> 102</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classEmbData.html#adf395aacf479755e4e7c900f4393104b">NBitsMagic</a> = 24 ;</div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div> <div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classEmbData.html#af41023fae36a224f8ad1db9fc09e1a3b"> 104</a></span>  <a class="code" href="classEmbData.html#a00fef1fa854d226fe06bd579ceea0120">MODE</a> <a class="code" href="classEmbData.html#af41023fae36a224f8ad1db9fc09e1a3b">Mode</a> ;</div> <div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classEmbData.html#adc3561feb96eee38ea4bdc44bbc14526"> 105</a></span>  <a class="code" href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1da">STATE</a> <a class="code" href="classEmbData.html#adc3561feb96eee38ea4bdc44bbc14526">State</a> ;</div> <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  </div> <div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classEmbData.html#a328e8cc75a5b66082eaec3db13594372"> 107</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classEmbData.html#a328e8cc75a5b66082eaec3db13594372">NPlainBits</a> ;</div> <div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div> <div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classEmbData.html#a0a2967d38cdd9171948656a19eea8929"> 110</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classEmbData.html#a0a2967d38cdd9171948656a19eea8929">NumBitsRequested</a> ;</div> <div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classEmbData.html#a90f81537555dc6540108f87d35e1ccc0"> 112</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classEmbData.html#a90f81537555dc6540108f87d35e1ccc0">NumBitsNeeded</a> ;</div> <div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div> <div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classEmbData.html#a0e87141096da88cc74fd7dd8d161be70"> 114</a></span>  <a class="code" href="classBitString.html">BitString</a> <a class="code" href="classEmbData.html#a0e87141096da88cc74fd7dd8d161be70">Reservoir</a> ;</div> <div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div> <div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classEmbData.html#a35e2946f0335b678e9957a926098b18c"> 116</a></span>  std::string <a class="code" href="classEmbData.html#a35e2946f0335b678e9957a926098b18c">Passphrase</a> ;</div> <div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div> <div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classEmbData.html#ab3ac0bc3e688be1ad7a0cc5dce5f2bb3"> 119</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="classEmbData.html#ab3ac0bc3e688be1ad7a0cc5dce5f2bb3">Version</a> ;</div> <div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div> <div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classEmbData.html#a5e3e18c52f36adf2a34610b6dee2c8fe"> 121</a></span>  <a class="code" href="classEncryptionAlgorithm.html">EncryptionAlgorithm</a> <a class="code" href="classEmbData.html#a5e3e18c52f36adf2a34610b6dee2c8fe">EncAlgo</a> ;</div> <div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classEmbData.html#a9a6abfa96f7e4261993337759bb95f5b"> 122</a></span>  <a class="code" href="classEncryptionMode.html">EncryptionMode</a> <a class="code" href="classEmbData.html#a9a6abfa96f7e4261993337759bb95f5b">EncMode</a> ;</div> <div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classEmbData.html#a1b5be3af2aa0eafc2b4f8b0ef4578aa9"> 124</a></span>  <span class="keywordtype">int</span> <a class="code" href="classEmbData.html#a1b5be3af2aa0eafc2b4f8b0ef4578aa9">Compression</a> ;</div> <div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classEmbData.html#a2d43274a34434bc7431e554e1f8cd707"> 126</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classEmbData.html#a2d43274a34434bc7431e554e1f8cd707">Checksum</a> ;</div> <div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classEmbData.html#a94eeb764b0c4625e9c6fe8d7abb94b9a"> 128</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classEmbData.html#a94eeb764b0c4625e9c6fe8d7abb94b9a">CRC32</a> ;</div> <div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="classEmbData.html#af615f129b068e0dc3e6eacfdc6cbd96a"> 129</a></span>  std::string <a class="code" href="classEmbData.html#af615f129b068e0dc3e6eacfdc6cbd96a">FileName</a> ;</div> <div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classEmbData.html#a8d7315049fb05d0f1119f3b40b553757"> 131</a></span>  std::vector<BYTE> <a class="code" href="classEmbData.html#a8d7315049fb05d0f1119f3b40b553757">Data</a> ;</div> <div class="line"><a name="l00132"></a><span class="lineno"> 132</span> } ;</div> <div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div> <div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="preprocessor">#endif // ndef SH_EMBDATA_H</span></div> <div class="ttc" id="classEmbData_html_afd81a894ee354489c49d1d60ad544f83"><div class="ttname"><a href="classEmbData.html#afd81a894ee354489c49d1d60ad544f83">EmbData::setEncAlgo</a></div><div class="ttdeci">void setEncAlgo(EncryptionAlgorithm a)</div><div class="ttdef"><b>Definition:</b> EmbData.cc:269</div></div> <div class="ttc" id="classEmbData_html_a3cd2498fc805e575bdba9bf11880288c"><div class="ttname"><a href="classEmbData.html#a3cd2498fc805e575bdba9bf11880288c">EmbData::Magic</a></div><div class="ttdeci">static const UWORD32 Magic</div><div class="ttdoc">steghide magic to recognize embedded data (the string &quot;shm&quot;) </div><div class="ttdef"><b>Definition:</b> EmbData.h:100</div></div> <div class="ttc" id="classEmbData_html_a1dd8dcba5a5a159a55e903a2094a2ffd"><div class="ttname"><a href="classEmbData.html#a1dd8dcba5a5a159a55e903a2094a2ffd">EmbData::EmbData</a></div><div class="ttdeci">EmbData(MODE m, std::string pp, std::string fn="")</div><div class="ttdef"><b>Definition:</b> EmbData.cc:30</div></div> <div class="ttc" id="classEmbData_html_a00fef1fa854d226fe06bd579ceea0120aa29aa094d2a8985348cffb278b843273"><div class="ttname"><a href="classEmbData.html#a00fef1fa854d226fe06bd579ceea0120aa29aa094d2a8985348cffb278b843273">EmbData::EXTRACT</a></div><div class="ttdef"><b>Definition:</b> EmbData.h:35</div></div> <div class="ttc" id="classEmbData_html_a92106cae49ff35145203706122428908"><div class="ttname"><a href="classEmbData.html#a92106cae49ff35145203706122428908">EmbData::getEncAlgo</a></div><div class="ttdeci">EncryptionAlgorithm getEncAlgo(void) const </div><div class="ttdef"><b>Definition:</b> EmbData.cc:274</div></div> <div class="ttc" id="classEmbData_html_ab3ac0bc3e688be1ad7a0cc5dce5f2bb3"><div class="ttname"><a href="classEmbData.html#ab3ac0bc3e688be1ad7a0cc5dce5f2bb3">EmbData::Version</a></div><div class="ttdeci">unsigned short Version</div><div class="ttdoc">version read from input bitstring </div><div class="ttdef"><b>Definition:</b> EmbData.h:119</div></div> <div class="ttc" id="classEmbData_html_aa4b8daa3dc087297d82a8d4ac21be1da"><div class="ttname"><a href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1da">EmbData::STATE</a></div><div class="ttdeci">STATE</div><div class="ttdef"><b>Definition:</b> EmbData.h:36</div></div> <div class="ttc" id="classEmbData_html_a35e2946f0335b678e9957a926098b18c"><div class="ttname"><a href="classEmbData.html#a35e2946f0335b678e9957a926098b18c">EmbData::Passphrase</a></div><div class="ttdeci">std::string Passphrase</div><div class="ttdef"><b>Definition:</b> EmbData.h:116</div></div> <div class="ttc" id="EncryptionAlgorithm_8h_html"><div class="ttname"><a href="EncryptionAlgorithm_8h.html">EncryptionAlgorithm.h</a></div></div> <div class="ttc" id="classEmbData_html_a90f81537555dc6540108f87d35e1ccc0"><div class="ttname"><a href="classEmbData.html#a90f81537555dc6540108f87d35e1ccc0">EmbData::NumBitsNeeded</a></div><div class="ttdeci">unsigned long NumBitsNeeded</div><div class="ttdoc">exactly the number of bits that the next step will consume from Reservoir and addBits together ...</div><div class="ttdef"><b>Definition:</b> EmbData.h:112</div></div> <div class="ttc" id="classEmbData_html_af41023fae36a224f8ad1db9fc09e1a3b"><div class="ttname"><a href="classEmbData.html#af41023fae36a224f8ad1db9fc09e1a3b">EmbData::Mode</a></div><div class="ttdeci">MODE Mode</div><div class="ttdef"><b>Definition:</b> EmbData.h:104</div></div> <div class="ttc" id="classEmbData_html_a277ab71691eadafb961ae94b846f3bbf"><div class="ttname"><a href="classEmbData.html#a277ab71691eadafb961ae94b846f3bbf">EmbData::getCompression</a></div><div class="ttdeci">int getCompression(void) const </div><div class="ttdef"><b>Definition:</b> EmbData.cc:294</div></div> <div class="ttc" id="classEmbData_html_aa4b8daa3dc087297d82a8d4ac21be1daa4de750ebecbb7ceaaf4e510aa6eb6129"><div class="ttname"><a href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1daa4de750ebecbb7ceaaf4e510aa6eb6129">EmbData::READ_VERSION</a></div><div class="ttdef"><b>Definition:</b> EmbData.h:36</div></div> <div class="ttc" id="BitString_8h_html"><div class="ttname"><a href="BitString_8h.html">BitString.h</a></div></div> <div class="ttc" id="classEmbData_html_a62e622d2fd223fd38c9ee148433a72fd"><div class="ttname"><a href="classEmbData.html#a62e622d2fd223fd38c9ee148433a72fd">EmbData::getBitString</a></div><div class="ttdeci">BitString getBitString(void)</div><div class="ttdef"><b>Definition:</b> EmbData.cc:309</div></div> <div class="ttc" id="classEncryptionAlgorithm_html"><div class="ttname"><a href="classEncryptionAlgorithm.html">EncryptionAlgorithm</a></div><div class="ttdef"><b>Definition:</b> EncryptionAlgorithm.h:26</div></div> <div class="ttc" id="classEmbData_html_a9b363b6ce16886a3fa011d14833455ce"><div class="ttname"><a href="classEmbData.html#a9b363b6ce16886a3fa011d14833455ce">EmbData::NBitsNUncompressedBits</a></div><div class="ttdeci">static const unsigned int NBitsNUncompressedBits</div><div class="ttdoc">number of bits used to code the number of uncompressed bits </div><div class="ttdef"><b>Definition:</b> EmbData.h:94</div></div> <div class="ttc" id="classEmbData_html_a94eeb764b0c4625e9c6fe8d7abb94b9a"><div class="ttname"><a href="classEmbData.html#a94eeb764b0c4625e9c6fe8d7abb94b9a">EmbData::CRC32</a></div><div class="ttdeci">unsigned long CRC32</div><div class="ttdoc">the checksum </div><div class="ttdef"><b>Definition:</b> EmbData.h:128</div></div> <div class="ttc" id="classEmbData_html_a1a2f3e53575ead63b1d95fec1b214aaf"><div class="ttname"><a href="classEmbData.html#a1a2f3e53575ead63b1d95fec1b214aaf">EmbData::getFileName</a></div><div class="ttdeci">std::string getFileName(void) const </div><div class="ttdef"><b>Definition:</b> EmbData.h:81</div></div> <div class="ttc" id="classEmbData_html_a91dc48546df6338aa0694b9b1049708c"><div class="ttname"><a href="classEmbData.html#a91dc48546df6338aa0694b9b1049708c">EmbData::CodeVersion</a></div><div class="ttdeci">static const unsigned short CodeVersion</div><div class="ttdoc">version of this steghide embedding (stego compatibility of EmbData) </div><div class="ttdef"><b>Definition:</b> EmbData.h:98</div></div> <div class="ttc" id="classEmbData_html_a55439c544b3b493b0b07d235ded1bf4c"><div class="ttname"><a href="classEmbData.html#a55439c544b3b493b0b07d235ded1bf4c">EmbData::MinStegoHeaderSize</a></div><div class="ttdeci">static const unsigned int MinStegoHeaderSize</div><div class="ttdoc">the minimum size of the part of the generatred BitString that is not the data </div><div class="ttdef"><b>Definition:</b> EmbData.h:85</div></div> <div class="ttc" id="classEmbData_html_af615f129b068e0dc3e6eacfdc6cbd96a"><div class="ttname"><a href="classEmbData.html#af615f129b068e0dc3e6eacfdc6cbd96a">EmbData::FileName</a></div><div class="ttdeci">std::string FileName</div><div class="ttdef"><b>Definition:</b> EmbData.h:129</div></div> <div class="ttc" id="classEmbData_html_a4775bc765273a7f5a773eddef1407860"><div class="ttname"><a href="classEmbData.html#a4775bc765273a7f5a773eddef1407860">EmbData::NBitsCrc32</a></div><div class="ttdeci">static const unsigned int NBitsCrc32</div><div class="ttdoc">size of a crc32 checksum in bits </div><div class="ttdef"><b>Definition:</b> EmbData.h:96</div></div> <div class="ttc" id="classEmbData_html_adf395aacf479755e4e7c900f4393104b"><div class="ttname"><a href="classEmbData.html#adf395aacf479755e4e7c900f4393104b">EmbData::NBitsMagic</a></div><div class="ttdeci">static const unsigned int NBitsMagic</div><div class="ttdoc">size (in bits of Magic) </div><div class="ttdef"><b>Definition:</b> EmbData.h:102</div></div> <div class="ttc" id="classEmbData_html_a328e8cc75a5b66082eaec3db13594372"><div class="ttname"><a href="classEmbData.html#a328e8cc75a5b66082eaec3db13594372">EmbData::NPlainBits</a></div><div class="ttdeci">unsigned long NPlainBits</div><div class="ttdef"><b>Definition:</b> EmbData.h:107</div></div> <div class="ttc" id="classEmbData_html_a0ef967355802f0779e9a2ba34e619854"><div class="ttname"><a href="classEmbData.html#a0ef967355802f0779e9a2ba34e619854">EmbData::getData</a></div><div class="ttdeci">std::vector< BYTE > getData(void) const </div><div class="ttdef"><b>Definition:</b> EmbData.h:78</div></div> <div class="ttc" id="classEmbData_html_aa4b8daa3dc087297d82a8d4ac21be1daa96ab1bd638c78584fe1762547cc63ec1"><div class="ttname"><a href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1daa96ab1bd638c78584fe1762547cc63ec1">EmbData::READ_MAGIC</a></div><div class="ttdef"><b>Definition:</b> EmbData.h:36</div></div> <div class="ttc" id="classEmbData_html_aa4b8daa3dc087297d82a8d4ac21be1daaa841eb3989dfd24be61ca00da3f95ab7"><div class="ttname"><a href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1daaa841eb3989dfd24be61ca00da3f95ab7">EmbData::READ_ENCRYPTED</a></div><div class="ttdef"><b>Definition:</b> EmbData.h:36</div></div> <div class="ttc" id="classEmbData_html_a699ca2ad6986f194520393ae7bcff939"><div class="ttname"><a href="classEmbData.html#a699ca2ad6986f194520393ae7bcff939">EmbData::finished</a></div><div class="ttdeci">bool finished(void)</div><div class="ttdef"><b>Definition:</b> EmbData.cc:41</div></div> <div class="ttc" id="classEmbData_html_aa01814ae747d8209c5e6e8739b04a2e7"><div class="ttname"><a href="classEmbData.html#aa01814ae747d8209c5e6e8739b04a2e7">EmbData::checksumOK</a></div><div class="ttdeci">bool checksumOK(void) const </div><div class="ttdef"><b>Definition:</b> EmbData.cc:247</div></div> <div class="ttc" id="classEmbData_html_a00fef1fa854d226fe06bd579ceea0120"><div class="ttname"><a href="classEmbData.html#a00fef1fa854d226fe06bd579ceea0120">EmbData::MODE</a></div><div class="ttdeci">MODE</div><div class="ttdef"><b>Definition:</b> EmbData.h:35</div></div> <div class="ttc" id="classEmbData_html_a2d43274a34434bc7431e554e1f8cd707"><div class="ttname"><a href="classEmbData.html#a2d43274a34434bc7431e554e1f8cd707">EmbData::Checksum</a></div><div class="ttdeci">bool Checksum</div><div class="ttdoc">will a checksum be embedded ? </div><div class="ttdef"><b>Definition:</b> EmbData.h:126</div></div> <div class="ttc" id="classEmbData_html_aa0b2fab1b18e44565346943a4375effa"><div class="ttname"><a href="classEmbData.html#aa0b2fab1b18e44565346943a4375effa">EmbData::addBits</a></div><div class="ttdeci">void addBits(BitString addbits)</div><div class="ttdef"><b>Definition:</b> EmbData.cc:53</div></div> <div class="ttc" id="classEmbData_html"><div class="ttname"><a href="classEmbData.html">EmbData</a></div><div class="ttdef"><b>Definition:</b> EmbData.h:33</div></div> <div class="ttc" id="classEmbData_html_a710998ae27522c78c7d7a8911301e846"><div class="ttname"><a href="classEmbData.html#a710998ae27522c78c7d7a8911301e846">EmbData::setEncMode</a></div><div class="ttdeci">void setEncMode(EncryptionMode m)</div><div class="ttdef"><b>Definition:</b> EmbData.cc:279</div></div> <div class="ttc" id="classEmbData_html_ad45dcea907ce93ac8c10e9f267e2e608"><div class="ttname"><a href="classEmbData.html#ad45dcea907ce93ac8c10e9f267e2e608">EmbData::getNumBitsRequested</a></div><div class="ttdeci">unsigned long getNumBitsRequested(void)</div><div class="ttdef"><b>Definition:</b> EmbData.cc:47</div></div> <div class="ttc" id="classEncryptionMode_html"><div class="ttname"><a href="classEncryptionMode.html">EncryptionMode</a></div><div class="ttdef"><b>Definition:</b> EncryptionMode.h:26</div></div> <div class="ttc" id="classEmbData_html_a0e87141096da88cc74fd7dd8d161be70"><div class="ttname"><a href="classEmbData.html#a0e87141096da88cc74fd7dd8d161be70">EmbData::Reservoir</a></div><div class="ttdeci">BitString Reservoir</div><div class="ttdef"><b>Definition:</b> EmbData.h:114</div></div> <div class="ttc" id="classEmbData_html_aa4b8daa3dc087297d82a8d4ac21be1daac9a5ed3f05533f3a6040f303a01d943a"><div class="ttname"><a href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1daac9a5ed3f05533f3a6040f303a01d943a">EmbData::END</a></div><div class="ttdef"><b>Definition:</b> EmbData.h:36</div></div> <div class="ttc" id="classEmbData_html_a02a62caea5d2f460634ff3a174daa675"><div class="ttname"><a href="classEmbData.html#a02a62caea5d2f460634ff3a174daa675">EmbData::getChecksum</a></div><div class="ttdeci">bool getChecksum(void) const </div><div class="ttdef"><b>Definition:</b> EmbData.cc:304</div></div> <div class="ttc" id="classEmbData_html_a00fef1fa854d226fe06bd579ceea0120afa385935ce639214be2daaeb7a780338"><div class="ttname"><a href="classEmbData.html#a00fef1fa854d226fe06bd579ceea0120afa385935ce639214be2daaeb7a780338">EmbData::EMBED</a></div><div class="ttdef"><b>Definition:</b> EmbData.h:35</div></div> <div class="ttc" id="common_8h_html_a6b8592979b076e06aa233e3f586ac999"><div class="ttname"><a href="common_8h.html#a6b8592979b076e06aa233e3f586ac999">UWORD32</a></div><div class="ttdeci">unsigned long UWORD32</div><div class="ttdef"><b>Definition:</b> common.h:45</div></div> <div class="ttc" id="classEmbData_html_a0a2967d38cdd9171948656a19eea8929"><div class="ttname"><a href="classEmbData.html#a0a2967d38cdd9171948656a19eea8929">EmbData::NumBitsRequested</a></div><div class="ttdeci">unsigned long NumBitsRequested</div><div class="ttdoc">the number of bits that the caller must at least supply to addBits </div><div class="ttdef"><b>Definition:</b> EmbData.h:110</div></div> <div class="ttc" id="classEmbData_html_a1b5be3af2aa0eafc2b4f8b0ef4578aa9"><div class="ttname"><a href="classEmbData.html#a1b5be3af2aa0eafc2b4f8b0ef4578aa9">EmbData::Compression</a></div><div class="ttdeci">int Compression</div><div class="ttdoc">compression level: 0(none),1(best speed),...,9(best compression) </div><div class="ttdef"><b>Definition:</b> EmbData.h:124</div></div> <div class="ttc" id="classEmbData_html_aa4b8daa3dc087297d82a8d4ac21be1daa2fb7b3c5403020302d4ba10a8ac1fc8f"><div class="ttname"><a href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1daa2fb7b3c5403020302d4ba10a8ac1fc8f">EmbData::READ_NPLAINBITS</a></div><div class="ttdef"><b>Definition:</b> EmbData.h:36</div></div> <div class="ttc" id="EncryptionMode_8h_html"><div class="ttname"><a href="EncryptionMode_8h.html">EncryptionMode.h</a></div></div> <div class="ttc" id="classEmbData_html_aac2e47cec6d1584afc4e586cd0bd648e"><div class="ttname"><a href="classEmbData.html#aac2e47cec6d1584afc4e586cd0bd648e">EmbData::NBitsNPlainBits</a></div><div class="ttdeci">static const unsigned int NBitsNPlainBits</div><div class="ttdoc">number of bits used to code the number of plain bits </div><div class="ttdef"><b>Definition:</b> EmbData.h:92</div></div> <div class="ttc" id="classBitString_html"><div class="ttname"><a href="classBitString.html">BitString</a></div><div class="ttdoc">a string of bits </div><div class="ttdef"><b>Definition:</b> BitString.h:42</div></div> <div class="ttc" id="classEmbData_html_aa4b8daa3dc087297d82a8d4ac21be1daa42632becdf8ded759ba1bc9bb77da350"><div class="ttname"><a href="classEmbData.html#aa4b8daa3dc087297d82a8d4ac21be1daa42632becdf8ded759ba1bc9bb77da350">EmbData::READ_ENCINFO</a></div><div class="ttdef"><b>Definition:</b> EmbData.h:36</div></div> <div class="ttc" id="classEmbData_html_ad5ba375a5eaf27a9ad36bf2064d3397d"><div class="ttname"><a href="classEmbData.html#ad5ba375a5eaf27a9ad36bf2064d3397d">EmbData::setCompression</a></div><div class="ttdeci">void setCompression(int c)</div><div class="ttdef"><b>Definition:</b> EmbData.cc:289</div></div> <div class="ttc" id="classEmbData_html_a5e3e18c52f36adf2a34610b6dee2c8fe"><div class="ttname"><a href="classEmbData.html#a5e3e18c52f36adf2a34610b6dee2c8fe">EmbData::EncAlgo</a></div><div class="ttdeci">EncryptionAlgorithm EncAlgo</div><div class="ttdef"><b>Definition:</b> EmbData.h:121</div></div> <div class="ttc" id="classEmbData_html_a8d7315049fb05d0f1119f3b40b553757"><div class="ttname"><a href="classEmbData.html#a8d7315049fb05d0f1119f3b40b553757">EmbData::Data</a></div><div class="ttdeci">std::vector< BYTE > Data</div><div class="ttdoc">contains the actual message to be embedded </div><div class="ttdef"><b>Definition:</b> EmbData.h:131</div></div> <div class="ttc" id="classEmbData_html_adc3561feb96eee38ea4bdc44bbc14526"><div class="ttname"><a href="classEmbData.html#adc3561feb96eee38ea4bdc44bbc14526">EmbData::State</a></div><div class="ttdeci">STATE State</div><div class="ttdef"><b>Definition:</b> EmbData.h:105</div></div> <div class="ttc" id="classEmbData_html_a590f9f1ed1516654af82f1dbca33406e"><div class="ttname"><a href="classEmbData.html#a590f9f1ed1516654af82f1dbca33406e">EmbData::setData</a></div><div class="ttdeci">void setData(const std::vector< BYTE > data)</div><div class="ttdef"><b>Definition:</b> EmbData.h:75</div></div> <div class="ttc" id="common_8h_html"><div class="ttname"><a href="common_8h.html">common.h</a></div></div> <div class="ttc" id="classEmbData_html_a5c36cd7bd08fb0de6c702d280aaeb494"><div class="ttname"><a href="classEmbData.html#a5c36cd7bd08fb0de6c702d280aaeb494">EmbData::getEncMode</a></div><div class="ttdeci">EncryptionMode getEncMode(void) const </div><div class="ttdef"><b>Definition:</b> EmbData.cc:284</div></div> <div class="ttc" id="classEmbData_html_ae4861f4c36be1609d2d7de7c2b6d5541"><div class="ttname"><a href="classEmbData.html#ae4861f4c36be1609d2d7de7c2b6d5541">EmbData::stripDir</a></div><div class="ttdeci">std::string stripDir(std::string s)</div><div class="ttdef"><b>Definition:</b> EmbData.cc:365</div></div> <div class="ttc" id="classEmbData_html_a9a6abfa96f7e4261993337759bb95f5b"><div class="ttname"><a href="classEmbData.html#a9a6abfa96f7e4261993337759bb95f5b">EmbData::EncMode</a></div><div class="ttdeci">EncryptionMode EncMode</div><div class="ttdef"><b>Definition:</b> EmbData.h:122</div></div> <div class="ttc" id="classEmbData_html_a8756c5f0cb869013632bb1f262e075c8"><div class="ttname"><a href="classEmbData.html#a8756c5f0cb869013632bb1f262e075c8">EmbData::setChecksum</a></div><div class="ttdeci">void setChecksum(bool c)</div><div class="ttdef"><b>Definition:</b> EmbData.cc:299</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Oct 18 2013 17:59:36 for steghide by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>