<div dir="ltr">Hey Edwin, <div><br></div><div style>1) It depends what type of pattern you&#39;re trying to match. If the pattern is a simple byte string like &quot;one&quot; or &quot;\x0d\x0a&quot; you can just do address_space.zread(address, size) == &quot;one&quot;. If the pattern is a regular expression you can also use the python re module (some examples in the moddump and driverirp plugins). Also you can use yara for pattern matching (there&#39;s a yarascan for windows and now a linux_yarascan plugin so look in there for examples). Also if you do happen to want to search also, you can use proc.search_process_memory([&quot;one&quot;, &quot;two&quot;]) etc. </div>
<div style><br></div><div style>2) There is partial documentation on the wiki, see the 2.0 developers guide <a href="https://code.google.com/p/volatility/wiki/VolatilityObjects20">https://code.google.com/p/volatility/wiki/VolatilityObjects20</a>. Its obviously a little dated since we&#39;re almost in 2.3 but most is still accurate. Or just check out how its done in one of the other plugins like dumpcerts (<a href="https://code.google.com/p/volatility/source/browse/trunk/volatility/plugins/dumpcerts.py">https://code.google.com/p/volatility/source/browse/trunk/volatility/plugins/dumpcerts.py</a>) which manually defines a vtype (the structure name, members, offsets, types) and then creates an &quot;object class&quot; (inherits from obj.CType) to give it custom methods etc. </div>
<div style><br></div><div style>Hope it helps, </div><div style>MHL</div><div style><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 15, 2013 at 8:37 AM, Edwin Smulders <span dir="ltr">&lt;<a href="mailto:edwin.smulders@gmail.com" target="_blank">edwin.smulders@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello all,<br>
<br>
I have arrived at an implementation part of my research and I was<br>
wondering if you have any advice or documentation on some &quot;pythonisms&quot;<br>
and &quot;volatility-isms&quot; I could be using to do this implementation.<br>
<br>
My question is two-fold:<br>
<br>
1) I have acquired a small part of memory using read/zread and want to<br>
match (not search) this part of memory to a specific pattern. Do you<br>
know of any pythonisms I could be using, other than checking and<br>
matching byte by byte? Is there some type pattern I could use? I<br>
suspect I&#39;ll just have to evaluate a list of rules, but I figured I&#39;d<br>
ask anyway.<br>
2) Some parts of memory I am interested in are originally (C) structs,<br>
I&#39;d like to map these to objects similar to the way this is done for<br>
structs like &#39;task_struct&#39; and &#39;mm_struct&#39;, is there any documentation<br>
on the way this is done?<br>
<br>
If it matters, this is all in process address space.<br>
<br>
Cheers,<br>
Edwin<br>
_______________________________________________<br>
Vol-dev mailing list<br>
<a href="mailto:Vol-dev@volatilityfoundation.org">Vol-dev@volatilityfoundation.org</a><br>
<a href="http://lists.volatilityfoundation.org/mailman/listinfo/vol-dev" target="_blank">http://lists.volatilityfoundation.org/mailman/listinfo/vol-dev</a><br>
</blockquote></div><br></div>