<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-5498266518143777458.post207725852421220767..comments</id><updated>2008-01-27T10:32:51.030+01:00</updated><title type='text'>Comments on Piotr Bania Chronicles &lt;br&gt;http://blog.piotrbania.com: SpiderPig Memory Tracer</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.piotrbania.com/feeds/207725852421220767/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5498266518143777458/207725852421220767/comments/default'/><link rel='alternate' type='text/html' href='http://blog.piotrbania.com/2007/09/spiderpig-memory-tracer.html'/><author><name>Piotr Bania</name><uri>http://www.blogger.com/profile/16139783712412229709</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5498266518143777458.post-4058201447799756356</id><published>2008-01-27T10:32:51.030+01:00</published><updated>2008-01-27T10:32:51.030+01:00</updated><title type='text'>Yo Vlaad, sorry for the delay in replying but it s...</title><content type='html'>Yo Vlaad, sorry for the delay in replying but it seems i'm currently hella busy :/&lt;BR/&gt;&lt;BR/&gt;Well i think i got your point, one of my older techniques regarding catching the moment of a debugger attaching was hooking the NtContinue (url: http://piotrbania.com/all/anti-dattach.asm).&lt;BR/&gt;&lt;BR/&gt;I think i already saw the antidebugger techniques which were basing on the synchronizaction methods. Including some of the most pure examples like creating a thread and then using WaitForSingleObject API with some cool ammount of time as the dwMilliseconds parameter. And yes they may be the pain in the reverser's arse :)&lt;BR/&gt;&lt;BR/&gt;But from the other hand in the SpiderPig tracer output i was just playing with the data flow graph,  it simply illustrates when some critical condition is not met the flow changes "drastically". I'm currently ending the new SpiderPig called Espada and it's currently basing on some more stable algos, but this is up to come i guess.&lt;BR/&gt;&lt;BR/&gt;cya</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5498266518143777458/207725852421220767/comments/default/4058201447799756356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5498266518143777458/207725852421220767/comments/default/4058201447799756356'/><link rel='alternate' type='text/html' href='http://blog.piotrbania.com/2007/09/spiderpig-memory-tracer.html?showComment=1201426371030#c4058201447799756356' title=''/><author><name>Piotr Bania</name><uri>http://www.blogger.com/profile/16139783712412229709</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15195064175736719444'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.piotrbania.com/2007/09/spiderpig-memory-tracer.html' ref='tag:blogger.com,1999:blog-5498266518143777458.post-207725852421220767' source='http://www.blogger.com/feeds/5498266518143777458/posts/default/207725852421220767' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-5498266518143777458.post-4391761159778621618</id><published>2007-12-25T03:50:00.000+01:00</published><updated>2007-12-25T03:50:00.000+01:00</updated><title type='text'>Hi Piotr, you are such a cool guy :)You obviously ...</title><content type='html'>Hi Piotr, you are such a cool guy :)&lt;BR/&gt;&lt;BR/&gt;You obviously contemplated about the frozen state of the executable during the debugging and thread syncing, however, when I found this on Microsoft dot com, I became concious of two things... how to very discretely check for a debugger, unrelated to existing techniques (you'll see the link by yourself, so draw your own conclusions :) and secondly, because lot of us doing the same job and reading the same material are using the same things, this one could be recognized, possibly, as heavy to circumvent, if properly implemented. We have all seen RDTSC workaround, then changing of the CONTEXT struct of the living thread (I won't even mention CreateRemoteThread and VirtualProtectEx functions, these are making me puke, even smurfs are using them nowdays...), recognizing additional checking threads from some unexpected place, but look at this and tell me do you see the same that I do? :)&lt;BR/&gt;&lt;BR/&gt;http://support.microsoft.com/kb/q173260/&lt;BR/&gt;&lt;BR/&gt;In order to open my sleeves to see that I'm open :) -&gt; I'm thinking about synchro-primitives other than threads (such as semaphores, completion routines [heh heh] and waitable timers) in order to gain the timer functionality in such way that it will be interrupted in the moment any debugger attaches to a process :) Basically, you'll stop the thread, and along with the thread all the scheduled subtle synchronizations at that moment, or, satisfying enough, these will return slightly different values... so if we continue waiting in silence for let's say few hours (LoL)... it would be very amusing to see the face of the guy that is analyzing the code :)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5498266518143777458/207725852421220767/comments/default/4391761159778621618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5498266518143777458/207725852421220767/comments/default/4391761159778621618'/><link rel='alternate' type='text/html' href='http://blog.piotrbania.com/2007/09/spiderpig-memory-tracer.html?showComment=1198551000000#c4391761159778621618' title=''/><author><name>VLaaD</name><uri>http://www.openrce.org/</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.piotrbania.com/2007/09/spiderpig-memory-tracer.html' ref='tag:blogger.com,1999:blog-5498266518143777458.post-207725852421220767' source='http://www.blogger.com/feeds/5498266518143777458/posts/default/207725852421220767' type='text/html'/></entry></feed>