<?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/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-18621353</id><updated>2012-02-16T18:37:36.148-08:00</updated><title type='text'>KROW @ SRESREVER</title><subtitle type='html'>...we are living in a world full of reverse engineering...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-18621353.post-139325849337257159</id><published>2007-10-31T04:34:00.000-07:00</published><updated>2007-10-31T04:39:49.299-07:00</updated><title type='text'>oh man</title><content type='html'>quite some time passed since my last posting ere.... well all i wanna tell the people is, whenever you are at a party and you are drunk as the-f-word...&lt;br /&gt;&lt;a href="javascript:void(0)" tabindex="10" onclick="return false;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://daemon.reverse-engineering.net/feierei.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px;" src="http://daemon.reverse-engineering.net/feierei.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-139325849337257159?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/139325849337257159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=139325849337257159' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/139325849337257159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/139325849337257159'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2007/10/oh-man.html' title='oh man'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-9158641304806288097</id><published>2007-05-18T02:02:00.000-07:00</published><updated>2007-05-18T02:03:31.377-07:00</updated><title type='text'>puh</title><content type='html'>there's absolutely N-O-T-H-I-N-G going on in my life despite of me visiting the gym now ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-9158641304806288097?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/9158641304806288097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=9158641304806288097' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/9158641304806288097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/9158641304806288097'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2007/05/puh.html' title='puh'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-2985691961387958910</id><published>2007-03-27T16:44:00.001-07:00</published><updated>2007-03-28T14:36:13.777-07:00</updated><title type='text'>the desktop wallpaper for 2k7 is here ;D</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://daemon.reverse-engineering.net/UG2007.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px;" src="http://daemon.reverse-engineering.net/UG2007.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-2985691961387958910?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/2985691961387958910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=2985691961387958910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/2985691961387958910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/2985691961387958910'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2007/03/desktop-background-for-2k7-is-here-d.html' title='the desktop wallpaper for 2k7 is here ;D'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-7247525464353921802</id><published>2007-03-01T14:50:00.000-08:00</published><updated>2007-03-01T14:52:06.033-08:00</updated><title type='text'>the first enemy has arrived :)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://daemon.reverse-engineering.net/giana8.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px;" src="http://daemon.reverse-engineering.net/giana8.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;finally :) the first enemy is moving on the screen ;D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-7247525464353921802?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/7247525464353921802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=7247525464353921802' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/7247525464353921802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/7247525464353921802'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2007/03/first-enemy-has-arrived.html' title='the first enemy has arrived :)'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-2721748276480999413</id><published>2007-02-22T16:32:00.000-08:00</published><updated>2007-02-22T16:33:31.466-08:00</updated><title type='text'>guys, don't forget....</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://daemon.reverse-engineering.net/heroes.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px;" src="http://daemon.reverse-engineering.net/heroes.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-2721748276480999413?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/2721748276480999413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=2721748276480999413' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/2721748276480999413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/2721748276480999413'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2007/02/and-dont-forget-guys.html' title='guys, don&apos;t forget....'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-6429509776627647285</id><published>2007-02-16T15:12:00.000-08:00</published><updated>2007-02-16T15:14:01.552-08:00</updated><title type='text'>health probs...</title><content type='html'>jah got some health probs which kept me from finishing the game yet... will do it asap&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-6429509776627647285?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/6429509776627647285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=6429509776627647285' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/6429509776627647285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/6429509776627647285'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2007/02/health-probs.html' title='health probs...'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-117041176164864132</id><published>2007-02-02T02:20:00.000-08:00</published><updated>2007-02-02T02:24:59.163-08:00</updated><title type='text'>and another small update...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://daemon.reverse-engineering.net/giana7.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px;" src="http://daemon.reverse-engineering.net/giana7.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://daemon.reverse-engineering.net/giana6.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px;" src="http://daemon.reverse-engineering.net/giana6.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;:) still loads of things to do, there's no enemies yet integrated into the game and my level loading lacks... and some other things... but with every day i come closer to my own clone&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-117041176164864132?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/117041176164864132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=117041176164864132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/117041176164864132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/117041176164864132'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2007/02/and-another-small-update.html' title='and another small update...'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-116942483215007041</id><published>2007-01-21T16:12:00.000-08:00</published><updated>2007-01-21T16:31:08.666-08:00</updated><title type='text'>some time later... i find myself rewinding our lovescenes in my daydreams</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://daemon.reverse-engineering.net/giana5.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px;" src="http://daemon.reverse-engineering.net/giana5.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;yeh there we are :) slowly it starts to look like a working game...&lt;br /&gt;&lt;br /&gt;there's still a f**k load of sh*t-work todo BUT i think iam doing quite good progress on it...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-116942483215007041?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/116942483215007041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=116942483215007041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116942483215007041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116942483215007041'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2007/01/some-time-later-i-find-myself.html' title='some time later... i find myself rewinding our lovescenes in my daydreams'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-116852085310303175</id><published>2007-01-11T05:07:00.000-08:00</published><updated>2007-01-11T05:10:35.860-08:00</updated><title type='text'>Giana hits 720p (my personal version)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://daemon.reverse-engineering.net/giana4.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px;" src="http://daemon.reverse-engineering.net/giana4.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Giana Clone for my personal needs :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-116852085310303175?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/116852085310303175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=116852085310303175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116852085310303175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116852085310303175'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2007/01/giana-hits-720p-my-personal-version.html' title='Giana hits 720p (my personal version)'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-116783941095343275</id><published>2007-01-03T07:48:00.000-08:00</published><updated>2007-01-03T07:52:14.783-08:00</updated><title type='text'>HAPPY NEW YEAR! + XNA and me :&gt;</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://daemon.reverse-engineering.net/mytetris.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px;" src="http://daemon.reverse-engineering.net/mytetris.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;damn it, since i own a x360 i also wanna prog some crap for it, after a while i decided to write a little tetris clone for it ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-116783941095343275?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/116783941095343275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=116783941095343275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116783941095343275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116783941095343275'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2007/01/happy-new-year-xna-and-me.html' title='HAPPY NEW YEAR! + XNA and me :&gt;'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-116602342336332040</id><published>2006-12-13T07:23:00.000-08:00</published><updated>2006-12-13T07:24:12.366-08:00</updated><title type='text'>Beta 2</title><content type='html'>&lt;a href="http://daemon.reverse-engineering.net/ugdbgbeta2.rar"&gt;Beta 2 is out ;)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-116602342336332040?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/116602342336332040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=116602342336332040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116602342336332040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116602342336332040'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/12/beta-2.html' title='Beta 2'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-116539348456813495</id><published>2006-12-06T00:23:00.000-08:00</published><updated>2006-12-06T00:26:06.046-08:00</updated><title type='text'>O1MFG T3H B3TA IS OUT!!!!!!!!</title><content type='html'>&lt;a href="http://daemon.reverse-engineering.net/ugdbgbeta1.rar"&gt;http://daemon.reverse-engineering.net/ugdbgbeta1.rar&lt;/a&gt;  - there you go boy ;)&lt;br /&gt;&lt;br /&gt;oh yeh and rtfm...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-116539348456813495?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/116539348456813495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=116539348456813495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116539348456813495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116539348456813495'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/12/o1mfg-t3h-b3ta-is-out.html' title='O1MFG T3H B3TA IS OUT!!!!!!!!'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-116505532009754413</id><published>2006-12-02T02:26:00.000-08:00</published><updated>2006-12-02T02:28:40.113-08:00</updated><title type='text'>coming closer</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://daemon.reverse-engineering.net/ugdebug14.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px;" src="http://daemon.reverse-engineering.net/ugdebug14.bmp" alt="" border="0" /&gt;&lt;/a&gt; this is a more decent picture of the whole thing :) not up to date but like i said, u can imagine better how it looks like atm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-116505532009754413?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/116505532009754413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=116505532009754413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116505532009754413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116505532009754413'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/12/coming-closer.html' title='coming closer'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-116401585971213136</id><published>2006-11-20T01:42:00.000-08:00</published><updated>2006-11-20T01:44:19.723-08:00</updated><title type='text'>Why we do this ? Because we CAN !</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://daemon.reverse-engineering.net/ugdebug11.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px;" src="http://daemon.reverse-engineering.net/ugdebug11.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yup, as you can see on the screenshot iam doing good progress...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-116401585971213136?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/116401585971213136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=116401585971213136' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116401585971213136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116401585971213136'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/11/why-we-do-this-because-we-can.html' title='Why we do this ? Because we CAN !'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-116317746873304391</id><published>2006-11-10T08:46:00.000-08:00</published><updated>2006-11-11T16:19:42.493-08:00</updated><title type='text'>a zombie ? an old friend of us, died recently</title><content type='html'>&lt;a href="http://daemon.reverse-engineering.net/ugdebug6.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand" alt="" src="http://daemon.reverse-engineering.net/ugdebug6.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://daemon.reverse-engineering.net/ugdebug5.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand" alt="" src="http://daemon.reverse-engineering.net/ugdebug5.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://daemon.reverse-engineering.net/ugdebug4.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand" alt="" src="http://daemon.reverse-engineering.net/ugdebug4.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;well at least we could try to let the (innovative) UI survive partially :)&lt;br /&gt;&lt;br /&gt;pic on bottom shows you a highlighted conditional jmp...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-116317746873304391?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/116317746873304391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=116317746873304391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116317746873304391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116317746873304391'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/11/zombie-old-friend-of-us-died-recently.html' title='a zombie ? an old friend of us, died recently'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-116263485539188901</id><published>2006-11-04T02:07:00.000-08:00</published><updated>2006-11-04T02:10:13.736-08:00</updated><title type='text'>my keyboard has it's OWN life</title><content type='html'>&lt;a href="http://daemon.reverse-engineering.net/keyboard.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 400px; CURSOR: hand" alt="" src="http://daemon.reverse-engineering.net/keyboard.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;well if i look that close at it, i find it also disgusting :D but well iam still waiting for the day that it starts to talk... yet to come...&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-116263485539188901?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/116263485539188901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=116263485539188901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116263485539188901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116263485539188901'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/11/my-keyboard-has-its-own-life.html' title='my keyboard has it&apos;s OWN life'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-116125302840602859</id><published>2006-10-19T03:17:00.000-07:00</published><updated>2006-10-19T03:17:08.466-07:00</updated><title type='text'>dealing with smartcards</title><content type='html'>lately i stumble around with some smartcard stuff, quite interesting devices :D basically iam just playing around with some electronic stuff...&lt;br /&gt;&lt;br /&gt;else well, been travelling a lot in the last few months... hope to find some time soon, i might release some of my older stuff and stuff that never hit the public, also if i can find some time i will invest some time to disable this nasty ring3 debuggers :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-116125302840602859?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/116125302840602859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=116125302840602859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116125302840602859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/116125302840602859'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/10/dealing-with-smartcards.html' title='dealing with smartcards'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-114937195706838737</id><published>2006-06-03T14:59:00.000-07:00</published><updated>2006-06-03T14:59:20.020-07:00</updated><title type='text'>STILL BORING :)</title><content type='html'>sorry but there's no real news from my place ;) least not when it comes to computers...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-114937195706838737?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/114937195706838737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=114937195706838737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/114937195706838737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/114937195706838737'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/06/still-boring.html' title='STILL BORING :)'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-114574027863268924</id><published>2006-04-22T14:11:00.000-07:00</published><updated>2006-04-22T14:11:22.880-07:00</updated><title type='text'>PUH</title><content type='html'>well pretty boring, somehow... nothing goes on... might spend some time reversing some events in the kernel...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-114574027863268924?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/114574027863268924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=114574027863268924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/114574027863268924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/114574027863268924'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/04/puh.html' title='PUH'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-114130940585896164</id><published>2006-03-02T06:23:00.000-08:00</published><updated>2006-03-02T06:24:40.663-08:00</updated><title type='text'>THE ALMIGHTY KENReplay v1.2</title><content type='html'>this is somewhat soooo not special but i thought it might be nice to put it here anyway, the KENReplay is a small piece of software that does nothing else than back then the action replay(TM) did.... and of course there's already more than enough such of those little funky thingys publicly available just like TSearch or similiar... anyway didn't stop me to write it on my own... just another one of my fun projects ;)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://daemon.reverse-engineering.net/KENReplay.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 400px; CURSOR: hand" alt="" src="http://daemon.reverse-engineering.net/KENReplay.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-114130940585896164?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/114130940585896164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=114130940585896164' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/114130940585896164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/114130940585896164'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/03/almighty-kenreplay-v12.html' title='THE ALMIGHTY KENReplay v1.2'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-114130869784199481</id><published>2006-03-02T06:11:00.000-08:00</published><updated>2006-03-02T06:18:23.790-08:00</updated><title type='text'>And another pinky little demo</title><content type='html'>&lt;a href="http://daemon.reverse-engineering.net/myth1.jpg"&gt;&lt;/a&gt;&lt;br /&gt; ...BURP... and another demo created ;) this time with a logo-wobble-effect and a 3d starfield bound to the peak of the MP3... (+ a "rastered" scroller which changes it's color)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://daemon.reverse-engineering.net/myth2.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 400px; CURSOR: hand" alt="" src="http://daemon.reverse-engineering.net/myth2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://daemon.reverse-engineering.net/myth1.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 400px; CURSOR: hand" alt="" src="http://daemon.reverse-engineering.net/myth1.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-114130869784199481?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/114130869784199481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=114130869784199481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/114130869784199481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/114130869784199481'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/03/and-another-pinky-little-demo.html' title='And another pinky little demo'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-113978644576697346</id><published>2006-02-12T15:15:00.000-08:00</published><updated>2006-02-12T15:20:46.906-08:00</updated><title type='text'>Catweasel ImageTool v1.0</title><content type='html'>since i received my Catweasel controller from Individual Computers lately and sadly had to figure out that their supplied Imaging utility isn't very userfriendly i decided to write my own one... nothin special, just the very basic stuff got added to it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://daemon.reverse-engineering.net/Cat1.JPG"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://daemon.reverse-engineering.net/Cat2.JPG"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 400px; CURSOR: hand" alt="" src="http://daemon.reverse-engineering.net/Cat2.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://daemon.reverse-engineering.net/Cat1.JPG"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-113978644576697346?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/113978644576697346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=113978644576697346' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113978644576697346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113978644576697346'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/02/catweasel-imagetool-v10.html' title='Catweasel ImageTool v1.0'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-113931574954643498</id><published>2006-02-07T04:35:00.000-08:00</published><updated>2006-02-07T04:41:38.286-08:00</updated><title type='text'>Something different</title><content type='html'>This time it's not about reversing it's more about gfx stuff... lately i've written a "Demo"... so if i find the time&amp;motivation to cleanup portions of the code, i might publish it... (written in C++)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://daemon.reverse-engineering.net/demo1.JPG"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 400px; CURSOR: hand" alt="" src="http://daemon.reverse-engineering.net/demo1.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://daemon.reverse-engineering.net/demo2.JPG"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 400px; CURSOR: hand" alt="" src="http://daemon.reverse-engineering.net/demo2.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://daemon.reverse-engineering.net/demo3.JPG"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 400px; CURSOR: hand" alt="" src="http://daemon.reverse-engineering.net/demo3.JPG" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-113931574954643498?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/113931574954643498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=113931574954643498' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113931574954643498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113931574954643498'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/02/something-different.html' title='Something different'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-113624783852770489</id><published>2006-01-02T16:23:00.000-08:00</published><updated>2006-01-02T16:24:00.726-08:00</updated><title type='text'>Happy new year!</title><content type='html'>new year has landed and i wish all of you just the best for 2006&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-113624783852770489?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/113624783852770489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=113624783852770489' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113624783852770489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113624783852770489'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2006/01/happy-new-year.html' title='Happy new year!'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-113584080394192382</id><published>2005-12-28T23:20:00.000-08:00</published><updated>2006-01-02T16:25:02.240-08:00</updated><title type='text'>ANTI DLL INJECTION - A "C++" PORT</title><content type='html'>since i released the asm version of it some time ago i thought it's maybe a nice gift to also release a C port of it...&lt;br /&gt;&lt;br /&gt;the following source will display every injected dll / thread that exists in the process&lt;br /&gt;&lt;br /&gt;compiled output should be like this below, if you notice more dll's in the process or more threads this can be of more reasons:&lt;br /&gt;&lt;br /&gt;1. anti-dialer/trojan/virus software is installed / or some firewall app&lt;br /&gt;2. you got infected by some malware&lt;br /&gt;&lt;br /&gt;this can also be used to detect virus infections...&lt;br /&gt;-------------------------------------------------------&lt;br /&gt;Detecting injected DLL's v0.1&lt;br /&gt;&lt;br /&gt;Process Environment Block found @ 0x7FFDF000&lt;br /&gt;PEB_LDR_DATA found @ 0x00241E90&lt;br /&gt;InLoadOrderModuleListHead found @ 0x00241EC0&lt;br /&gt;&lt;br /&gt;===[ THIS MODULE ]===&lt;br /&gt;&lt;br /&gt;ExeModuleFileName found @ 0x00020A28&lt;br /&gt;ExeModuleName = G:\readtree.exe&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;===[ MODULES ]===&lt;br /&gt;&lt;br /&gt;ModuleFileName found @ 0x77FB1618&lt;br /&gt;ModuleName = E:\WINDOWS\System32\ntdll.dll - DLL OKAY!&lt;br /&gt;ModuleFileName found @ 0x00241F70&lt;br /&gt;ModuleName = E:\WINDOWS\system32\kernel32.dll - DLL OKAY!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;===[ THREADS ]===&lt;br /&gt;&lt;br /&gt;Active TH_CTR : 00000001&lt;br /&gt;-------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;#include "stdafx.h"&lt;br /&gt;#include "windows.h"&lt;br /&gt;#include "stdio.h"&lt;br /&gt;&lt;br /&gt;DWORD GetPEB();&lt;br /&gt;DWORD result;&lt;br /&gt;&lt;br /&gt;//NTSTATUS NtQuerySystemInformation(&lt;br /&gt;// SYSTEM_INFORMATION_CLASS SystemInformationClass,&lt;br /&gt;// PVOID SystemInformation,&lt;br /&gt;// ULONG SystemInformationLength,&lt;br /&gt;// PULONG ReturnLength&lt;br /&gt;//);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;typedef BOOL (__stdcall *_NtQuerySystemInformation)(DWORD x,DWORD y,DWORD z,DWORD b);&lt;br /&gt;_NtQuerySystemInformation NtQuerySystemInformation;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main(int argc, char* argv[])&lt;br /&gt;{&lt;br /&gt;printf ("Detecting injected DLL's v0.1\n\n");&lt;br /&gt;// GRAB PEB&lt;br /&gt;DWORD pPEB = GetPEB ();&lt;br /&gt;printf ("Process Environment Block found @ 0x%8.8X\n",pPEB);&lt;br /&gt;DWORD PEB_LDR_DATA = (unsigned long)*(DWORD*)(pPEB+0x0C);&lt;br /&gt;printf ("PEB_LDR_DATA found @ 0x%8.8X\n",PEB_LDR_DATA);&lt;br /&gt;DWORD InLoadOrderModuleListHead = (unsigned long)*(DWORD*)(PEB_LDR_DATA+0x0C);&lt;br /&gt;printf ("InLoadOrderModuleListHead found @ 0x%8.8X\n\n",InLoadOrderModuleListHead);&lt;br /&gt;&lt;br /&gt;// CURRENT FILE -- FIRST ENTRY&lt;br /&gt;printf ("===[ THIS MODULE ]===\n\n");&lt;br /&gt;DWORD ModuleFileName = (unsigned long)*(PDWORD*)(InLoadOrderModuleListHead+0x28);&lt;br /&gt;printf ("ExeModuleFileName found @ 0x%8.8X\n",ModuleFileName);&lt;br /&gt;InLoadOrderModuleListHead = *(DWORD*)(InLoadOrderModuleListHead);&lt;br /&gt;int a = 255;&lt;br /&gt;char *ansistr = new char[a];&lt;br /&gt;WideCharToMultiByte(CP_ACP,0,(const unsigned short *)ModuleFileName,-1,ansistr,a,NULL,NULL);&lt;br /&gt;printf ("ExeModuleName = %s\n",ansistr);&lt;br /&gt;&lt;br /&gt;// START LOOPING&lt;br /&gt;printf ("\n\n===[ MODULES ]===\n\n");&lt;br /&gt;while (*(DWORD*)(InLoadOrderModuleListHead) != (unsigned long)*(PDWORD*)(PEB_LDR_DATA+0x0C))&lt;br /&gt;{&lt;br /&gt;DWORD ModuleFileName = (unsigned long)*(PDWORD*)(InLoadOrderModuleListHead+0x28);&lt;br /&gt;printf ("ModuleFileName found @ 0x%8.8X\n",ModuleFileName);&lt;br /&gt;InLoadOrderModuleListHead = *(DWORD*)(InLoadOrderModuleListHead);&lt;br /&gt;int a = 255;&lt;br /&gt;char *ansistr = new char[a];&lt;br /&gt;WideCharToMultiByte(CP_ACP,0,(const unsigned short *)ModuleFileName,-1,ansistr,a,NULL,NULL);&lt;br /&gt;printf ("ModuleName = %s",ansistr);&lt;br /&gt;_strlwr(ansistr);&lt;br /&gt;if (strstr (ansistr,"kernel32.dll") strstr (ansistr,"ntdll.dll"))&lt;br /&gt;{&lt;br /&gt;printf (" - DLL OKAY!\n");&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;printf (" - DLL INJECTED!\n");&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;//&lt;br /&gt;// DETECT AND DISPLAY NUMBER OF RUNNING THREADS&lt;br /&gt;//&lt;br /&gt;HINSTANCE aHandle = LoadLibrary ("ntdll.dll");&lt;br /&gt;if (aHandle != 0)&lt;br /&gt;{&lt;br /&gt;NtQuerySystemInformation = (_NtQuerySystemInformation) GetProcAddress ((HINSTANCE)aHandle,"NtQuerySystemInformation");&lt;br /&gt;if (NtQuerySystemInformation != 0)&lt;br /&gt;{&lt;br /&gt;printf ("\n\n===[ THREADS ]===\n");&lt;br /&gt;DWORD BufX = (DWORD) GlobalAlloc (GMEM_ZEROINIT,0x50000);&lt;br /&gt;NtQuerySystemInformation (5,BufX,0x50000,0);&lt;br /&gt;DWORD xPID = GetCurrentProcessId ();&lt;br /&gt;while (*(DWORD*)BufX != 0)&lt;br /&gt;{&lt;br /&gt;// CHECK ACTUAL RECORD's PID&lt;br /&gt;if (*(DWORD*)(BufX+0x44) == xPID)&lt;br /&gt;{&lt;br /&gt;printf (" active thread count : %8.8X\n",*(DWORD*)(BufX+4));&lt;br /&gt;}&lt;br /&gt;// FORWARD TO NEXT RECORD&lt;br /&gt;BufX = BufX + *(DWORD*)BufX;&lt;br /&gt;}&lt;br /&gt;// CHECK ACTUAL RECORD's PID&lt;br /&gt;if (*(DWORD*)(BufX+0x44) == xPID)&lt;br /&gt;{&lt;br /&gt;printf ("\nActive TH_CTR : %8.8X\n",*(DWORD*)(BufX+4));&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;DWORD GetPEB()&lt;br /&gt;{&lt;br /&gt;__asm&lt;br /&gt;{&lt;br /&gt;mov eax,dword ptr fs:[0x30]&lt;br /&gt;mov result,eax;&lt;br /&gt;}&lt;br /&gt;return result;&lt;br /&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-113584080394192382?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/113584080394192382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=113584080394192382' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113584080394192382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113584080394192382'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2005/12/anti-dll-injection-c-port.html' title='ANTI DLL INJECTION - A &quot;C++&quot; PORT'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-113569072706651528</id><published>2005-12-27T05:38:00.000-08:00</published><updated>2005-12-27T05:39:42.803-08:00</updated><title type='text'>STREAM BABY STREAM</title><content type='html'>The following example shows an idea a friend and me had some time ago, iam 100% sure others had this idea earlier and maybe there's implementations of it available on the net as well, though neither me or ma friend ever came across it, it's sort of a stream encryption... when you look closely at the source you will see what "we" mean... this below is though just an example app which shows what the idea was.... (not a final implementation)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;.386P&lt;br /&gt;Locals&lt;br /&gt;jumps&lt;br /&gt;.Model Flat ,StdCall&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;extrn LoadLibraryA :PROC&lt;br /&gt;extrn GetProcAddress :PROC&lt;br /&gt;extrn MessageBoxA :PROC&lt;br /&gt;extrn ExitProcess :PROC&lt;br /&gt;;-----------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;.Data&lt;br /&gt;caption db "test application",0&lt;br /&gt;text2 db "test 2",0&lt;br /&gt;msgbox dd ?&lt;br /&gt;&lt;br /&gt;.Code&lt;br /&gt;code_block_1_start equ $&lt;br /&gt;mov eax,offset MessageBoxA&lt;br /&gt;mov eax,[eax+2]&lt;br /&gt;mov eax,[eax]&lt;br /&gt;mov dword ptr [msgbox],eax&lt;br /&gt;ret&lt;br /&gt;code_block_1_ends equ $&lt;br /&gt;fill_space_1 db 1000h - (code_block_1_ends-code_block_1_start) dup (00h)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;code_block_2_start equ $&lt;br /&gt;push 0&lt;br /&gt;lea eax,dword ptr [ebp+caption]&lt;br /&gt;push eax&lt;br /&gt;lea eax,dword ptr [ebp+caption]&lt;br /&gt;push eax&lt;br /&gt;push 0&lt;br /&gt;call dword ptr [ebp+msgbox]&lt;br /&gt;ret&lt;br /&gt;code_block_2_ends equ $&lt;br /&gt;fill_space_2 db 1000h - (code_block_2_ends-code_block_2_start) dup (00h)&lt;br /&gt;&lt;br /&gt;code_block_3_start equ $&lt;br /&gt;xor eax,dword ptr [ebp+msgbox]&lt;br /&gt;mov eax,[eax]&lt;br /&gt;xor ebx,ebx&lt;br /&gt;rol eax,cl&lt;br /&gt;rol eax,cl&lt;br /&gt;xor eax,012345678h&lt;br /&gt;xor dword ptr [ebp+msgbox],ebx&lt;br /&gt;ret&lt;br /&gt;code_block_3_ends equ $&lt;br /&gt;fill_space_3 db 1000h - (code_block_3_ends-code_block_3_start) dup (00h)&lt;br /&gt;&lt;br /&gt;block_x dd offset code_block_1_start&lt;br /&gt;block_x_2 dd offset code_block_1_start&lt;br /&gt;block_ctx dd 3&lt;br /&gt;&lt;br /&gt;get_shit dd ?&lt;br /&gt;&lt;br /&gt;Main:&lt;br /&gt;;// ENCRYPT STREAM BLOCKS&lt;br /&gt;mov esi,offset code_block_2_start&lt;br /&gt;mov edi,offset code_block_3_start&lt;br /&gt;call encrypt_block_x&lt;br /&gt;mov esi,offset code_block_1_start&lt;br /&gt;mov edi,offset code_block_2_start&lt;br /&gt;call encrypt_block_x&lt;br /&gt;&lt;br /&gt;;// CALL &amp; DECRYPT STREAMING&lt;br /&gt;&lt;br /&gt;call $+5&lt;br /&gt;pop ebp&lt;br /&gt;sub ebp,offset $-1&lt;br /&gt;&lt;br /&gt;call_next_block:&lt;br /&gt;call dword ptr [block_x]&lt;br /&gt;mov ecx,0400h&lt;br /&gt;mov esi,offset code_block_1_start&lt;br /&gt;add dword ptr [block_x_2],01000h&lt;br /&gt;mov edi,dword ptr [block_x_2]&lt;br /&gt;decrypt_stream:&lt;br /&gt;lodsd&lt;br /&gt;xor eax,[edi]&lt;br /&gt;mov dword ptr [esi-4],eax&lt;br /&gt;add edi,04h&lt;br /&gt;loop decrypt_stream&lt;br /&gt;dec dword ptr [block_ctx]&lt;br /&gt;jne call_next_block&lt;br /&gt;&lt;br /&gt;call ExitProcess&lt;br /&gt;&lt;br /&gt;encrypt_block_x:&lt;br /&gt;mov ecx,1000h&lt;br /&gt;sar ecx,02h&lt;br /&gt;encrypt_code_blocks:&lt;br /&gt;lodsd&lt;br /&gt;xor [edi],eax&lt;br /&gt;add edi,04h&lt;br /&gt;loop encrypt_code_blocks&lt;br /&gt;ret&lt;br /&gt;End Main ;end of code, JUMP-spot (main)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-113569072706651528?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/113569072706651528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=113569072706651528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113569072706651528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113569072706651528'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2005/12/stream-baby-stream.html' title='STREAM BABY STREAM'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-113568148445884345</id><published>2005-12-27T03:04:00.000-08:00</published><updated>2005-12-27T05:30:18.316-08:00</updated><title type='text'>THE AWAKENING</title><content type='html'>for those who understand, the following snippet, will make a grin on their face...&lt;br /&gt;&lt;br /&gt;for those who don't... doesn't really matter ;)&lt;br /&gt;&lt;br /&gt;the following source is just for educational purposes!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;typedef BOOL (_stdcall *_Export3)(int nr_of_device,char * buffer,char * buffer2);&lt;br /&gt;_Export3 MyExport3;&lt;br /&gt;typedef BOOL (_stdcall *_Export7)(char * buffer);&lt;br /&gt;_Export7 MyExport7;&lt;br /&gt;typedef BOOL (_stdcall *_Export1)();&lt;br /&gt;_Export1 MyExport1;&lt;br /&gt;&lt;br /&gt;HANDLE aHandle;&lt;br /&gt;static char DEVCNT[255];&lt;br /&gt;static char DEVCNT2[255];&lt;br /&gt;static char DEVCNT3[255];&lt;br /&gt;static char msgbox[255];&lt;br /&gt;&lt;br /&gt;int APIENTRY WinMain(HINSTANCE hInstance,&lt;br /&gt;HINSTANCE hPrevInstance,&lt;br /&gt;LPSTR lpCmdLine,&lt;br /&gt;int nCmdShow)&lt;br /&gt;{&lt;br /&gt;// TODO: Place code here.&lt;br /&gt;aHandle = LoadLibrary ("daemon.dll");&lt;br /&gt;MyExport1 = (_Export1)(GetProcAddress ((HINSTANCE)aHandle,(const char *)1));&lt;br /&gt;MyExport1 ();&lt;br /&gt;MyExport3 = (_Export3)(GetProcAddress ((HINSTANCE)aHandle,(const char *)3));&lt;br /&gt;MyExport7 = (_Export7)(GetProcAddress ((HINSTANCE)aHandle,(const char *)7));&lt;br /&gt;if (MyExport7 != 0)&lt;br /&gt;{&lt;br /&gt;if (MyExport7 (DEVCNT) != 0)&lt;br /&gt;{&lt;br /&gt;MessageBox (0,"failed to retrieve count of present virtual devices","error",0);&lt;br /&gt;return -1;&lt;br /&gt;}&lt;br /&gt;sprintf (msgbox,"found %d virtual devices",DEVCNT[0]);&lt;br /&gt;MessageBox (0,msgbox,"",0);&lt;br /&gt;for (int i=0;i&lt;devcnt[0];i++)&gt; i&lt; DEVCNT[0];i++)&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;{ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if (MyExport3 (i,DEVCNT2,DEVCNT3) != 0) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;{ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MessageBox (0,"failed to retrieve drive letter!","error",0); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;return -1; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;} &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DEVCNT2[1]+=0x40; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sprintf (msgbox,"drive %d -&gt; assigned with drive letter : %s",i,&amp;DEVCNT2[1]); &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;MessageBox (0,msgbox,"",0); }MessageBox (0,msgbox,"",0);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;MessageBox (0,"failed to either retrieve export3 or daemon.dll","error",0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;return 0;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-113568148445884345?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/113568148445884345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=113568148445884345' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113568148445884345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113568148445884345'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2005/12/awakening.html' title='THE AWAKENING'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-113541731871245962</id><published>2005-12-24T01:41:00.000-08:00</published><updated>2005-12-24T01:41:58.980-08:00</updated><title type='text'>Merry Christmas</title><content type='html'>yet another year passes by... i wish all of you a merry christmas!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-113541731871245962?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/113541731871245962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=113541731871245962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113541731871245962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113541731871245962'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2005/12/merry-christmas.html' title='Merry Christmas'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-113399091000102387</id><published>2005-12-07T13:15:00.000-08:00</published><updated>2005-12-07T14:01:06.646-08:00</updated><title type='text'>DEEPDOWN in the SHIT</title><content type='html'>I thought it might be useful / handy for the one or other it's part of my driver routine to "GetProcAddress"... simple lookup via ExportTable scanning, so it's really nothing special nor optimized.... take it or let it be ;)&lt;br /&gt;&lt;br /&gt;example -&gt; ULONG Blub = GetAddress ("NtDeviceIoControlFile",base_of_ntoskrnl);&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;ULONG GetAddress (char * ApiAscii,ULONG ModuleBase)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;{ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;PIMAGE_DOS_HEADER DosHdr; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;PIMAGE_NT_HEADERS32 NTHdr; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;PIMAGE_EXPORT_DIRECTORY ExportTable; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;PIMAGE_THUNK_DATA32 ThunkData; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;BYTE * AddressNameOrd; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;BYTE * AddressFns; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;ULONG ApiOffset; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;unsigned int ApiCounter;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;br /&gt;DosHdr = (PIMAGE_DOS_HEADER) ModuleBase;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;NTHdr = (PIMAGE_NT_HEADERS32) (BYTE *)(ModuleBase+DosHdr-&gt;e_lfanew);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;ExportTable = (PIMAGE_EXPORT_DIRECTORY) (BYTE *)(ModuleBase+*(ULONG*)(NTHdr-&gt;OptionalHeader.DataDirectory)); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;ThunkData = (PIMAGE_THUNK_DATA32) (BYTE *)(ExportTable-&gt;AddressOfNames+ModuleBase); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;AddressNameOrd = (BYTE *)(ExportTable-&gt;AddressOfNameOrdinals+ModuleBase); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;AddressFns = (BYTE *)(ExportTable-&gt;AddressOfFunctions+ModuleBase); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;for (ApiCounter=1;ApiCounter &lt;= ExportTable-&gt;NumberOfNames;ApiCounter++) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;{ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;if (strcmp (ApiAscii,(const char *)ThunkData-&gt;Ascii+ModuleBase) == 0) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;{ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;ApiOffset = (*(ULONG*)(AddressNameOrd+ApiCounter*2)) &amp; 0xFFFF;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;return (ULONG)((ApiOffset-1)*4+AddressFns); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;ThunkData++;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;return 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-113399091000102387?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/113399091000102387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=113399091000102387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113399091000102387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113399091000102387'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2005/12/deepdown-in-shit.html' title='DEEPDOWN in the SHIT'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-113398969627001388</id><published>2005-12-07T13:06:00.000-08:00</published><updated>2005-12-07T13:08:16.270-08:00</updated><title type='text'>Adjusted the layout</title><content type='html'>well i just adjusted the layout a bit more, i find it now better to look through...&lt;br /&gt;&lt;br /&gt;actually iam working on a small driver written in C... might get published soon'ish&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-113398969627001388?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/113398969627001388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=113398969627001388' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113398969627001388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113398969627001388'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2005/12/adjusted-layout.html' title='Adjusted the layout'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-113274574762782782</id><published>2005-11-23T03:35:00.000-08:00</published><updated>2005-11-23T03:35:47.636-08:00</updated><title type='text'>Porting PBPM from 9x to NT</title><content type='html'>This has been quite a nice project as i had to rewrite everything from scratch&lt;br /&gt;and since BPM works (as we know) per thread i wanted it to handle all threads&lt;br /&gt;seperated just like i had it done back then on 9x in icedump...&lt;br /&gt;&lt;br /&gt;1. Problem there was no VMMCall _AllocateThreadDataSlot&lt;br /&gt;&lt;br /&gt;which turned out to be quite a problem at first&lt;br /&gt;&lt;br /&gt;later i found out that in the r0 TEB (which is located in PCR:0x124)&lt;br /&gt;&lt;br /&gt;was a field that contains always 0 on all threads&lt;br /&gt;&lt;br /&gt;                  mov  eax,fs:[124h]              ; -&gt; TEB!&lt;br /&gt;                  mov  eax,[eax+4h]             &lt;br /&gt;                  or   eax,eax&lt;br /&gt;                  jnz  memory_allocated&lt;br /&gt;&lt;br /&gt;so i used that DWORD to store all snapshots...&lt;br /&gt;&lt;br /&gt;2. after figuring that part out it also turned out that it wasn't as easy as i thought at first to hook&lt;br /&gt;the necessary code deep enough.... hooking the point where the context gets restored (setthreadcontext)&lt;br /&gt;was no problem at all, but finding a good point where i could hook the "snapshot" process was kinda tricky and this code changes heavily with each service pack and maybe even with security updates...&lt;br /&gt;&lt;br /&gt;(i guess it was the main reason for me to never publish anything of it till today)&lt;br /&gt;&lt;br /&gt;so i had 2 parts&lt;br /&gt;&lt;br /&gt;the more "generic one" // where i hooked zwsetthreadcontext using the keservicedescriptortable&lt;br /&gt;&lt;br /&gt;           ; SEH! stuff&lt;br /&gt;&lt;br /&gt;           mov  ebx,keservicedescriptortable     ; grab the fucking table&lt;br /&gt;           mov  ebx,[ebx]                              ; pointer to real table&lt;br /&gt;           add  ebx,020h*4h                          ; point to our really interesting&lt;br /&gt;                                                             ; context entry!&lt;br /&gt;                                                             ; service number 0x20&lt;br /&gt;                                                             ; -&gt; setthreadcontext | SEH!&lt;br /&gt;           mov  eax,[ebx]                              ; -&gt; grab handler rva!&lt;br /&gt;           mov  pOldCTXHandlerSEH,eax           ; store the rva!&lt;br /&gt;           mov  pOldCTXHandlerSEHP,ebx		&lt;br /&gt;&lt;br /&gt;           mov  [ebx],offset myXXsetcontextthreadseh   ; install my handler!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and second the part where i hooked the snapshot process:&lt;br /&gt;&lt;br /&gt;(therefore i disabled the supervisor bit for a short amount of time and written my hook directly into ntoskernel's code section... afterwards reenable the supervisor bit and exit)&lt;br /&gt;&lt;br /&gt;           mov  ecx,cr0&lt;br /&gt;           mov  edi,ecx&lt;br /&gt;           and  ecx,0fffeffffh&lt;br /&gt;           mov  cr0,ecx&lt;br /&gt;&lt;br /&gt;           pushad&lt;br /&gt;           mov  esi,ntosbase&lt;br /&gt;           add  esi,HARDC0DED&lt;br /&gt;           cmp  word ptr [esi],0a5f3h&lt;br /&gt;           jne  failed_at_signature&lt;br /&gt;&lt;br /&gt;           mov  pOldKiUserHandlerP,esi&lt;br /&gt;&lt;br /&gt;           ; save orig_byte_sequence&lt;br /&gt;           pushad&lt;br /&gt;           mov  ecx,08h&lt;br /&gt;           lea  edi,offset orig_bytes_buffer&lt;br /&gt;           db   0f3h, 0a4h                              ;repz movsb&lt;br /&gt;           mov  al,068h&lt;br /&gt;           stosb                                        ;store push&lt;br /&gt;           xchg esi,eax&lt;br /&gt;           stosd&lt;br /&gt;           mov  al,0c3h&lt;br /&gt;           stosb&lt;br /&gt;           popad&lt;br /&gt;&lt;br /&gt;           lea  eax,offset orig_bytes_buffer&lt;br /&gt;           mov  my_fucking_destination,eax&lt;br /&gt;&lt;br /&gt;           xchg esi,edi&lt;br /&gt;           mov  al,068h&lt;br /&gt;           stosb&lt;br /&gt;           lea  eax,offset myXXkiuser&lt;br /&gt;           stosd&lt;br /&gt;           mov  al,0c3h&lt;br /&gt;           stosb&lt;br /&gt;           popad&lt;br /&gt;&lt;br /&gt;           mov  ecx,edi&lt;br /&gt;           mov  cr0,ecx&lt;br /&gt;&lt;br /&gt;failed_e:&lt;br /&gt;           popad&lt;br /&gt;           ret&lt;br /&gt;&lt;br /&gt;failed_at_signature:&lt;br /&gt;           popad&lt;br /&gt;&lt;br /&gt;           mov  ecx,edi&lt;br /&gt;           mov  cr0,ecx&lt;br /&gt;&lt;br /&gt;           popad&lt;br /&gt;           ret&lt;br /&gt;&lt;br /&gt;3. the hook itself&lt;br /&gt;&lt;br /&gt;("kiuser" (snapshot) hook)&lt;br /&gt;&lt;br /&gt;;Ä[MY HOOK]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ&lt;br /&gt;myXXkiuser        equ $&lt;br /&gt;                  pushfd&lt;br /&gt;                  pushad&lt;br /&gt;                  mov  eax,fs:[124h]                  &lt;br /&gt;                  mov  eax,[eax+4h]&lt;br /&gt;                  or   eax,eax&lt;br /&gt;                  jz   dont_fill_the_context&lt;br /&gt;&lt;br /&gt;                  lea  edi,dword ptr [esi+4]&lt;br /&gt;                  mov  esi,eax&lt;br /&gt;                  mov  ecx,06h&lt;br /&gt;                  db   0f3h,0a5h                ; repz movsd&lt;br /&gt;&lt;br /&gt;                  Invoke DbgPrint, OFFSET life_sux&lt;br /&gt;&lt;br /&gt;dont_fill_the_context:&lt;br /&gt;                  popad&lt;br /&gt;                  popfd&lt;br /&gt;&lt;br /&gt;                  db 068h              ; push&lt;br /&gt;my_fucking_destination dd ?&lt;br /&gt;                  ret&lt;br /&gt;myXXkiuserend     equ $&lt;br /&gt;;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ&lt;br /&gt;&lt;br /&gt;and the way bigger zwsetcontextthread hook&lt;br /&gt;(btw. i find it pretty confusing to name the ring3 part setthreadcontext and the ring0 part zwsetCONTEXTthread, must be one of a naming genius ;) or someone just noticed bit too late like "doh, we mixed it, damn!")&lt;br /&gt;&lt;br /&gt;;Ä[MY HOOK]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ&lt;br /&gt;myXXsetcontextthreadseh equ $&lt;br /&gt;                  pushfd&lt;br /&gt;                  pushad&lt;br /&gt;&lt;br /&gt;                  mov  eax,[esp+028h]             ; -&gt; ctx storage buffer&lt;br /&gt;                  cmp  eax,010000000h&lt;br /&gt;                  jae  i_dont_trust_the_kernel&lt;br /&gt;&lt;br /&gt;                  cmp  dword ptr [eax+018h],0155h ; most of the time used!&lt;br /&gt;                  je   reset_now&lt;br /&gt;&lt;br /&gt;                  cmp  dword ptr [eax+018h],024FFh ; ... :&gt; the evil one&lt;br /&gt;                  jne  i_dont_trust_the_kernel&lt;br /&gt;&lt;br /&gt;reset_now:&lt;br /&gt;;                  and  dword ptr [eax+018h],0     ; reset -&gt; dr7&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                  mov  eax,fs:[124h]              ; -&gt; TEB!&lt;br /&gt;                  mov  eax,[eax+4h]             &lt;br /&gt;                  or   eax,eax&lt;br /&gt;                  jnz  memory_allocated&lt;br /&gt;&lt;br /&gt;                  pushad&lt;br /&gt;                  push  018h&lt;br /&gt;                  push  4                        ; NonPagedPool&lt;br /&gt;                  iWin32 ExAllocatePool          ; allocate buffer&lt;br /&gt;                                                 ; eax == pointer to allocated&lt;br /&gt;                                                 ; memory&lt;br /&gt;&lt;br /&gt;                  or    eax,eax&lt;br /&gt;                  jnz   proceed_&lt;br /&gt;                  popad&lt;br /&gt;                  jmp   i_dont_trust_the_kernel&lt;br /&gt;                       &lt;br /&gt;proceed_:         mov   dword ptr [esp+01ch],eax ; store it!&lt;br /&gt;                  popad&lt;br /&gt;&lt;br /&gt;memory_allocated: mov   ebx,fs:[124h]&lt;br /&gt;                  mov   [ebx+4h],eax             ; install buffer!&lt;br /&gt;&lt;br /&gt;                  mov   edi,eax&lt;br /&gt;                  mov   esi,[esp+028h]           ; -&gt; ctx storage!&lt;br /&gt;                  add   esi,04h&lt;br /&gt;                  mov   ecx,06h&lt;br /&gt;                  mov   edx,offset mdr0&lt;br /&gt;&lt;br /&gt;grab_regs:&lt;br /&gt;                  lodsd&lt;br /&gt;&lt;br /&gt;                  push  eax&lt;br /&gt;                  push  ecx                   &lt;br /&gt;                  call  convert&lt;br /&gt;                  add   edx,09h+4h&lt;br /&gt;                  pop   ecx&lt;br /&gt;                  pop   eax&lt;br /&gt;&lt;br /&gt;                  and   dword ptr [esi-4],0      ; -&gt; kill it!&lt;br /&gt;                  stosd                          ; save value in my buffer!&lt;br /&gt;                  loop  grab_regs&lt;br /&gt;&lt;br /&gt;                  mov  eax,fs:[124h]              ; -&gt; TEB!&lt;br /&gt;                  push eax&lt;br /&gt;                  mov  edx,offset kteb_&lt;br /&gt;                  call convert&lt;br /&gt;                  pop  eax&lt;br /&gt;&lt;br /&gt;                  Invoke DbgPrint, OFFSET shit_happens&lt;br /&gt;&lt;br /&gt;i_dont_trust_the_kernel:&lt;br /&gt;&lt;br /&gt;                  popad&lt;br /&gt;                  popfd&lt;br /&gt;                  jmp dword ptr [pOldCTXHandlerSEH]&lt;br /&gt;;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-113274574762782782?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/113274574762782782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=113274574762782782' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113274574762782782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113274574762782782'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2005/11/porting-pbpm-from-9x-to-nt.html' title='Porting PBPM from 9x to NT'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-113105833014483900</id><published>2005-11-03T14:52:00.000-08:00</published><updated>2005-11-03T14:57:56.933-08:00</updated><title type='text'>Just another stupid method of "Anti DLL Injection..."</title><content type='html'>&lt;div align="left"&gt;&lt;strong&gt;The IDEA behind it&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The Problem normally is that you can’t avoid DLL injection into Processes, there’s a way to scan the module list via a few Apis, Module32First/Module32Next, these could easily get hooked and fooling the detection wouldn’t be too hard. To make the cracker’s life a bit harder there’s a non API based method to get the loaded MODULES (*.dll) inside your process.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The PEB aka Process Environment Block&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;PEB means Process Environment Block and is nothing else than a complex structure containing information needed by Windows to handle processes, there’s another structure called TEB (Thread Environment Block) which describes each running Thread (as Windows normally just administrates Threads), but we will concentrate on the PEB structure.&lt;br /&gt;&lt;br /&gt;To get a pointer to the PEB structure all you need to do is grabbing PCR (Processor Control Register) 0x30, or using the TEB first by using PCR (Processor Control Register) 0x18 and then grab struc member +0x30 as it points also to the actual PEB (pPEB).&lt;br /&gt;&lt;br /&gt;Processor Control Register means fs:[x].&lt;br /&gt;&lt;br /&gt;i.e. mov reg,dword ptr fs:[30h] -&gt; reg = pPEB&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;PEB STRUCT ;&lt;br /&gt;dwFlags DWORD ? ;00&lt;br /&gt;Unknown04 DWORD ? ;04 == -1&lt;br /&gt;ImageBaseAddress DWORD ? ;08&lt;br /&gt;PebLdrData DWORD ? ;0C == *PEB_LDR_DATA&lt;br /&gt;ProcessParameters DWORD ? ;10 == *PROCESS_PARAMETERS&lt;br /&gt;SubSystemData DWORD ? ;14 == 0&lt;br /&gt;ProgramHeap DWORD ? ;18&lt;br /&gt;LockingContext DWORD ? ;1C == FastPebLock&lt;br /&gt;LockRoutine DWORD ? ;20 == RtlEnterCriticalSection&lt;br /&gt;UnlockRoutine DWORD ? ;24 == RtlLeaveCriticalSection&lt;br /&gt;DirChange DWORD ? ;28 == 1&lt;br /&gt;Unknown2C DWORD ? ;2C == apfnDispatch&lt;br /&gt;Unknown30 DWORD ? ;30 == 0&lt;br /&gt;Unknown34 DWORD ? ;34 == 0&lt;br /&gt;Unknown38 DWORD ? ;38 == 0&lt;br /&gt;Unknown3C DWORD ? ;3C == 0&lt;br /&gt;Unknown40 DWORD ? ;40 == TlsBitMap&lt;br /&gt;Unknown44 DWORD ? ;44 == 3FH&lt;br /&gt;Unknown48 DWORD ? ;48 == 0&lt;br /&gt;ProgramHeap02 DWORD ? ;4C&lt;br /&gt;ProgramHeap02a DWORD ? ;50&lt;br /&gt;InProgramHeap02 DWORD ? ;54&lt;br /&gt;AnsiCodePage DWORD ? ;58&lt;br /&gt;OemCodePage DWORD ? ;5C&lt;br /&gt;UnicodeCodePage DWORD ? ;60&lt;br /&gt;NumberProcessors DWORD ? ;64&lt;br /&gt;GlobalFlag DWORD ? ;68&lt;br /&gt;Unknown6C DWORD ? ;6C == 0&lt;br /&gt;CritSectTimeout DWORD ? ;70&lt;br /&gt;Unknown74 DWORD ? ;74&lt;br /&gt;HeapSegmentReserve DWORD ? ;78&lt;br /&gt;HeapSegementCommit DWORD ? ;7C&lt;br /&gt;HeapDeCommitTotalFreeTreshold DWORD ? ;80 == 10000H&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;HeapDeCommitFreeBlockTreshold DWORD ? ;84 == 1000H&lt;br /&gt;Unknown88 DWORD ? ;88&lt;br /&gt;Unknown8C DWORD ? ;8C == 386H&lt;br /&gt;Unknown90 DWORD ? ;90 == RtlpProcHeapsListBuffer&lt;br /&gt;Unknown94 DWORD ? ;94&lt;br /&gt;Unknown98 DWORD ? ;98 == 0&lt;br /&gt;Unknown9C DWORD ? ;9C == 14H&lt;br /&gt;UnknownA0 DWORD ? ;A0 == LoaderLock&lt;br /&gt;dwMajorVersion DWORD ? ;A4&lt;br /&gt;dwMinorVersion DWORD ? ;A8&lt;br /&gt;dwBuildNumber WORD ? ;AC&lt;br /&gt;CSDVersion WORD ? ;AE&lt;br /&gt;dwPlatformId DWORD ? ;B0&lt;br /&gt;Subsystem DWORD ? ;B4&lt;br /&gt;MajorSusbsytemVersion DWORD ? ;B8&lt;br /&gt;MinorSusbsytemVersion DWORD ? ;BC&lt;br /&gt;ProcessAffinityMask DWORD ? ;C0&lt;br /&gt;UnknownC4 DWORD 044H DUP (?) ;C4&lt;br /&gt;SessionId DWORD ? ;1D4&lt;br /&gt;Unknown1D8 DWORD ? ;1D8&lt;br /&gt;Unknown1DC DWORD ? ;1DC&lt;br /&gt;Unknown1E0 DWORD ? ;1E0&lt;br /&gt;Unknown1E4 DWORD ? ;1E4&lt;br /&gt;PEB ENDS ;size 1E8H, NT4 size 150H&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Interesting is the following field:&lt;br /&gt;&lt;br /&gt;PebLdrData DWORD ? ;0C == *PEB_LDR_DATA&lt;br /&gt;&lt;br /&gt;This field contains a pointer to another structure called PEB_LDR_DATA, let’s have a look at it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;PEB_LDR_DATA STRUCT ;&lt;br /&gt;cbsize DWORD ? ;00 == 24H&lt;br /&gt;Flags DWORD ? ;04&lt;br /&gt;Unknown8 DWORD ? ;08&lt;br /&gt;InLoadOrderModuleListHead DWORD ? ;0C&lt;br /&gt;PreviousInLoadOrderLdrEntry DWORD ? ;10&lt;br /&gt;InMemoryOrderModuleListHead DWORD ? ;14&lt;br /&gt;PreviousInMemoryOrderLdrEntry DWORD ? ;18&lt;br /&gt;InInitializationOrderModuleListHead DWORD ? ;1C&lt;br /&gt;PreviousInInitializationOrderLdrEntry DWORD ? ;20&lt;br /&gt;PEB_LDR_DATA ENDS ;size 24H&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The PEB_LDR_DATA structure contains a field called InLoadOrderModuleListHead this field is what is needed, it points again to another structure called LDR_ENTRY.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;LDR_ENTRY STRUCT ;&lt;br /&gt;NextInLoadOrderLdrEntry DWORD ? ;00&lt;br /&gt;PreviousInLoadOrderLdrEntry DWORD ? ;04&lt;br /&gt;NextInMemoryOrderLdrEntry DWORD ? ;08&lt;br /&gt;PreviousInMemoryOrderLdrEntry DWORD ? ;0C&lt;br /&gt;NextInInitializationOrderLdrEntry DWORD ? ;10&lt;br /&gt;PreviousInInitializationOrderLdrEntry DWORD ? ;14&lt;br /&gt;ModuleBase DWORD ? ;18&lt;br /&gt;EntryPoint DWORD ? ;1C&lt;br /&gt;ModuleSize DWORD ? ;20&lt;br /&gt;ModuleFileName UNICODE_STRING &lt;&gt; ;24&lt;br /&gt;ModuleBaseName UNICODE_STRING &lt;&gt; ;2C&lt;br /&gt;Flags DWORD ? ;34&lt;br /&gt;LoadCount WORD ? ;38&lt;br /&gt;TlsIndex WORD ? ;3A&lt;br /&gt;LdrpHashTableEntry0 DWORD ? ;3C&lt;br /&gt;LdrpHashTableEntry1 DWORD ? ;40&lt;br /&gt;TimeStamp DWORD ? ;44&lt;br /&gt;LDR_ENTRY ENDS ;size 48H&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And here it is a pointer to the loaded ModuleFileName (ANSI VERSION). The very first Entry in this field points to ourself, means the first module is always our actual *.exe name (GetModuleFileName does the same). Using the field NextInLoadOrderLdrEntry you can walk the list of loaded Modules, it’s getting terminated by pointing to the first entry again.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;;**************************************************************************&lt;br /&gt;; ANTI DLL INJECTION USING PEB&lt;br /&gt;;**************************************************************************&lt;br /&gt;pushad&lt;br /&gt;mov ecx,cs&lt;br /&gt;xor cl,cl&lt;br /&gt;cmp ecx,0&lt;br /&gt;jnz no_9x_for_it_tiger_style&lt;br /&gt;&lt;br /&gt;mov eax,fs:[30h] ;// ALLOC PEB BASE!&lt;br /&gt;or eax,eax&lt;br /&gt;je no_9x_for_it_tiger_Style&lt;br /&gt;mov eax,[eax+0Ch] ;// MOD LIST&lt;br /&gt;or eax,eax&lt;br /&gt;je no_9x_for_it_tiger_Style&lt;br /&gt;mov eax,[eax+PEB_LDR_DATA.InLoadOrderModuleListHead]&lt;br /&gt;mov esi,eax&lt;br /&gt;loop_all_modules:&lt;br /&gt;cmp esi,[eax+PEB_LDR_DATA.NextInLoadOrderLdrEntry]&lt;br /&gt;je no_9x_for_it_tiger_style&lt;br /&gt;mov ecx,[eax+LDR_ENTRY.MODULEFILENAME+4]&lt;br /&gt;;///////////////////////////////////////////////////////////////&lt;br /&gt;;// CHECK MODULE NAME NOW!&lt;br /&gt;;// SINCE WE HAVE TO DEAL WITH ANSI STRINGS GET IT IN A PROPER WAY&lt;br /&gt;;// FIRST&lt;br /&gt;;///////////////////////////////////////////////////////////////&lt;br /&gt;push esi&lt;br /&gt;push ecx&lt;br /&gt;mov esi,ecx&lt;br /&gt;lea edi,dword ptr [ebp+module_name]&lt;br /&gt;call normalize_string&lt;br /&gt;pop ecx&lt;br /&gt;pop esi&lt;br /&gt;&lt;br /&gt;cmp dword ptr [ebp+first_loop],1&lt;br /&gt;jae dont_save_current_directory&lt;br /&gt;mov dword ptr [ebp+first_loop],1&lt;br /&gt;;///////////////////////////////////////////////////////////////&lt;br /&gt;;// SAVE CURRENT DIRECTORY&lt;br /&gt;;///////////////////////////////////////////////////////////////&lt;br /&gt;push ecx&lt;br /&gt;push esi&lt;br /&gt;push eax&lt;br /&gt;lea esi,dword ptr [ebp+module_name]&lt;br /&gt;call strlen_x2&lt;br /&gt;mov ecx,eax&lt;br /&gt;pop eax&lt;br /&gt;pop esi&lt;br /&gt;&lt;br /&gt;push esi&lt;br /&gt;lea esi,dword ptr [ebp+module_name]&lt;br /&gt;add esi,ecx&lt;br /&gt;call getdirectory&lt;br /&gt;pop esi&lt;br /&gt;pop ecx&lt;br /&gt;mov byte ptr [edi+2],0 ;// SET TERMINATOR&lt;br /&gt;&lt;br /&gt;pushad&lt;br /&gt;lea esi,dword ptr [ebp+module_name]&lt;br /&gt;call strlen_x2&lt;br /&gt;mov ecx,eax&lt;br /&gt;inc ecx&lt;br /&gt;lea edi,dword ptr [ebp+current_dir]&lt;br /&gt;repz movsb&lt;br /&gt;popad&lt;br /&gt;&lt;br /&gt;dont_save_current_directory:&lt;br /&gt;;///////////////////////////////////////////////////////////////&lt;br /&gt;;// GET ACTUAL DIRECTORY AND COMPARE BOTH DIRECTORIES!&lt;br /&gt;;///////////////////////////////////////////////////////////////&lt;br /&gt;cmp dword ptr [ebp+first_loop],2&lt;br /&gt;jne set_flag_and_loop&lt;br /&gt;push ecx&lt;br /&gt;push esi&lt;br /&gt;push eax&lt;br /&gt;lea esi,dword ptr [ebp+module_name]&lt;br /&gt;call strlen_x2&lt;br /&gt;mov ecx,eax&lt;br /&gt;pop eax&lt;br /&gt;pop esi&lt;br /&gt;&lt;br /&gt;push esi&lt;br /&gt;lea esi,dword ptr [ebp+module_name]&lt;br /&gt;add esi,ecx&lt;br /&gt;call getdirectory&lt;br /&gt;pop esi&lt;br /&gt;pop ecx&lt;br /&gt;mov byte ptr [edi+2],0 ;// SET TERMINATOR&lt;br /&gt;&lt;br /&gt;pushad&lt;br /&gt;lea esi,dword ptr [ebp+module_name]&lt;br /&gt;call strlen_x2&lt;br /&gt;mov ecx,eax&lt;br /&gt;inc ecx&lt;br /&gt;lea edi,dword ptr [ebp+current_dir]&lt;br /&gt;repz cmpsb&lt;br /&gt;or ecx,ecx&lt;br /&gt;jne fine_puh&lt;br /&gt;;///////////////////////////////////////////////////////////////&lt;br /&gt;;// INJECTED DLL FOUND!&lt;br /&gt;;// PUT YOUR CODE HERE&lt;br /&gt;;///////////////////////////////////////////////////////////////&lt;br /&gt;&lt;br /&gt;fine_puh:&lt;br /&gt;popad&lt;br /&gt;set_flag_and_loop:&lt;br /&gt;mov dword ptr [ebp+first_loop],2&lt;br /&gt;mov eax,[eax+PEB_LDR_DATA.NextInLoadOrderLdrEntry]&lt;br /&gt;jmp loop_all_modules&lt;br /&gt;&lt;br /&gt;strlen_X2:&lt;br /&gt;pushad&lt;br /&gt;xor ecx,ecx&lt;br /&gt;count_next_char2:&lt;br /&gt;lodsb&lt;br /&gt;or al,al&lt;br /&gt;je con_a2&lt;br /&gt;inc ecx&lt;br /&gt;jmp count_next_char2&lt;br /&gt;con_a2: mov dword ptr [esp+1ch],ecx&lt;br /&gt;popad&lt;br /&gt;ret&lt;br /&gt;&lt;br /&gt;getdirectory:&lt;br /&gt;push ecx&lt;br /&gt;push esi&lt;br /&gt;push eax&lt;br /&gt;mov edi,esi&lt;br /&gt;std&lt;br /&gt;mov al,'\'&lt;br /&gt;repnz scasb&lt;br /&gt;cld&lt;br /&gt;pop eax&lt;br /&gt;pop esi&lt;br /&gt;pop ecx&lt;br /&gt;ret&lt;br /&gt;&lt;br /&gt;normalize_string:&lt;br /&gt;pushad&lt;br /&gt;normalize_string2:&lt;br /&gt;lodsb&lt;br /&gt;stosb&lt;br /&gt;inc esi&lt;br /&gt;or al,al&lt;br /&gt;jne normalize_string2&lt;br /&gt;popad&lt;br /&gt;ret&lt;br /&gt;&lt;br /&gt;first_loop dd ?&lt;br /&gt;module_name db 0FFh dup (00h)&lt;br /&gt;current_dir db 0FFh dup (00h)&lt;br /&gt;&lt;br /&gt;no_9x_for_it_tiger_style:&lt;br /&gt;mov ecx,offset no_9x_for_it_tiger_style-offset first_loop&lt;br /&gt;lea edi,dword ptr [ebp+first_loop]&lt;br /&gt;mov al,00&lt;br /&gt;repz stosb&lt;br /&gt;popad&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-113105833014483900?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/113105833014483900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=113105833014483900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113105833014483900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113105833014483900'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2005/11/just-another-stupid-method-of-anti-dll.html' title='Just another stupid method of &quot;Anti DLL Injection...&quot;'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18621353.post-113105684123428250</id><published>2005-11-03T14:26:00.000-08:00</published><updated>2005-11-03T14:45:14.853-08:00</updated><title type='text'>w00t</title><content type='html'>ready for take off!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18621353-113105684123428250?l=ardcore.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ardcore.blogspot.com/feeds/113105684123428250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18621353&amp;postID=113105684123428250' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113105684123428250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18621353/posts/default/113105684123428250'/><link rel='alternate' type='text/html' href='http://ardcore.blogspot.com/2005/11/w00t.html' title='w00t'/><author><name>^DAEMON^</name><uri>http://www.blogger.com/profile/03518974198212649996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
