<?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-30663485</id><updated>2011-08-15T20:11:35.650-07:00</updated><title type='text'>call dwerd ptr [6c756973]</title><subtitle type='html'>This blog is about REversing, security, programming, and other random things.&lt;br&gt;
&lt;b&gt;¡Viva la REvolución!&lt;/b&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dwerd.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dwerd.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>luis</name><uri>http://www.blogger.com/profile/02586316449314882270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://angrypacket.com/~jeru/pirate_ghost.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-30663485.post-713398439595703120</id><published>2008-03-31T23:55:00.000-07:00</published><updated>2008-04-01T00:02:09.328-07:00</updated><title type='text'>Blog is moving</title><content type='html'>I am moving the blog to its new &lt;a href="http://jeru.ringzero.net/"&gt;home&lt;/a&gt;. The move was done primarily to support my new &lt;a target="_blank" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FReverse-Engineering-Code-IDA-Pro%2Fdp%2F159749237X%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1205124017%26sr%3D8-1&amp;amp;tag=ringzero-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325" title="IDA Book"&gt;book&lt;/a&gt;. (yes, my amazon associates account is in the link). Amazon has not updated the author list.&lt;br /&gt;&lt;br /&gt;&lt;img border="0" width="400" src="http://jeru.ringzero.net/images/cover.jpg" alt="book cover" height="360" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30663485-713398439595703120?l=dwerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dwerd.blogspot.com/feeds/713398439595703120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30663485&amp;postID=713398439595703120' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/713398439595703120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/713398439595703120'/><link rel='alternate' type='text/html' href='http://dwerd.blogspot.com/2008/03/blog-is-moving.html' title='Blog is moving'/><author><name>luis</name><uri>http://www.blogger.com/profile/02586316449314882270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://angrypacket.com/~jeru/pirate_ghost.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30663485.post-3904852480940360415</id><published>2007-04-19T04:23:00.000-07:00</published><updated>2007-04-19T04:36:19.383-07:00</updated><title type='text'>Back from the dead and I have scope images with me...</title><content type='html'>&lt;div&gt;These images were taken with an oscilloscope. The bit stream shown uses a simple protocol to send data over RF. The wide image was made by cut/pasting various ones together. I used the parallax USB scope. While the supported bandwidth seems low, it is quite good at the low rate bit streams used in simple RF devices.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5055100198848949186" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="226" alt="" src="http://4.bp.blogspot.com/_Un0PYSRiWRU/RidS2Qhl68I/AAAAAAAAAAU/4g3JDW0Azak/s320/left_large.jpg" width="432" border="0" /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5055100533856398290" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_Un0PYSRiWRU/RidTJwhl69I/AAAAAAAAAAc/lSejB6GaUaY/s320/newpgdown_data.jpg" border="0" /&gt;&lt;br /&gt;&lt;div&gt;The images are part of the talk I'm doing at CansecWest this evening.&lt;br /&gt;&lt;br /&gt;Other Wireless &lt;/div&gt;&lt;div&gt;New Ways to Get Pwned&lt;/div&gt;&lt;div&gt;&lt;br /&gt;The talk doesn't cover 802.11 or Bluetooth. Rather the talk focuses on RF devices such as wireless presenters, mice, and a little about keyboards. The attacks are done in hardware by sniffing and injecting communication between chips.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30663485-3904852480940360415?l=dwerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dwerd.blogspot.com/feeds/3904852480940360415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30663485&amp;postID=3904852480940360415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/3904852480940360415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/3904852480940360415'/><link rel='alternate' type='text/html' href='http://dwerd.blogspot.com/2007/04/back-from-dead-and-i-have-scope-images.html' title='Back from the dead and I have scope images with me...'/><author><name>luis</name><uri>http://www.blogger.com/profile/02586316449314882270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://angrypacket.com/~jeru/pirate_ghost.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Un0PYSRiWRU/RidS2Qhl68I/AAAAAAAAAAU/4g3JDW0Azak/s72-c/left_large.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30663485.post-115378110240027498</id><published>2006-07-24T15:41:00.000-07:00</published><updated>2006-07-24T15:45:02.413-07:00</updated><title type='text'>Moving Along ...</title><content type='html'>I figured out what I was doing wrong in regards to my AbstractValue and stack emulation. My AbstractValue type was trying to do too many things. I removed the internal array storage and it can now only hold one value. Pointers can hold references to an array of AbstractValues. These changes force the creation of buffers outside of the class, which avoids the circular creation problem greatly simplifying the class.&lt;br /&gt;&lt;br /&gt;The ideal time to refactor seems difficult to gauge. Although when you absolutely need to refactor, the code will definitely let you know. Things are moving fast as I am decoding various opcodes. Btw, this &lt;a href="http://sandpile.org/"&gt;site&lt;/a&gt;  has the best x86 opcode reference. &lt;br /&gt;&lt;br /&gt;I will soon put up the promised pdb internals as well as some ideas I'm working on regarding C++ RE.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30663485-115378110240027498?l=dwerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dwerd.blogspot.com/feeds/115378110240027498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30663485&amp;postID=115378110240027498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/115378110240027498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/115378110240027498'/><link rel='alternate' type='text/html' href='http://dwerd.blogspot.com/2006/07/moving-along.html' title='Moving Along ...'/><author><name>luis</name><uri>http://www.blogger.com/profile/02586316449314882270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://angrypacket.com/~jeru/pirate_ghost.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30663485.post-115351156723303812</id><published>2006-07-21T12:49:00.000-07:00</published><updated>2006-07-21T12:52:47.250-07:00</updated><title type='text'></title><content type='html'>I've been working on the static analysis code for &lt;a href="http://www.blackhat.com/html/bh-usa-06/train-bh-us-06-mh.html"&gt;BlackHat&lt;/a&gt; using TDD and C#. I started emulating the stack as part of a customer test that related to tracking tainted values. The customer test involves dereferencing argv, which is user supplied and tainted. &lt;br /&gt;&lt;br /&gt;I have been using a type AbstractValue consisting of a Byte[] for storage. Now I need to also hold a taint property (Boolean) for each cell in the buffer representing argv. I changed the storage to an array of AbstractValues. It compiled, but trying to run it killed sharpdevelop and nuint-gui. It turned out to be a stack overflow caused by recursion in the constructor.&lt;br /&gt;&lt;br /&gt;I have the feeling I'm doing too much with this type, storing values, pointer representation, and buffer emulation.&lt;br /&gt;&lt;br /&gt;Subclasses seems like the next step, but then several places in the code would have to check to see what type something is before dealing with it. Matt would probably know what to do, but he can't give me any concrete direction. &lt;br /&gt;&lt;br /&gt;I'll call him later and make another post about his thoughts and the solution (if I come up with one).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30663485-115351156723303812?l=dwerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dwerd.blogspot.com/feeds/115351156723303812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30663485&amp;postID=115351156723303812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/115351156723303812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/115351156723303812'/><link rel='alternate' type='text/html' href='http://dwerd.blogspot.com/2006/07/ive-been-working-on-static-analysis.html' title=''/><author><name>luis</name><uri>http://www.blogger.com/profile/02586316449314882270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://angrypacket.com/~jeru/pirate_ghost.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30663485.post-115318976970868871</id><published>2006-07-17T19:10:00.000-07:00</published><updated>2006-07-17T19:30:53.476-07:00</updated><title type='text'>TDD and me</title><content type='html'>I have been learning TDD using the resources here: &lt;a href="http://wiki.yak.net/712"&gt;[1]&lt;/a&gt;&lt;a href="http://wiki.yak.net/713"&gt;[2]&lt;/a&gt;&lt;a href="http://wiki.yak.net/724"&gt;[3]&lt;/a&gt; Why am I learning TDD?&lt;br /&gt;&lt;br /&gt;I have always heard that TDD is really slow and requires you to do obvious tests for the sake of testing.&lt;br /&gt;&lt;br /&gt;I wanted to try it out and see what it is like. Was it slow?&lt;br /&gt;Yes at first, omg was it slow! To be honest, part of this may be related to my inexperience in C#. Eventually I got much faster at coding with less mistakes, which is the goal of any new programming method.&lt;br /&gt;&lt;br /&gt;Nothing is for free. There is definitely a period of time when TDD is slower. It can be similar to learning any new method or technique.&lt;br /&gt;&lt;br /&gt;There have always been detractors to new methods.&lt;br /&gt;&lt;br /&gt;"Assembly is for true coders. C is for suckas"&lt;br /&gt;&lt;br /&gt;"C++ and OOP are useless"&lt;br /&gt;&lt;br /&gt;"Managed code is too slow for real programs"&lt;br /&gt;&lt;br /&gt;etc...&lt;br /&gt;&lt;br /&gt;The truth lies between detractors and proponents.&lt;br /&gt;&lt;br /&gt;Back to the slowness. I thought it was slow at first until I noticed that I wasn't debugging anything. I was running code and tests but hadn't started a debugger at all -- everything basically just works.&lt;br /&gt;&lt;br /&gt;I have no aversion to debuggers and assembly. Even when looking at someone else's software that has src, I usually open it in IDA first.&lt;br /&gt;&lt;br /&gt;I've spent many a time in a debugging session only to find out that like Michael Bolton from Office Space,  “I always mess up some mundane detail!”&lt;br /&gt;&lt;br /&gt;I am not under the illusion that TDD will get rid of all mistakes.&lt;br /&gt;&lt;br /&gt;So far I like:&lt;br /&gt;- testing each module of an app independently&lt;br /&gt;- customer tests specify functionality allowing clean room implementations&lt;br /&gt;- confidence from knowing sections of the code are fully tested&lt;br /&gt;&lt;br /&gt;Not sold on yet:&lt;br /&gt;- the design as you go concept&lt;br /&gt;- the "simple" tests&lt;br /&gt;&lt;br /&gt;I'll see how it goes as I move into more complicated code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30663485-115318976970868871?l=dwerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dwerd.blogspot.com/feeds/115318976970868871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30663485&amp;postID=115318976970868871' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/115318976970868871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/115318976970868871'/><link rel='alternate' type='text/html' href='http://dwerd.blogspot.com/2006/07/tdd-and-me.html' title='TDD and me'/><author><name>luis</name><uri>http://www.blogger.com/profile/02586316449314882270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://angrypacket.com/~jeru/pirate_ghost.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30663485.post-115261389747843727</id><published>2006-07-11T03:15:00.000-07:00</published><updated>2006-07-11T03:34:08.450-07:00</updated><title type='text'></title><content type='html'>This is going to be a busy summer. I am helping my friend &lt;a href="http://www.clock.org/~matt/"&gt;Matt&lt;/a&gt; with some &lt;a href="http://www.blackhat.com/html/bh-usa-06/train-bh-us-06-mh.html"&gt;training&lt;/a&gt; at BlackHat. The training covers binary static analysis concepts and implementation. Matt can't write any implementation code for various reasons, but he is driving the development with slides from the class and test binaries.  I will be writing all the code for the class. I'm using it as an opportunity to learn C# and test driven development. &lt;a href="http://wiki.yak.net/535"&gt;Matt's&lt;/a&gt; blog has some preparatory material for the class, which I used to learn the basics of C# and TDD. I will be adding some material here as well.&lt;br /&gt;&lt;br /&gt;I am also speaking at defcon. The first &lt;a href="http://www.defcon.org/html/defcon-14/dc-14-speakers.html#Miras"&gt;talk&lt;/a&gt; is entitled: Bridging the Gap between Static and Dynamic Reversing. The talk will cover ways to use static disassembly and runtime debugging together to yield better results. In order to make this easier, I'll be releasing a couple of IDA Pro plugins.&lt;br /&gt;&lt;br /&gt;pdbgen - This plugin takes symbolic information from IDA and generates custom pdb files. Microsoft does not document the internal format of pdb files. I will be publishing some internal details here as I discover them.&lt;br /&gt;&lt;br /&gt;REdress - This plugin will reinsert debug information into ELF files. The name comes from &lt;a href="http://lcamtuf.coredump.cx/fenris/"&gt;fenris&lt;/a&gt; written by Michal Zalewski. In fenris he included a program called dress(opposite of strip) to reinsert library information into files using detection methods similar to FLIRT.&lt;br /&gt;&lt;br /&gt;For the other two talks, I will also be working with Matt. The &lt;a href="http://www.defcon.org/html/defcon-14/dc-14-speakers.html#Hargett"&gt;first&lt;/a&gt; one is a very condensed version of the training. The &lt;a href="http://www.defcon.org/html/defcon-14/dc-14-speakers.html#Hargett2"&gt;second&lt;/a&gt; talk is on pair programming and tdd. For people that want to participate in pair programming sessions on the code should attend both talks and take a look at some of the preparatory material &lt;a href="http://wiki.yak.net/712"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;See ya in Vegas!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30663485-115261389747843727?l=dwerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dwerd.blogspot.com/feeds/115261389747843727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30663485&amp;postID=115261389747843727' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/115261389747843727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/115261389747843727'/><link rel='alternate' type='text/html' href='http://dwerd.blogspot.com/2006/07/this-is-going-to-be-busy-summer.html' title=''/><author><name>luis</name><uri>http://www.blogger.com/profile/02586316449314882270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://angrypacket.com/~jeru/pirate_ghost.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30663485.post-115261289450549525</id><published>2006-07-11T02:57:00.000-07:00</published><updated>2006-07-11T03:14:54.513-07:00</updated><title type='text'></title><content type='html'>&lt;a href="http://recon.cx/"&gt;recon&lt;/a&gt; was great: good talks and good people. If you haven't attended, you should definitely go next year. The presentations are up on their &lt;a href="http://recon.cx/en/f/"&gt;site&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I &lt;a href="http://recon.cx/en/s/lmiras.html"&gt;talked&lt;/a&gt; about patching bugs, security or otherwise, in binaries. I used my phone's buggy camera software as an example.&lt;br /&gt;&lt;br /&gt;The AKU 2.2 update for my WM5 phone was recently released. Included in the update is a new version of camera.exe. HTC fixed the corrupt Exif header bug.&lt;br /&gt;&lt;br /&gt;I still patch the binary to avoid the inclusion of the owner name in the Exif header.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30663485-115261289450549525?l=dwerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dwerd.blogspot.com/feeds/115261289450549525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30663485&amp;postID=115261289450549525' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/115261289450549525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/115261289450549525'/><link rel='alternate' type='text/html' href='http://dwerd.blogspot.com/2006/07/recon-was-great-good-talks-and-good.html' title=''/><author><name>luis</name><uri>http://www.blogger.com/profile/02586316449314882270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://angrypacket.com/~jeru/pirate_ghost.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30663485.post-115207789927715830</id><published>2006-07-04T22:36:00.000-07:00</published><updated>2006-07-05T18:46:52.666-07:00</updated><title type='text'></title><content type='html'>¡Viva la REvolución!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30663485-115207789927715830?l=dwerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dwerd.blogspot.com/feeds/115207789927715830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30663485&amp;postID=115207789927715830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/115207789927715830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30663485/posts/default/115207789927715830'/><link rel='alternate' type='text/html' href='http://dwerd.blogspot.com/2006/07/viva-la-revolucin.html' title=''/><author><name>luis</name><uri>http://www.blogger.com/profile/02586316449314882270</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://angrypacket.com/~jeru/pirate_ghost.jpg'/></author><thr:total>0</thr:total></entry></feed>
