<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>a4apphack &#187; Tutorials</title>
	<atom:link href="http://a4apphack.com/index.php/category/tips-tricks/tutorials/feed" rel="self" type="application/rss+xml" />
	<link>http://a4apphack.com</link>
	<description>Get more out of the Apps!</description>
	<lastBuildDate>Wed, 11 Jan 2012 20:25:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<image>
<link>http://a4apphack.com</link>
<url>http://a4apphack.com/blog/wp-content/themes/primus/favicon.ico</url>
<title>a4apphack</title>
</image>
		<item>
		<title>Manage, Track And Collaborate Your Projects Online with ClockingIt</title>
		<link>http://a4apphack.com/featured/manage-track-collaborate-your-projects-online-with-clockingit</link>
		<comments>http://a4apphack.com/featured/manage-track-collaborate-your-projects-online-with-clockingit#comments</comments>
		<pubDate>Tue, 17 Mar 2009 09:57:14 +0000</pubDate>
		<dc:creator>rajivvishwa</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Online]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[collaborate]]></category>
		<category><![CDATA[feeds]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[manage]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[sync]]></category>

		<guid isPermaLink="false">http://a4apphack.com/blog/?p=938</guid>
		<description><![CDATA[Project management is not a easy job which can be accomplished just with paper and a pencil. What we need is an app which helps you to track the issues, display timelines, collaboration and easier access to required information. Any Project Management app will be utilized by all the team members and maximum productivity is [...]]]></description>
			<content:encoded><![CDATA[<p>Project management is not a easy job which can be accomplished just with paper and a pencil. What we need is an app which helps you to track the issues, display timelines, collaboration and easier access to required information. Any Project Management app will be utilized by all the team members and maximum productivity is ensured only if that app guarantees collaboration. This leaves us with the only option, an online project management tool.</p>
<div class="wp-caption alignnone" style="width: 610px"><a title="ClockingIt Screenshot" href="http://img.a4apphack.com/clockingit-main.png" rel="lightbox[938]"><img title="ClockingIt Screenshot" src="http://img.a4apphack.com/clockingit-main.png" alt="ClockingIt Screenshot" width="600" height="381" /></a><p class="wp-caption-text">ClockingIt Screenshot</p></div>
<p><a title="ClockingIt" href="http://www.clockingit.com">ClockingIt</a> is a web based app which allows users to manage their project online. It has all the features needed for getting things done and to smoothly run the project. Apart from the &#8216;must have&#8217; features like issue tracking and charts, this app features email notification, forums, chat etc which helps the users to communicate and share the info at a centralized location.</p>
<p><span id="more-938"></span></p>
<h3>Video</h3>
<p><object type="application/x-shockwave-flash" style="width:600px;height:450px" data="http://www.vimeo.com/moogaloop.swf?clip_id=1331210&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="quality" value="best" /><param name="wmode" value="transparent" /><param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1331210&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0" /><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer" />If you can see this, then you might need a Flash Player upgrade or you need to install Flash Player if it's missing. Get <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash Player</a> from Adobe.</object><br/>
		<!-- Valid XHTML flash object delivered by XHTML Video Embed. Get it at: http://saltwaterc.net/xhtml-video-embed -->
		</p>
<h3>ClockingIt Walkthrough</h3>
<h4>Tracking</h4>
<p>Issue tracking is very easy with ClockingIt and can be done with few steps.</p>
<ol>
<li>Add new Client</li>
<li>Create a New Project to the Client added (Step1)</li>
<li>Add users to the project</li>
<li>Click on New Task from the Menu
<div class="wp-caption alignnone" style="width: 560px"><a title="NewTask Page" href="http://img.a4apphack.com/clockingit-newtask.jpg" rel="lightbox[938]"><img title="NewTask Page" src="http://img.a4apphack.com/clockingit-newtask.jpg" alt="NewTask Page" width="550" height="356" /></a><p class="wp-caption-text">NewTask Page (Screenshot from my previous site)</p></div>
</li>
<li>Submit the task details, priority, type and attach files, if any</li>
<li>Create Milestones from &#8216;Target section in newtask option</li>
<li>Assign the new task (Step 5) to appropriate milestone (step 6).</li>
</ol>
<h4>Dashboard</h4>
<p><span style="white-space:pre"> </span>Click on overview button (acts like a dashboard)</p>
<ul>
<li>Drag the widgets to organize and arrange as needed</li>
<li>Create new widget by specifying the type of it</li>
<li>We can easily mark the tasks complete directly and the graphs will be updated instanly</li>
</ul>
<h4>Charting &amp; Reporting</h4>
<p>Click on GANTT chart from Schedule Menu. This chart extracts the data from the &#8216;Time Estimate&#8217; option present in the &#8216;New Tasks&#8217; page. Any change in the time duration for the particular task is immediately reflected on the GANTT chart.</p>
<p><a title="Gantt-chart" href="http://img.a4apphack.com/clockingit-ganttchart.png" rel="lightbox[938]"><img class="alignnone" title="Gantt-chart" src="http://img.a4apphack.com/clockingit-ganttchart.png" alt="Gantt-chart" width="600" height="390" /></a></p>
<p>Click on the report tab to run reports of various type like Pivot, Workload, Timesheet and Audit.</p>
<h3>Features</h3>
<ul>
<li> Task filters</li>
<li> Milestones</li>
<li> Timeline &amp; Time tracking</li>
<li> Calendar</li>
<li> Graphs &amp; GANTT charts (Ajax based)</li>
<li> Drag &amp; Drop organizing</li>
<li> Notes &amp; Comments</li>
<li> Reports</li>
<li> CSV Export</li>
<li> Group chat / transcripts</li>
<li> Instant messaging</li>
<li> Email alerts</li>
<li> RSS &amp; iCal feeds</li>
<li> File storage (for screenshots)</li>
<li> Private Forum &amp; Wiki for collaboration</li>
</ul>
<p>Go to <a href="http://www.clockingit.com"><img class="alignnone size-full wp-image-953" style="vertical-align: middle;" title="Clockingit Logo" src="http://img.a4apphack.com/clockingit-logo.jpg" alt="Clockingit Logo" width="150" height="48" /></a></p>
<img src="http://a4apphack.com/blog/?ak_action=api_record_view&id=938&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://a4apphack.com/featured/manage-track-collaborate-your-projects-online-with-clockingit/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Realistic Screen Capture Effect With Gimp In 10 Steps</title>
		<link>http://a4apphack.com/featured/realistic-screen-capture-effect-with-gimp</link>
		<comments>http://a4apphack.com/featured/realistic-screen-capture-effect-with-gimp#comments</comments>
		<pubDate>Wed, 18 Feb 2009 16:14:20 +0000</pubDate>
		<dc:creator>rajivvishwa</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[gimp]]></category>
		<category><![CDATA[imageEditing]]></category>

		<guid isPermaLink="false">http://a4apphack.com/blog/?p=586</guid>
		<description><![CDATA[Gimp is an amazing photo editor with loads of features which can be explored to create stunning effects. This tutorial helps in creating realistic &#8216;screen shot&#8217;, with a digital camera like effect, with Gimp. The images created with this technique can be used in blog posts and other articles which will definitely attract the readers. [...]]]></description>
			<content:encoded><![CDATA[<p>Gimp is an amazing photo editor with loads of features which can be explored to create stunning effects. This tutorial helps in creating realistic &#8216;screen shot&#8217;, with a digital camera like effect, with <a title="Gimp Home" href="http://www.gimp.org/">Gimp</a>. The images created with this technique can be used in blog posts and other articles which will definitely attract the readers.</p>
<p><em><span style="color: #800000;"><strong>Note:</strong> </span>This post is moved from my site previous site http://31nst31n-in-me.com (<strong>decommissioned now</strong>) hence the screenshots are also taken from that site. </em></p>
<h3>From this&#8230;</h3>
<p><a title="Initial image" href="http://img.a4apphack.com/gimpphoto-00-initialimage.jpg" rel="lightbox[586]"><img title="Initial image" src="http://img.a4apphack.com/gimpphoto-00-initialimage.jpg" alt="Initial image" width="335" height="246" /></a></p>
<h3>To this&#8230;</h3>
<p><a title="Final Screen Capture" href="http://img.a4apphack.com/gimpphoto-10-finalscreencapture.jpg" rel="lightbox[586]"><img title="Final Screen Capture" src="http://img.a4apphack.com/gimpphoto-10-finalscreencapture.jpg" alt="Final Screen Capture" width="335" height="232" /></a></p>
<p><br class="spacer_" /></p>
<h2><span id="more-586"></span></h2>
<h2>Step 1 &#8211; PrintScreen</h2>
<p>Capture the required screen. We will be cropping this image at the later steps, so make sure that the region captured is more than what is required.</p>
<div class="wp-caption alignnone" style="width: 610px"><a title="1. Screen Capture" href="http://img.a4apphack.com/gimpphoto-00-initialimage.jpg" rel="lightbox[586]"><img class="" title="Initial image" src="http://img.a4apphack.com/gimpphoto-00-initialimage.jpg" alt="Initial image" width="600" height="440" /></a><p class="wp-caption-text">1. Screen Capture</p></div>
<p><br class="spacer_" /></p>
<h2>Step 2 &#8211; Arrange the layers</h2>
<p>Open this image in Gimp and duplicate the background layer clicking the &#8216;Duplicate Layer&#8217; at the bottom of the Layers window. Also create a &#8216;New Layer&#8217; and select &#8216;White&#8217; in the &#8216;Layer Fill Type&#8217; options. Order and rearrange the layers as shown below.</p>
<div class="wp-caption alignnone" style="width: 241px"><a title="2. Arrange Layers" href="http://img.a4apphack.com/gimpphoto-01-layers.jpg" rel="lightbox[586]"><img class="" title="Arrange Layers" src="http://img.a4apphack.com/gimpphoto-01-layers.jpg" alt="Arrange Layers" width="231" height="324" /></a><p class="wp-caption-text">2. Arrange Layers</p></div>
<p><br class="spacer_" /></p>
<h2>Step 3 &#8211; Apply Video Filter</h2>
<p>Select the top layer and apply the &#8216;Video&#8217; effect from [Filters - Distorts - Video]. Select &#8216;Striped&#8217; in the Video pattern.</p>
<div class="wp-caption alignnone" style="width: 473px"><a title="3. Apply Video Filter" href="http://img.a4apphack.com/gimpphoto-02-video.jpg" rel="lightbox[586]"><img class="" title="Video Filter" src="http://img.a4apphack.com/gimpphoto-02-video.jpg" alt="Video Filter" width="463" height="326" /></a><p class="wp-caption-text">3. Apply Video Filter</p></div>
<p><br class="spacer_" /></p>
<h2>Step 4 &#8211; Change the Perspective</h2>
<p>The actual story begins here&#8230; Use the &#8216;Perspective Tool&#8217; (Shift+P) change top layer to a 3D like image. Click the transform button once you are satisfied with the perspective.</p>
<div id="attachment_614" class="wp-caption alignnone" style="width: 610px"><a title="4. Change Perspective" href="http://img.a4apphack.com/gimpphoto-03-perspective.jpg" rel="lightbox[586]"><img class="" title="Change Perspective" src="http://img.a4apphack.com/gimpphoto-03-perspective.jpg" alt="Change Perspective" width="600" height="508" /></a><p class="wp-caption-text">4. Change Perspective</p></div>
<p><br class="spacer_" /></p>
<h2>Step 5 &#8211; Crop the Image</h2>
<p>We can notice the background white layer visible beneath the top layer. No crop the image so that most of the white layer portion is removed.</p>
<div class="wp-caption alignnone" style="width: 610px"><a title="5. Crop Image" href="http://img.a4apphack.com/gimpphoto-04-cropimage.jpg" rel="lightbox[586]"><img class="" title="Crop image" src="http://img.a4apphack.com/gimpphoto-04-cropimage.jpg" alt="Crop image" width="600" height="393" /></a><p class="wp-caption-text">5. Crop Image</p></div>
<p><br class="spacer_" /></p>
<h2>Step 6 &#8211; Duplicate Layer</h2>
<p>We wont be concerned about the top layer in the subsequent steps. Duplicate the top layer and lets us apply some effects on the new top layer.</p>
<div class="wp-caption alignnone" style="width: 610px"><a title="6. Duplicate Layer" href="http://img.a4apphack.com/gimpphoto-05-duplicatelayer.jpg" rel="lightbox[586]"><img class="" title="Duplicate Layer" src="http://img.a4apphack.com/gimpphoto-05-duplicatelayer.jpg" alt="Duplicate Layer" width="600" height="368" /></a><p class="wp-caption-text">6. Duplicate Layer</p></div>
<p><br class="spacer_" /></p>
<h2>Step 7 &#8211; Blur Layer</h2>
<p>Apply &#8216;Gaussian Blur&#8217; from [Filters - Blur- Gaussian] menu and set the blur radius as shown below.</p>
<div class="wp-caption alignnone" style="width: 571px"><a title="7. Blur Layer" href="http://img.a4apphack.com/gimpphoto-06-blurlayer.jpg" rel="lightbox[586]"><img class="" title="Blur Layer" src="http://img.a4apphack.com/gimpphoto-06-blurlayer.jpg" alt="Blur Layer" width="561" height="606" /></a><p class="wp-caption-text">7. Blur Layer</p></div>
<p><br class="spacer_" /></p>
<h2>Step 8 &#8211; Layer Mask</h2>
<p>Add a Layer Mask on the top layer and select &#8216;White (full opacity&#8217; option as shown below.</p>
<div class="wp-caption alignnone" style="width: 610px"><a title="8. Add Layer Mask" href="http://img.a4apphack.com/gimpphoto-07-layermask.jpg" rel="lightbox[586]"><img title="Add Layer Mask" src="http://img.a4apphack.com/gimpphoto-07-layermask.jpg" alt="Add Layer Mask" width="600" height="434" /></a><p class="wp-caption-text">8. Add Layer Mask</p></div>
<p><br class="spacer_" /></p>
<h2>Step 9 &#8211; Gradient Opacity</h2>
<p>Select the White Layer Mask found next to the top layer in the Layers window and click the &#8216;Blend Tool&#8217;.Â  Select gradient FG to BG and make sure you have selected the foreground and background colors as white and black. Click and drag your mouse from the bottom left corner to the center of the image as shown.</p>
<div class="wp-caption alignnone" style="width: 610px"><a title="9. Gradient Blend" href="http://img.a4apphack.com/gimpphoto-08-gradientblend.jpg" rel="lightbox[586]"><img class="" title="Gradient Blend" src="http://img.a4apphack.com/gimpphoto-08-gradientblend.jpg" alt="Gradient Blend" width="600" height="376" /></a><p class="wp-caption-text">9. Gradient Blend</p></div>
<p><br class="spacer_" /></p>
<h2>Step 10 &#8211; Blend Overlay</h2>
<p>We are almost done. To make the image look more realistic we have to apply gradient again but on a new layer. Change the opacity of the top layer to about 20%. This will create an &#8216;shade&#8217; found while clicking pic of the LCD display.</p>
<div class="wp-caption alignnone" style="width: 610px"><a title="10. Gradient Overlay" href="http://img.a4apphack.com/gimpphoto-09-gradientoverlay.jpg" rel="lightbox[586]"><img class="" title="Gradient Overlay" src="http://img.a4apphack.com/gimpphoto-09-gradientoverlay.jpg" alt="Gradient Overlay" width="600" height="318" /></a><p class="wp-caption-text">10. Gradient Overlay</p></div>
<p><br class="spacer_" /></p>
<p>Practice with different variations and try adding detail to make more realistic.</p>
<p><strong>And here is the final image&#8230;</strong></p>
<div class="wp-caption alignnone" style="width: 610px"><a title="The Final Screen Capture" href="http://img.a4apphack.com/gimpphoto-10-finalscreencapture.jpg" rel="lightbox[586]"><img title="Final Screen Capture" src="http://img.a4apphack.com/gimpphoto-10-finalscreencapture.jpg" alt="Final Screen Capture" width="600" height="416" /></a><p class="wp-caption-text">The Final Screen Capture</p></div>
<p><br class="spacer_" /></p>
<p><strong>Download Gimp :</strong> <a target="_blank" href="www.gimp.org/downloads"><img style="vertical-align: middle;" height="30" width="30" alt="Download" src="http://img.a4apphack.com/site/a4apphack-download.png" title="Download"/></a><cite></cite></p>
<img src="http://a4apphack.com/blog/?ak_action=api_record_view&id=586&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://a4apphack.com/featured/realistic-screen-capture-effect-with-gimp/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Patching Security Holes With OllyDbg (Part 3/3)</title>
		<link>http://a4apphack.com/security/patching-security-holes-with-ollydbg-part-3</link>
		<comments>http://a4apphack.com/security/patching-security-holes-with-ollydbg-part-3#comments</comments>
		<pubDate>Mon, 09 Feb 2009 21:20:21 +0000</pubDate>
		<dc:creator>rajivvishwa</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[Portable]]></category>

		<guid isPermaLink="false">http://a4apphack.com/index.php/?p=1467</guid>
		<description><![CDATA[Tutorial 3 &#8211; Deriving the logic of the generated key to create Keygens Enter any test string to get the error message. Search for the referenced text strings and locate the message displayed in the error box. After analyzing the text references we find that there are no hardcoded keys or presence of any fragments [...]]]></description>
			<content:encoded><![CDATA[<h3>Tutorial 3 &#8211; Deriving the logic of the generated key to create Keygens</h3>
<p>Enter any test string to get the error message.</p>
<p><a title="CrackMe Screenshot" href="http://img.a4apphack.com/ollydbg-3-crackmescreen.png" rel="lightbox[1467]"><img class="alignnone size-full wp-image-473" title="CrackMe Screenshot" src="http://img.a4apphack.com/ollydbg-3-crackmescreen.png" alt="3_crackme_ss" width="250" height="173" /></a></p>
<p>Search for the referenced text strings and locate the message displayed in the error box. After analyzing the text references we find that there are no hardcoded keys or presence of any fragments of keys.</p>
<p><a title="Referenced strings" href="http://img.a4apphack.com/ollydbg-3-searchreferencestring.png" rel="lightbox[1467]"><img class="alignnone size-full wp-image-474" title="Referenced strings" src="http://img.a4apphack.com/ollydbg-3-searchreferencestring.png" alt="3_searchreferencestring" width="607" height="134" /></a></p>
<p>We have Double click to open the CPU window and set breakpoint by pressing &#8216;F2&#8242;</p>
<p><a title="Set breakpoint" href="http://img.a4apphack.com/ollydbg-3-setbreakpoint.png" rel="lightbox[1467]"><img class="alignnone size-full wp-image-476" title="Set breakpoint" src="http://img.a4apphack.com/ollydbg-3-setbreakpoint.png" alt="3_setbreakpoint" width="507" height="83" /></a></p>
<p>Check whether there are any new strings generated at the CPU window (and trust me you wont find any <img src='http://a4apphack.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  ). Now check the memory stack and scroll to the instruction where the userid we have entered is displayed. If you scroll a bit down you can find a &#8216;Key Like&#8217; string below the userid string. Try to enter that in the key field, it should work.</p>
<p><a title="Find the serial from the stack window" href="http://img.a4apphack.com/ollydbg-3-serialfound.png" rel="lightbox[1467]"><img class="alignnone size-full wp-image-475" title="Find the serial from the stack window" src="http://img.a4apphack.com/ollydbg-3-serialfound.png" alt="3_serialfound" width="241" height="167" /></a></p>
<p>There is no point in finding out the key without understanding the logic behind the generation of the key. Once if we find the logic, we can reverse engineer and create a distributable keygens.</p>
<p>We can segregate the userid and corresponding key values as follows</p>
<p>t &#8211; D8<br />
 e &#8211; C9<br />
 s &#8211; D7<br />
 t &#8211; D8<br />
 e &#8211; None<br />
 r &#8211; None</p>
<p>Now open &#8216;calc&#8217; in scientific mode &#8211; Select Hex mode &#8211; Type D8</p>
<p><a title="Hex value in calc" href="http://img.a4apphack.com/ollydbg-3-valuehex.png" rel="lightbox[1467]"><img class="size-full wp-image-479 alignnone" title="Hex value in calc" src="http://img.a4apphack.com/ollydbg-3-valuehex.png" alt="3_valuehex" width="400" height="157" /></a></p>
<p>Select Dec mode to convert HEX value to Decimal.</p>
<p><a title="Decimal equivalent in calc" href="http://img.a4apphack.com/ollydbg-3-valuedec.png" rel="lightbox[1467]"><img class="size-full wp-image-478 alignnone" title="Decimal equivalent in calc" src="http://img.a4apphack.com/ollydbg-3-valuedec.png" alt="3_valuedec" width="249" height="191" /></a></p>
<p>Note down the corresponding Decimal value for each HEX equivalent.</p>
<p>Now open any <a title="Ascii Chart" href="http://www.asciichart.com/">asciichart</a> and note down the ascii value for the userid chars.</p>
<p><a href="http://www.asciichart.com"><img class="size-full wp-image-477 alignnone" title="ASCII Chart" src="http://img.a4apphack.com/ollydbg-3-testascii.png" alt="3_testascii" width="259" height="194" /></a></p>
<p>We can notice a difference of 100 between the converted HEX value and ascii value of the userid.</p>
<p>So we can derive the logic to create our own Keygen</p>
<h4>Logic Sequence</h4>
<ol>
<li>Take the 4 four characters of the username</li>
<li>Convert chars to corresponding decimal value</li>
<li>Add 100 to the decimal value obtained in step 2</li>
<li>Covert this to HEX and the Key is obtained!</li>
</ol>
<p><strong>CrackMe App Download</strong> : <a target="_blank" href="http://www.box.net/shared/iutzenxmn1"><img style="vertical-align: middle;" height="30" width="30" alt="Download" src="http://img.a4apphack.com/site/a4apphack-download.png" title="Download"/></a> Alt: <a target="_blank" href="http://dl.getdropbox.com/u/259868/Tutorial3.zip"><img style="vertical-align: middle;" height="30" width="30" alt="Download" src="http://img.a4apphack.com/site/a4apphack-download.png" title="Download"/></a></p>
<p><strong>Video</strong><br />
 <object type="application/x-shockwave-flash" style="width:600px;height:385px" data="http://www.youtube.com/v/jvzYB9t52io&amp;hl=en&amp;fs=1"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="quality" value="best" /><param name="wmode" value="transparent" /><param name="movie" value="http://www.youtube.com/v/jvzYB9t52io&amp;hl=en&amp;fs=1" /><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer" />If you can see this, then you might need a Flash Player upgrade or you need to install Flash Player if it's missing. Get <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash Player</a> from Adobe.</object><br/>
		<!-- Valid XHTML flash object delivered by XHTML Video Embed. Get it at: http://saltwaterc.net/xhtml-video-embed -->
		</p>
<p><strong>Conclusion: </strong>Always use a multilevel, complex logic to derive your own key. Always advised to use any standard encryption algorithm to generate the key used for comparison.</p>
<p><strong>Note:</strong> <em>The apps used in the tutorials are downloaded from the <a title="DeathSpawn Ollydbg tutorials" href="http://www.geocities.com/imdeathspawn/" class="broken_link">DeathSpawn Website</a> (Not working anymore <img src='http://a4apphack.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  ) and detailed &#8216;How-to&#8217; is can be read from the text file which is present along with the app package.</em></p>
<h3>References</h3>
<ul>
<li>OllyDbg Homepage &#8211; <a href="http://www.ollydbg.de/">http://www.ollydbg.de/</a></li>
<li>Death Spawn OllyDdg Tutorials &#8211; <a title="Death Spawn OllyDbg Tutorials" href="http://www.geocities.com/imdeathspawn/" class="broken_link">http://www.geocities.com/imdeathspawn/</a> (Doesn&#8217;t seem to work now)</li>
<li>ASCII Chart &#8211; <a title="ASCII Chart" href="http://www.asciichart.com/">http://www.asciichart.com/</a></li>
<li>UPX packing utility &#8211; <a title="UPX packer" href="http://upx.sourceforge.net/">http://upx.sourceforge.net/</a></li>
</ul>
<img src="http://a4apphack.com/blog/?ak_action=api_record_view&id=1467&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://a4apphack.com/security/patching-security-holes-with-ollydbg-part-3/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<series:name><![CDATA[OllyDbg]]></series:name>
	</item>
		<item>
		<title>Patching Security Holes With OllyDbg (Part 2/3)</title>
		<link>http://a4apphack.com/security/patching-security-holes-with-ollydbg-part-2</link>
		<comments>http://a4apphack.com/security/patching-security-holes-with-ollydbg-part-2#comments</comments>
		<pubDate>Mon, 09 Feb 2009 21:00:08 +0000</pubDate>
		<dc:creator>rajivvishwa</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[Portable]]></category>
		<category><![CDATA[videos]]></category>

		<guid isPermaLink="false">http://a4apphack.com/index.php/?p=1464</guid>
		<description><![CDATA[Tutorial 2 &#8211; Finding generated key at runtime Enter any test data and observe the error message displayed. Search for referenced text strings as mentioned in Tutorial-1. Scroll to the location shown below. Notice the 2 &#8216;Key like&#8217; strings in the text strings referenced. If you think that one of them is valid, then you [...]]]></description>
			<content:encoded><![CDATA[<h3>Tutorial 2 &#8211; Finding generated key at runtime</h3>
<p>Enter any test data and observe the error message displayed.<br />
 <a title="Incorrect String Entered" href="http://img.a4apphack.com/ollydbg-2-incorrectstringentered.png" rel="lightbox[1464]"><img class="alignnone size-full wp-image-469" title="Enter a 'test' string" src="http://img.a4apphack.com/ollydbg-2-incorrectstringentered.png" alt="2_incorrectstringentered" width="324" height="183" /></a></p>
<p>Search for referenced text strings as mentioned in Tutorial-1. Scroll to the location shown below.<br />
 <a title="Search Reference Strings" href="http://img.a4apphack.com/ollydbg-2-searchrefstrings.png" rel="lightbox[1464]"><img class="alignnone size-full wp-image-470" title="Referenced strings" src="http://img.a4apphack.com/ollydbg-2-searchrefstrings.png" alt="2_searchrefstrings" width="566" height="129" /></a></p>
<p>Notice the 2 &#8216;Key like&#8217; strings in the text strings referenced. If you think that one of them is valid, then you are wrong, but then why and where is it used? And what is the correct key? We can find that out soon.<br />
 Double click the message &#8216;The serial you entered is not correct&#8217; to reach the instruction location in the CPU window. When we analyze the code we come across a few concatenations operations. But unfortunately the keys are concatenated with blanks and finally compared with the user input.</p>
<p><a title="View the comments in CPU window" href="http://img.a4apphack.com/ollydbg-2-stringscpumain.png" rel="lightbox[1464]"><img class="alignnone size-full wp-image-472" title="View the comments in CPU window" src="http://img.a4apphack.com/ollydbg-2-stringscpumain.png" alt="2_stringscpumain" width="600" height="373" /></a></p>
<p>The blank values you see in the comments are not really blank ones. They values are assigned on runtime. We have to set a breakpoint to obtain the dynamic assigned value.</p>
<p>To set a breakpoint, select the instruction and press &#8216;F2&#8242;. Breakpoints highlighted in red over the memory location.</p>
<p><a title="Setting breakpoint" href="http://img.a4apphack.com/ollydbg-2-settingbreakpoint.png" rel="lightbox[1464]"><img class="alignnone size-full wp-image-471" title="Setting breakpoint" src="http://img.a4apphack.com/ollydbg-2-settingbreakpoint.png" alt="2_settingbreakpoint" width="288" height="57" /></a></p>
<p>Press the &#8216;Play&#8217; button to run the crackme application. Enter any random data and click the &#8216;Check&#8217; button. The application pauses at the breakpoint set in the previous step. Go to the same location where you saw the 2 suspicious &#8216;Key Like&#8217; strings in the previous step.</p>
<p><a title="Capture the generated serial number in Run-Time" href="http://img.a4apphack.com/ollydbg-2-foundserialgenerated.png" rel="lightbox[1464]"><img class="alignnone size-full wp-image-468" title="Capture the generated serial number in Run-Time" src="http://img.a4apphack.com/ollydbg-2-foundserialgenerated.png" alt="2_foundserialgenerated" width="600" height="364" /></a></p>
<p>Just before where the breakpoint was set we can find a new long string value displayed instead of blank strings which was displayed earlier. If you reverse engineer now, you can understand that the 2 Keys <span style="background-color: #ffff00;">&#8216;L2C-5781</span>&#8216; and &#8216;<span style="background-color: #ffff00;">4562-ABEX</span>&#8216; are static ones and are prefixed and suffixed, respectively, with a dynamically generated string. This is what we were looking for; the correct key to this app.</p>
<p><br class="spacer_" /></p>
<p><a title="Correct String Entered" href="http://img.a4apphack.com/ollydbg-2-correctstring.png" rel="lightbox[1464]"><img class="alignnone" title="Correct String Entered" src="http://img.a4apphack.com/ollydbg-2-correctstring.png" alt="Correct String Entered" width="331" height="187" /></a></p>
<p><br class="spacer_" /></p>
<p><strong>CrackMe App Download :</strong> <a target="_blank" href="http://www.box.net/shared/1q5r91eps1"><img style="vertical-align: middle;" height="30" width="30" alt="Download" src="http://img.a4apphack.com/site/a4apphack-download.png" title="Download"/></a> Alt : <a target="_blank" href="http://dl.getdropbox.com/u/259868/Tutorial2.zip"><img style="vertical-align: middle;" height="30" width="30" alt="Download" src="http://img.a4apphack.com/site/a4apphack-download.png" title="Download"/></a></p>
<h3>Video</h3>
<p><object type="application/x-shockwave-flash" style="width:600px;height:385px" data="http://www.youtube.com/v/WDP02prTd9A&amp;hl=en&amp;fs=1"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="quality" value="best" /><param name="wmode" value="transparent" /><param name="movie" value="http://www.youtube.com/v/WDP02prTd9A&amp;hl=en&amp;fs=1" /><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer" />If you can see this, then you might need a Flash Player upgrade or you need to install Flash Player if it's missing. Get <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash Player</a> from Adobe.</object><br/>
		<!-- Valid XHTML flash object delivered by XHTML Video Embed. Get it at: http://saltwaterc.net/xhtml-video-embed -->
		</p>
<p><strong>Conclusion </strong>: Never hardcode even fragments of static keys which can be helpful to deduce the complete key. Use some kind of logic to generate a dynamic key value.</p>
<img src="http://a4apphack.com/blog/?ak_action=api_record_view&id=1464&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://a4apphack.com/security/patching-security-holes-with-ollydbg-part-2/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<series:name><![CDATA[OllyDbg]]></series:name>
	</item>
		<item>
		<title>Patching Security Holes With OllyDbg (Part 1/3)</title>
		<link>http://a4apphack.com/security/patching-security-holes-with-ollydbg</link>
		<comments>http://a4apphack.com/security/patching-security-holes-with-ollydbg#comments</comments>
		<pubDate>Mon, 09 Feb 2009 20:46:45 +0000</pubDate>
		<dc:creator>rajivvishwa</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[Portable]]></category>
		<category><![CDATA[videos]]></category>

		<guid isPermaLink="false">http://a4apphack.com/blog/?p=459</guid>
		<description><![CDATA[OllyDbg is a 32-bit assembler level analyzing debugger for Microsoft Windows. This machine level debugger is created by Oleh Yuschuk for the 80&#215;86. OllyDbg traces registers, recognizes procedures, loops, API calls, switches, tables, constants and strings. These features can be utilized to understand how an application internals. Introduction Ollydbg mainly has 4 windows in the [...]]]></description>
			<content:encoded><![CDATA[<p>OllyDbg is a 32-bit assembler level analyzing debugger for Microsoft Windows. This machine level debugger is created by Oleh Yuschuk for the 80&#215;86. OllyDbg traces registers, recognizes procedures, loops, API calls, switches, tables, constants and strings. These features can be utilized to understand how an application internals.</p>
<h3>Introduction</h3>
<p><a title="OllyDbg Homepage" href="http://www.ollydbg.de/">Ollydbg</a> mainly has 4 windows in the default layout. CPU Window, Registers, Memory Stack and HEX Dump window. We will be working on CPU window most of the time.</p>
<p><a title="OllyDbg Reference Screen" href="http://img.a4apphack.com/ollydbg-refscreen.png" rel="lightbox[459]"><img class="size-full wp-image-501 alignnone" title="OllyDbg Reference Screen" src="http://img.a4apphack.com/ollydbg-refscreen.png" alt="ollydbgrefscreen" width="528" height="414" /></a></p>
<p><strong>OllyDbg Download :</strong> <a target="_blank" href="http://www.ollydbg.de/download.htm"><img style="vertical-align: middle;" height="30" width="30" alt="Download" src="http://img.a4apphack.com/site/a4apphack-download.png" title="Download"/></a></p>
<p>A set of 3 tutorials illustrated here explains on how effectively can OllyDbg be used to identify the security holes and to ensure that the code written is healthy.</p>
<p><span id="more-459"></span></p>
<h3>Tutorial 1 &#8211; Unpack the compressed exe &amp; Find the hardcoded password</h3>
<p>First step is to get a picture of how application works by submitting some random data, understanding the sequence of dialog boxes displayed and analyzing it. This might serve useful at later point of time. Enter some random test string in the CrackMe application and click &#8216;Check the Serial&#8217;. Note down the message displayed in the alert box.</p>
<p><img class="alignnone size-full wp-image-463" title="CrackMe Screenshot" src="http://img.a4apphack.com/ollydbg-1a-crackme.png" alt="1a_crackme_ss" width="250" height="114" /></p>
<p>Drag and Drop the CrackMe app to OllyDbg to disassemble the binary. As a thumb rule, always do Right click &#8211; Search for &#8211; All referenced text strings, first, to obtain any text string being used in the application so that we can directly jump into the required memory location. The &#8216;messages&#8217; displayed in the alert box while a wrong key is entered, or any other info displayed while navigating the application are nothing but plain strings stored and being referred by a particular instruction which can be called as required.</p>
<p>Once the search is complete, results are displayed; and unfortunately displays no useful info after disassembling the app. Ideally it should have the message displayed, while that wrong value was entered, referred somewhere in the application. You must have noticed that an alert was displayed when the app was opened in OllyDbg which gives some hint that the application is compressed. This is the reason why Ollydbg is not disassembling the code properly.</p>
<p>So inorder to proceed further, we must uncompress/unpack the application. Here, UPX is used for packaging the app so we must use an option in <a title="UPX" href="http://upx.sourceforge.net/">UPX </a>to decompress the app. (Download the UPX from <a title="UPX" href="http://upx.sourceforge.net/">here</a>)</p>
<h4>Unpacking with UPX</h4>
<p>Copy the app exe into the same folder where UPX exe is present.</p>
<p>Open cmd and use the &#8216;decompress&#8217; option</p>
<p><code>upx -d CrackMe2.exe</code></p>
<p><a title="Unpack Console" href="http://img.a4apphack.com/ollydbg-1b-unpackconsole.png" rel="lightbox[459]"><img class="alignnone size-full wp-image-466" title="UPX unpack console" src="http://img.a4apphack.com/ollydbg-1b-unpackconsole.png" alt="1b_unpackconsole" width="450" height="154" /></a></p>
<p>Try &#8216;Search for&#8217; &#8211; &#8216;All referenced text strings&#8217; again.<br />
 <a title="Search Ref String Menu" href="http://img.a4apphack.com/ollydbg-1a-searchrefstringsmenu.png" rel="lightbox[459]"><img class="alignnone size-full wp-image-465" title="'Search Reference Strings' Menu" src="http://img.a4apphack.com/ollydbg-1a-searchrefstringsmenu.png" alt="1a_searchrefstringsmenu" width="450" height="488" /></a></p>
<p>Now we can see the comments and referenced string values in the results window. Scroll down to location where you can see these strings in the below screenshot. Double click to get to the location in the CPU main window. If you reverse engineer the logic we can find that &#8216;<span style="background-color: #ffff00;">12011982</span>&#8216; is the string which is compared before &#8216;<span style="background-color: #ffff00;">Trial CrackMe Cracked</span>&#8216; is displayed or called. (Check the tutorial found in the app zip for detailed info). Even otherwise, on the first shot itself we can do a &#8216;Trail and Error&#8217; method and guess that &#8217;12011982&#8242; is the key.</p>
<p><a title="Search Ref String" href="http://img.a4apphack.com/ollydbg-1a-searchrefstrings.png" rel="lightbox[459]"><img class="alignnone size-full wp-image-464" title="ReferenceStrings results" src="http://img.a4apphack.com/ollydbg-1a-searchrefstrings.png" alt="1a_searchrefstrings" width="470" height="183" /></a></p>
<p><strong>Conclusion </strong>: Never hardcode the static key in the code to compare the user input key.</p>
<p><strong>CrackMe app download :</strong> <a target="_blank" href="http://www.box.net/shared/hpty9zus1z"><img style="vertical-align: middle;" height="30" width="30" alt="Download" src="http://img.a4apphack.com/site/a4apphack-download.png" title="Download"/></a> Alt: <a target="_blank" href="http://dl.getdropbox.com/u/259868/Tutorial1.zip"><img style="vertical-align: middle;" height="30" width="30" alt="Download" src="http://img.a4apphack.com/site/a4apphack-download.png" title="Download"/></a></p>
<h4>Video</h4>
<p><object type="application/x-shockwave-flash" style="width:600px;height:385px" data="http://www.youtube.com/v/jeAyaNjTrEA&amp;hl=en&amp;fs=1"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="quality" value="best" /><param name="wmode" value="transparent" /><param name="movie" value="http://www.youtube.com/v/jeAyaNjTrEA&amp;hl=en&amp;fs=1" /><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer" />If you can see this, then you might need a Flash Player upgrade or you need to install Flash Player if it's missing. Get <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash Player</a> from Adobe.</object><br/>
		<!-- Valid XHTML flash object delivered by XHTML Video Embed. Get it at: http://saltwaterc.net/xhtml-video-embed -->
		</p>
<img src="http://a4apphack.com/blog/?ak_action=api_record_view&id=459&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://a4apphack.com/security/patching-security-holes-with-ollydbg/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<series:name><![CDATA[OllyDbg]]></series:name>
	</item>
		<item>
		<title>Creating Portable Apps with UniExtract</title>
		<link>http://a4apphack.com/tips-tricks/creating-portable-applications-with-uniextract</link>
		<comments>http://a4apphack.com/tips-tricks/creating-portable-applications-with-uniextract#comments</comments>
		<pubDate>Tue, 30 Dec 2008 10:00:53 +0000</pubDate>
		<dc:creator>rajivvishwa</dc:creator>
				<category><![CDATA[Portable]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://a4apphack.com/blog/?p=185</guid>
		<description><![CDATA[We can carry our favorite portable apps in USB sticks and external harddisks which can be used anywhere without even leaving a trace in the guest PC. There are few sites which allow us to download those for free. But their repository is limited and that might not include the apps we wanted in portable [...]]]></description>
			<content:encoded><![CDATA[<p>We can carry our favorite portable apps in USB sticks and external harddisks which can be used anywhere without even leaving a trace in the guest PC. There are few sites which allow us to download those for free. But their repository is limited and that might not include the apps we wanted in portable version.</p>
<p><span id="more-185"></span>Most of the applications we use everyday are available for download in <a title="Installation : Wikipedia" href="http://en.wikipedia.org/wiki/Installation_(computer_programs)" target="_blank">Installable format</a> and during installation, it&#8217;s dependent files are distributed across various locations in our harddisk. Moving the executable to another folder/drive might even prevent its proper functioning. And in some cases, uninstalling those apps will leave behind few files which were copied during installation. So we will minimize these problems by running portable versions of the apps.</p>
<p>To convert the Installer version of our app to portable we need to use an extractor.  One of the best free extractor available is <a title="Universal Extractor" href="http://legroom.net/software/uniextract" target="_blank">Universal Extractor</a> which can help us in creating portable apps. Universal Extractor first detects the type of compression and packaging used to build the installer and extracts with the help of suitable mechanisms. It currently supports <a title="Supported Formats" href="http://legroom.net/software/uniextract#formats" target="_blank">50+ formats</a> including Windows Installer, Inno Setup, NSIS package etc which are the most commonly used.</p>
<h3>Extracting the Installer file with UniExtract</h3>
<p>1. Drag and drop the Installer executable file onto the Universal Extractor App. Set the destination directory.  <img class="alignnone size-full wp-image-192" title="uniextractgui" src="http://img.a4apphack.com/unixtract-gui.png" alt="uniextractgui" width="319" height="179" /> <br />
 2. Click Ok to proceed. Now the installation package will be detected and extracted accordingly. <a href="http://img.a4apphack.com/unixtract-processing.png" rel="lightbox[185]" title="uniextractprocess"><img class="alignnone size-full wp-image-190" title="uniextractprocess" src="http://img.a4apphack.com/unixtract-processing.png" alt="uniextractprocess" width="511" height="249" /></a> <br />
 3. Now try to execute the app, if it works fine*, remove unnecessary files like uninstall scripts, start menu shortcuts, if any, from the extracted folder. Now you have your portable version of your app ready to be moved to your thumb drive.</p>
<p><em>Note*</em> : Not all the applications can be converted to portable ones. Some installer package might not be understood by the uniextractor and some apps depends and run by modifying certain registry files.</p>
<p><strong>Download </strong>Universal Extractor <a target="_blank" href="http://legroom.net/scripts/download.php?file=uniextract16_noinst"><img style="vertical-align: middle;" height="30" width="30" alt="Download" src="http://img.a4apphack.com/site/a4apphack-download.png" title="Download"/></a></p>
<p>(More info <a title="Universal Extractor Info" href="http://legroom.net/software/uniextract" target="_blank">here</a>)</p>
<img src="http://a4apphack.com/blog/?ak_action=api_record_view&id=185&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://a4apphack.com/tips-tricks/creating-portable-applications-with-uniextract/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced (Requested URI is rejected)
Object Caching 1051/1111 objects using disk: basic

Served from: a4apphack.com @ 2012-02-09 15:27:18 -->
