<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for thatsBroken</title>
	<atom:link href="http://thatsbroken.com/?feed=comments-rss2" rel="self" type="application/rss+xml" />
	<link>http://thatsbroken.com</link>
	<description>Breaking things that go beep since 1996</description>
	<lastBuildDate>Mon, 23 Aug 2010 14:33:47 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Comment on Step Six:  Checking Prerequisites by jRichards</title>
		<link>http://thatsbroken.com/?p=122&#038;cpage=1#comment-79915</link>
		<dc:creator>jRichards</dc:creator>
		<pubDate>Mon, 23 Aug 2010 14:33:47 +0000</pubDate>
		<guid isPermaLink="false">http://thatsbroken.com/?p=122#comment-79915</guid>
		<description>Thanks for the info f0s</description>
		<content:encoded><![CDATA[<p>Thanks for the info f0s</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Step Six:  Checking Prerequisites by f0s</title>
		<link>http://thatsbroken.com/?p=122&#038;cpage=1#comment-79914</link>
		<dc:creator>f0s</dc:creator>
		<pubDate>Sat, 21 Aug 2010 12:59:23 +0000</pubDate>
		<guid isPermaLink="false">http://thatsbroken.com/?p=122#comment-79914</guid>
		<description>thanks a lot for your nice tut;)
it saves me some time to reinstall paimei

regarding the error msg
&quot;looking for pydot … Couldn’t import dot_parser, loading of dot files will not be possible.&quot;

install pyparsing, that&#039;s all!;)
http://pypi.python.org/pypi/pyparsing/1.5.5
in your case the python 2.5 compilation

regarding pydasm:
open  pydasm.pyd in your hex editor and search for “26.dll&quot;. replace 26 with  25. you have to do it twice, once in &quot;C:\Python25\Lib\site-packages&quot; and of course in your local svn directory paimei

after all you get this nice console output:
C:\fuzzers\paimei&gt;__install_requirements.py
looking for ctypes ... FOUND
looking for pydot ... FOUND
looking for wxPython ... FOUND
looking for MySQLdb ... FOUND
looking for GraphViz in default directory ... FOUND
looking for Oreas GDE in default directory ... FOUND
looking for uDraw(Graph) in default directory ... FOUND
looking for PaiMei -&gt; PyDbg ... FOUND
looking for PaiMei -&gt; PIDA ... FOUND
looking for PaiMei -&gt; pGRAPH ... FOUND
looking for PaiMei -&gt; Utilities ... FOUND

;)</description>
		<content:encoded><![CDATA[<p>thanks a lot for your nice tut;)<br />
it saves me some time to reinstall paimei</p>
<p>regarding the error msg<br />
&#8220;looking for pydot … Couldn’t import dot_parser, loading of dot files will not be possible.&#8221;</p>
<p>install pyparsing, that&#8217;s all!;)<br />
<a href="http://pypi.python.org/pypi/pyparsing/1.5.5" rel="nofollow">http://pypi.python.org/pypi/pyparsing/1.5.5</a><br />
in your case the python 2.5 compilation</p>
<p>regarding pydasm:<br />
open  pydasm.pyd in your hex editor and search for “26.dll&#8221;. replace 26 with  25. you have to do it twice, once in &#8220;C:\Python25\Lib\site-packages&#8221; and of course in your local svn directory paimei</p>
<p>after all you get this nice console output:<br />
C:\fuzzers\paimei&gt;__install_requirements.py<br />
looking for ctypes &#8230; FOUND<br />
looking for pydot &#8230; FOUND<br />
looking for wxPython &#8230; FOUND<br />
looking for MySQLdb &#8230; FOUND<br />
looking for GraphViz in default directory &#8230; FOUND<br />
looking for Oreas GDE in default directory &#8230; FOUND<br />
looking for uDraw(Graph) in default directory &#8230; FOUND<br />
looking for PaiMei -&gt; PyDbg &#8230; FOUND<br />
looking for PaiMei -&gt; PIDA &#8230; FOUND<br />
looking for PaiMei -&gt; pGRAPH &#8230; FOUND<br />
looking for PaiMei -&gt; Utilities &#8230; FOUND</p>
<p> <img src='http://thatsbroken.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Creating a PIDA File by jRichards</title>
		<link>http://thatsbroken.com/?p=203&#038;cpage=1#comment-79909</link>
		<dc:creator>jRichards</dc:creator>
		<pubDate>Fri, 06 Aug 2010 16:05:09 +0000</pubDate>
		<guid isPermaLink="false">http://thatsbroken.com/?p=203#comment-79909</guid>
		<description>friko,

I haven&#039;t seen this myself so we will have to do some debugging. 

They key error happens when we look in the dictionary and ref points to a key that doesn&#039;t exist... a couple things may be happening... 

from_func.startEA[] may be borked
ref may be borked.

can you debug and check to see what these values are?
================
EDIT
================

I&#039;ve been able to replicate this now.  When doing a PIDAdump on the new srv.sys that ws patch on tuesday I&#039;m getting the same error.

The code causing this is in module.py and here is the weird thing... I put in some debug code and it started working...


---------------------------------------------------------------------------
Using FLIRT signature: SEH for vc7/8
Propagating type information...
5F8D0: propagate_stkargs: function is already typed
Function argument information has been propagated
The initial autoanalysis has been finished.
Analyzing IDB...
Analyzing functions...
Enumerating imports...
Enumerating RPC interfaces...
Enumerating intramodular cross references...
Traceback (most recent call last):
  File &quot;&lt;string&gt;&quot;, line 1, in &lt;module&gt;
  File &quot;C:\Program Files\IDA\python\init.py&quot;, line 65, in runscript
    execfile(script, g)
  File &quot;C:/code/paimei/pida_dump.py&quot;, line 71, in &lt;module&gt;
    module = pida.module(GetInputFile(), signature, depth, analysis)
  File &quot;C:/code/paimei\pida\module.py&quot;, line 125, in __init__
    if not self.nodes[from_func.startEA].outbound_eas.has_key(ref):
KeyError: 372574
Analyzing IDB...
Analyzing functions...
Enumerating imports...
Enumerating RPC interfaces...
Enumerating intramodular cross references...
Done. Completed in 98.406000 seconds.

Saving to file... 25% 50% 75% Done. Completed in 14.406000 seconds.
</description>
		<content:encoded><![CDATA[<p>friko,</p>
<p>I haven&#8217;t seen this myself so we will have to do some debugging. </p>
<p>They key error happens when we look in the dictionary and ref points to a key that doesn&#8217;t exist&#8230; a couple things may be happening&#8230; </p>
<p>from_func.startEA[] may be borked<br />
ref may be borked.</p>
<p>can you debug and check to see what these values are?<br />
================<br />
EDIT<br />
================</p>
<p>I&#8217;ve been able to replicate this now.  When doing a PIDAdump on the new srv.sys that ws patch on tuesday I&#8217;m getting the same error.</p>
<p>The code causing this is in module.py and here is the weird thing&#8230; I put in some debug code and it started working&#8230;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Using FLIRT signature: SEH for vc7/8<br />
Propagating type information&#8230;<br />
5F8D0: propagate_stkargs: function is already typed<br />
Function argument information has been propagated<br />
The initial autoanalysis has been finished.<br />
Analyzing IDB&#8230;<br />
Analyzing functions&#8230;<br />
Enumerating imports&#8230;<br />
Enumerating RPC interfaces&#8230;<br />
Enumerating intramodular cross references&#8230;<br />
Traceback (most recent call last):<br />
  File &#8220;<string>&#8220;, line 1, in <module><br />
  File &#8220;C:\Program Files\IDA\python\init.py&#8221;, line 65, in runscript<br />
    execfile(script, g)<br />
  File &#8220;C:/code/paimei/pida_dump.py&#8221;, line 71, in </module><module><br />
    module = pida.module(GetInputFile(), signature, depth, analysis)<br />
  File &#8220;C:/code/paimei\pida\module.py&#8221;, line 125, in __init__<br />
    if not self.nodes[from_func.startEA].outbound_eas.has_key(ref):<br />
KeyError: 372574<br />
Analyzing IDB&#8230;<br />
Analyzing functions&#8230;<br />
Enumerating imports&#8230;<br />
Enumerating RPC interfaces&#8230;<br />
Enumerating intramodular cross references&#8230;<br />
Done. Completed in 98.406000 seconds.</p>
<p>Saving to file&#8230; 25% 50% 75% Done. Completed in 14.406000 seconds.</module></string></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Creating a PIDA File by friko</title>
		<link>http://thatsbroken.com/?p=203&#038;cpage=1#comment-79907</link>
		<dc:creator>friko</dc:creator>
		<pubDate>Sat, 31 Jul 2010 12:11:53 +0000</pubDate>
		<guid isPermaLink="false">http://thatsbroken.com/?p=203#comment-79907</guid>
		<description>When I try to generate the PIDA file, i got this:
&lt;code&gt;
Analyzing IDB...
Analyzing functions...
Enumerating imports...
Enumerating RPC interfaces...
Enumerating intramodular cross references...
Traceback (most recent call last):
  File &quot;&quot;, line 1, in 
  File &quot;C:\Program Files (x86)\IDA\python\init.py&quot;, line 65, in runscript
    execfile(script, g)
  File &quot;C:/paimei/pida_dump.py&quot;, line 71, in 
    module = pida.module(GetInputFile(), signature, depth, analysis)
  File &quot;C:/paimei\pida\module.py&quot;, line 125, in __init__
    if not self.nodes[from_func.startEA].outbound_eas.has_key(ref):
KeyError: 1864419200
&lt;/code&gt;

It is a .dll binary. I&#039;m using IDA Pro 5.5 and python 2.5</description>
		<content:encoded><![CDATA[<p>When I try to generate the PIDA file, i got this:<br />
<code><br />
Analyzing IDB...<br />
Analyzing functions...<br />
Enumerating imports...<br />
Enumerating RPC interfaces...<br />
Enumerating intramodular cross references...<br />
Traceback (most recent call last):<br />
  File "", line 1, in<br />
  File "C:\Program Files (x86)\IDA\python\init.py", line 65, in runscript<br />
    execfile(script, g)<br />
  File "C:/paimei/pida_dump.py", line 71, in<br />
    module = pida.module(GetInputFile(), signature, depth, analysis)<br />
  File "C:/paimei\pida\module.py", line 125, in __init__<br />
    if not self.nodes[from_func.startEA].outbound_eas.has_key(ref):<br />
KeyError: 1864419200<br />
</code></p>
<p>It is a .dll binary. I&#8217;m using IDA Pro 5.5 and python 2.5</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Step One:  Getting the PaiMei Source by Installing Pydbg - Powered Security</title>
		<link>http://thatsbroken.com/?p=26&#038;cpage=1#comment-73987</link>
		<dc:creator>Installing Pydbg - Powered Security</dc:creator>
		<pubDate>Thu, 01 Jul 2010 03:20:02 +0000</pubDate>
		<guid isPermaLink="false">http://thatsbroken.com/?p=26#comment-73987</guid>
		<description>[...] Trying to install the Paimei framework today because I needed Pydbg to do some fuzzing. Had so many problems with this task and getting dependencies to work with it, that I spent quite a lot of time, researching the issue and testing various things before finding this amazing link. [...]</description>
		<content:encoded><![CDATA[<p>[...] Trying to install the Paimei framework today because I needed Pydbg to do some fuzzing. Had so many problems with this task and getting dependencies to work with it, that I spent quite a lot of time, researching the issue and testing various things before finding this amazing link. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Step Six:  Checking Prerequisites by john_rambo</title>
		<link>http://thatsbroken.com/?p=122&#038;cpage=1#comment-71838</link>
		<dc:creator>john_rambo</dc:creator>
		<pubDate>Tue, 22 Jun 2010 08:13:28 +0000</pubDate>
		<guid isPermaLink="false">http://thatsbroken.com/?p=122#comment-71838</guid>
		<description>Well, today I did it. Problem laid in pydasm. Solution? I downloaded pydasm from here http://ashine.springnote.com/pages/5925085 and copy-paste it to Lib\site-packages\pydbg, after that PaiMei launches. (Although still print NOT FOUND along with pydbg in install_requir.)</description>
		<content:encoded><![CDATA[<p>Well, today I did it. Problem laid in pydasm. Solution? I downloaded pydasm from here <a href="http://ashine.springnote.com/pages/5925085" rel="nofollow">http://ashine.springnote.com/pages/5925085</a> and copy-paste it to Lib\site-packages\pydbg, after that PaiMei launches. (Although still print NOT FOUND along with pydbg in install_requir.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Step Six:  Checking Prerequisites by john_rambo</title>
		<link>http://thatsbroken.com/?p=122&#038;cpage=1#comment-71714</link>
		<dc:creator>john_rambo</dc:creator>
		<pubDate>Mon, 21 Jun 2010 19:20:30 +0000</pubDate>
		<guid isPermaLink="false">http://thatsbroken.com/?p=122#comment-71714</guid>
		<description>Hi, I tried to install PaiMei but I&#039;m stuck on step when I need edit PyDBG file in order to get FOUND instead NOT FOUND by PaiMei requirements. I did what you told (I pasted class Structure(Structure):
[INSERT TAB] pass above this line) but I still get NOT FOUND. Any ideas?</description>
		<content:encoded><![CDATA[<p>Hi, I tried to install PaiMei but I&#8217;m stuck on step when I need edit PyDBG file in order to get FOUND instead NOT FOUND by PaiMei requirements. I did what you told (I pasted class Structure(Structure):<br />
[INSERT TAB] pass above this line) but I still get NOT FOUND. Any ideas?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Reversing the iPhone Device Service (AppleMobileDeviceService.exe) by extraexploit</title>
		<link>http://thatsbroken.com/?p=296&#038;cpage=1#comment-66001</link>
		<dc:creator>extraexploit</dc:creator>
		<pubDate>Sun, 30 May 2010 14:59:20 +0000</pubDate>
		<guid isPermaLink="false">http://thatsbroken.com/?p=296#comment-66001</guid>
		<description>Hi,
thank you very much for sharing your stuff related to Paimei. 

Regards</description>
		<content:encoded><![CDATA[<p>Hi,<br />
thank you very much for sharing your stuff related to Paimei. </p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Creating a PIDA File by Amit Khanna</title>
		<link>http://thatsbroken.com/?p=203&#038;cpage=1#comment-14618</link>
		<dc:creator>Amit Khanna</dc:creator>
		<pubDate>Mon, 08 Mar 2010 11:55:52 +0000</pubDate>
		<guid isPermaLink="false">http://thatsbroken.com/?p=203#comment-14618</guid>
		<description>Hi

I tried your solution but it still doesn&#039;t work I got the same problem again:

  File &quot;C:\Python25\Lib\site-packages\pida\function.py&quot;, line 318, in _branches_from
    if len(list(xrefs)) == 1 and list(xrefs)[0] == NextNotTail(ea):
TypeError: object of type &#039;generator&#039; has no len()

Is there any other way to fix this?

Thanks
Amit Khanna</description>
		<content:encoded><![CDATA[<p>Hi</p>
<p>I tried your solution but it still doesn&#8217;t work I got the same problem again:</p>
<p>  File &#8220;C:\Python25\Lib\site-packages\pida\function.py&#8221;, line 318, in _branches_from<br />
    if len(list(xrefs)) == 1 and list(xrefs)[0] == NextNotTail(ea):<br />
TypeError: object of type &#8216;generator&#8217; has no len()</p>
<p>Is there any other way to fix this?</p>
<p>Thanks<br />
Amit Khanna</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Creating a PIDA File by jRichards</title>
		<link>http://thatsbroken.com/?p=203&#038;cpage=1#comment-7888</link>
		<dc:creator>jRichards</dc:creator>
		<pubDate>Mon, 01 Mar 2010 16:06:32 +0000</pubDate>
		<guid isPermaLink="false">http://thatsbroken.com/?p=203#comment-7888</guid>
		<description>Hello Amit,

Thankfully this is a fairly simple thing to fix.  

This error if &quot;TypeError: object of type ‘generator’ has no len()&quot; is due to a change in the way IDAPython generates xrefs.  In older versions of  IDAPython the returned data was a list.  Now it returns a generator which can not be passed directly to len ().

The offending line, &quot;len(xrefs) == 1 and xrefs[0] == NextNotTail(ea):&quot; can simply be changed to:

len(list(xrefs)) == 1 and list(xrefs)[0] == NextNotTail(ea):

Thanks for bringing this to my attention.  I&#039;ll fix it up in the source so that we can eventually get all of these changes up in a repo somewhere.  I&#039;m pinging Pedram again today.   You&#039;ll notice I fixed a very similar problem in proc_peek_recon.py &lt;a href=&quot;http://thatsbroken.com/?p=224&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>Hello Amit,</p>
<p>Thankfully this is a fairly simple thing to fix.  </p>
<p>This error if &#8220;TypeError: object of type ‘generator’ has no len()&#8221; is due to a change in the way IDAPython generates xrefs.  In older versions of  IDAPython the returned data was a list.  Now it returns a generator which can not be passed directly to len ().</p>
<p>The offending line, &#8220;len(xrefs) == 1 and xrefs[0] == NextNotTail(ea):&#8221; can simply be changed to:</p>
<p>len(list(xrefs)) == 1 and list(xrefs)[0] == NextNotTail(ea):</p>
<p>Thanks for bringing this to my attention.  I&#8217;ll fix it up in the source so that we can eventually get all of these changes up in a repo somewhere.  I&#8217;m pinging Pedram again today.   You&#8217;ll notice I fixed a very similar problem in proc_peek_recon.py <a href="http://thatsbroken.com/?p=224" rel="nofollow">here</a>.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
