<?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/"
	>

<channel>
	<title>JesusFreke&#039;s AndBlog</title>
	<atom:link href="http://jf.andblogs.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://jf.andblogs.net</link>
	<description></description>
	<lastBuildDate>Sat, 06 Mar 2010 06:24:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>smali/baksmali v1.2.1 bugfix release</title>
		<link>http://jf.andblogs.net/2010/03/06/smalibaksmali-v1-2-1-bugfix-release/</link>
		<comments>http://jf.andblogs.net/2010/03/06/smalibaksmali-v1-2-1-bugfix-release/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 06:24:15 +0000</pubDate>
		<dc:creator>jf</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://jf.andblogs.net/?p=207</guid>
		<description><![CDATA[I&#8217;ve released v1.2.1, which is mostly a bugfix release to v1.2. There are a few performance improvements and enhancements in there as well.
As usual, you can grab a copy on the googlecode download page
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve released v1.2.1, which is mostly a bugfix release to v1.2. There are a few performance improvements and enhancements in there as well.</p>
<p><span id="more-207"></span>As usual, you can grab a copy on the <a href="http://code.google.com/p/smali/downloads/list">googlecode download page</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jf.andblogs.net/2010/03/06/smalibaksmali-v1-2-1-bugfix-release/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>smali/baksmali v1.2 released</title>
		<link>http://jf.andblogs.net/2010/02/22/smali-baksmali-1-2-released/</link>
		<comments>http://jf.andblogs.net/2010/02/22/smali-baksmali-1-2-released/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 08:27:59 +0000</pubDate>
		<dc:creator>jf</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[baksmali]]></category>
		<category><![CDATA[smali]]></category>

		<guid isPermaLink="false">http://jf.andblogs.net/?p=182</guid>
		<description><![CDATA[After lots of hard work over the last month or two, smali/baksmali 1.2 is out!
The major new functionality in this release is that baksmali now supports deodexing without the help of deodexerant! It also has a new &#8220;register info&#8221; feature, to show the register types in the disassembly, and numerous minor fixes/changes/enhancements/tweaks/(and probably bugs)

Deodexing
In order [...]]]></description>
			<content:encoded><![CDATA[<p>After <a href="http://code.google.com/p/smali/source/list?start=645">lots of hard work</a> over the last month or two, <a href="http://code.google.com/p/smali/downloads/list">smali/baksmali 1.2</a> is out!</p>
<p>The major new functionality in this release is that baksmali now supports deodexing without the help of deodexerant! It also has a new &#8220;register info&#8221; feature, to show the register types in the disassembly, and numerous minor fixes/changes/enhancements/tweaks/(and probably bugs)</p>
<p><span id="more-182"></span></p>
<h4>Deodexing</h4>
<p>In order to deodex files now, you need to have the boot class path files available for baksmali to use. By default, it looks for the 5 main framework jars in the current directory. You can of course specify additional directories to search in, add additional boot class path files, or change which boot class path files are used altogether.</p>
<p>The <a title="DeodexInstructions" href="http://code.google.com/p/smali/wiki/DeodexInstructions">DeodexInstructions</a> page has more info on how to deodex with this version. But for a quick primer, you just need to have the 5 main framework files in the current directory (core.jar, ext.jar, framework.jar, android.policy.jar and services.jar), and then specify the <em>-x</em> option for baksmali. For example:</p>
<pre>baksmali -x Calculator.odex -o Calculator</pre>
<h4>Register Info</h4>
<p>Another bit of new functionality that can be very helpful is the new &#8220;register info&#8221; output for baksmali, which can be turned on with the <em>-r</em> parameter. It will analyze the registers and print some register type info before and after each instruction. There are several levels of register info output available, depending on exactly what you want to see. The default is to print the register type for any register that is used by the instruction.</p>
<p>Note that this functionality also requires that baksmali load the boot class path files &#8211; so they must be available. Here is an example of what the default register info looks like:</p>
<pre>#v0=(Integer);v2=(Integer);
new-array v2, v0, [C
#v2=(Reference,[C);</pre>
<p>The register types that are printed just before the instruction are the <strong>incoming</strong> register types, while the register types that are printed after the instruction show any changes to the registers caused by the instruction.</p>
<p>If you want to see <strong>all</strong> the register info, you can use <em>-r ALL,FULLMERGE</em> which looks something like this:</p>
<pre>#v0=(Integer):merge{0x18:(Null),0x2c:(Integer)}
#v1=(Conflicted):merge{0x18:(Uninit),0x2c:(Integer)}
#v3=(Conflicted):merge{0x18:(Uninit),0x2c:(Char)}
#v2=(Reference,[C);p0=(Reference,Ljava/lang/String;);p1=(Reference,[B);p2=(Integer);p3=(Integer);p4=(Integer);
iget v2, p0, Ljava/lang/String;-&gt;count:I
#v0=(Integer);v1=(Conflicted);v2=(Integer);v3=(Conflicted);p0=(Reference,Ljava/lang/String;);p1=(Reference,[B);p2=(Integer);p3=(Integer);p4=(Integer);</pre>
<h4>Other changes</h4>
<p>There are a few other miscellaneous changes as well. Make sure you take a look at the usage info for smali and baksmali. The short parameters for some of the options have changed. In particular some of the options that are mostly for debugging purposes were changed to an uppercase letter, and are now hidden by default. You can use -?? for both smali and baksmali to see the debug options.</p>
<p>baksmali also has a new -f parameter, which adds a comment with the code address before each instruction. This is useful when looking at the FULLMERGE register info, which shows the register info and code addresses for all &#8220;incoming&#8221; execution paths.</p>
<h4>Things to come</h4>
<p>With this release, I have added a robust code analyzer/verifier that can infer the register types and validate the instructions. I plan using this to add verification functionality in smali, so that it will optionally verify the code after assembling it. This will let you know there&#8217;s a problem with the assembled code without having to push the code to a device and have dalvik complain to you about the invalid code.</p>
<p>I also want to add some way to dump/serialize the results of loading the boot class path files for baksmali, so that it can load the information it needs from the dump file, instead of reading in all 5 boot class path files every time, which should help speed it up.</p>
<p>In the longer term, I would love to be able to debug code on a device at an assembly level. This is just something that is banging around in the back of my head for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://jf.andblogs.net/2010/02/22/smali-baksmali-1-2-released/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Have a very smali Christmas!</title>
		<link>http://jf.andblogs.net/2009/12/25/have-a-very-smali-christmas/</link>
		<comments>http://jf.andblogs.net/2009/12/25/have-a-very-smali-christmas/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 00:28:05 +0000</pubDate>
		<dc:creator>jf</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[baksmali]]></category>
		<category><![CDATA[smali]]></category>

		<guid isPermaLink="false">http://jf.andblogs.net/?p=174</guid>
		<description><![CDATA[As my Christmas present to everyone, I present smali/baksmali v1.1

This version has significant new functionality, and is much better able to handle the larger framework files that are floating around. There are a number of bug fixes as well.
As usual, you can grab the new versions from the googlecode download page
The changes for this version [...]]]></description>
			<content:encoded><![CDATA[<p>As my Christmas present to everyone, I present smali/baksmali v1.1</p>
<p><span id="more-174"></span></p>
<p>This version has significant new functionality, and is much better able to handle the larger framework files that are floating around. There are a number of bug fixes as well.</p>
<p>As usual, you can grab the new versions from the <a href="http://code.google.com/p/smali/downloads/list">googlecode download page</a></p>
<p>The changes for this version include:</p>
<ul>
<li>Added support for a new .locals directive, which can be used instead of the .registers directive, to specify the number of non-parameter registers in the method</li>
<li>Added support for the <code>--use-locals/-l</code> option in baksmali, to use the .locals directive instead of the .registers directive</li>
<li>Added support for the <code>--sequential-labels/-q</code> option in baksmali, which causes baksmali to create label names using a sequential numbering scheme, instead of basin it on the bytecode address</li>
<li>Added support for automatically upgrading const-string to const-string/jumbo when needed and upgrading goto or goto/16 to goto/16 or goto/32 when needed</li>
<li>Added support for the <code>--no-fix-string-const/-c</code> option in smali, to prevent automatically upgrading const-string instructions to const-string/jumbo</li>
<li>Added support for the <code>--no-fix-goto/-g</code> option in smali, to prevent automatically upgrading goto and goto/16 instructions</li>
<li>Added support for the <code>--no-debug-info/-b</code> option in baksmali, to prevent the output of any type of debugging info (.local, .line, .parameter, etc.)</li>
<li>misc. bugfixes</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jf.andblogs.net/2009/12/25/have-a-very-smali-christmas/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Nook updates</title>
		<link>http://jf.andblogs.net/2009/12/23/nook-updates/</link>
		<comments>http://jf.andblogs.net/2009/12/23/nook-updates/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 07:45:30 +0000</pubDate>
		<dc:creator>jf</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Nook]]></category>

		<guid isPermaLink="false">http://jf.andblogs.net/?p=163</guid>
		<description><![CDATA[Now that the nook softroot is out, I&#8217;d like to take a moment to explain the structure of the updates, the nook bootup process in general, and how the softroot came about.

The &#8220;softroot&#8221; that was released is simply an unsigned update file that copies a custom init.rc to the device that enables adb (only over [...]]]></description>
			<content:encoded><![CDATA[<p>Now that the <a href="http://www.nookdevs.com/">nook softroot</a> is out, I&#8217;d like to take a moment to explain the structure of the updates, the nook bootup process in general, and how the softroot came about.</p>
<p><span id="more-163"></span></p>
<p>The &#8220;softroot&#8221; that was released is simply an unsigned update file that copies a custom init.rc to the device that enables adb (only over wifi, for now). Unsigned update, you ask? Yes. The nook accepts unsigned updates. The structure of an update is fairly simple. Basically, it&#8217;s a .tar.gz file that contains at least 3 files: Firmware_Update/update.script, Firmware_Update/md5sums and Firmware_Update/sha1sums.</p>
<p>The update.script file is a script that is run by turboboot &#8211; a proprietary bootloader/recovery environment that is used in the nook. Documentation for turboboot can be found easily with $favorite_search_engine. The turboboot environment is a minimal linux+busybox environment. It allows you to run arbitrary system commands from the update.script, so you can really do just about anything you want in an update.</p>
<p>For the md5sums and sha1sums file, the only requirement is that running md5sum -c md5sums and sha1sum -c sha1sums from the Firmware_Update  directory will succeed. So you need to have at least 1 valid checksum in each file.</p>
<p>That&#8217;s basically it for the update. You can add whatever else the update needs of course. To run the update, place the .tar.gz file on the root of the external sdcard, named bravo_update.dat, power off the nook, and then after powering it back on, immediately press the page up/page down buttons. It should then check for the update file, unpack it, validate the md5sums and sha1sums files, and then run the update.</p>
<p>If you&#8217;ve already taken a look at the 1.1.0 or 1.1.1 update files that have been released recently, you&#8217;ve probably noticed that they aren&#8217;t just a plain .tar.gz, but they have what appears to be a signature header at the beginning of the file. As far as I can tell, when a new update is available, the nook system software will download the signed update to the 3rd partition of the internal sdcard, verify it and then strip off the signature header and place the plain .tar.gz in the root of the 2rd partition of the internal sdcard. It then sets a value in a specific place on the sdcard that tells turboboot to check the internal sdcard instead of the external sdcard for the update. And then when the nook reboots, turboboot finds the unsigned update file and applies it.</p>
<p>If you want to poke around in the 1.1.1 update, the file is available for download from <a href="http://www.barnesandnoble.com/nook/support/?cds2Pid=30195">Barnes and Noble&#8217;s Nook FAQ page</a>. Once you download the update, you&#8217;ll need to strip off the signature header before extracting it:</p>
<p><code>tail -c +174 signed_bravo_update.dat &gt; signed_bravo_update.tar.gz</code></p>
<p>Finally, a bit more about the nook&#8217;s start-up in general. The nook appears to boot directly from the sdcard. There is around 200mb of space at the end of the sdcard, past the end of the last partition, where various things are stored: bootloader, kernel, etc. These all appear to be stored at specific locations relative to the end of the sdcard.</p>
<p>The primary bootloader is stored at an offset relative to the end of the sdcard. For non-sdhc cards, this is at endofsd-9k. And there is additional bootloader code stored at endofsd-281k.</p>
<p>The kernel is stored at endofsd-4377k, and interestingly, the last full firmware update that was applied on the nook is stored at endofsd-135449k. And finally the kernel and ramdisk for the turboboot environment is stored at endofsd-139545k.</p>
<p>The ramdisk for the turboboot environment contains an interesting script named initboot.script that handles the update process. One of it&#8217;s features is that if the nook fails to successfully boot 3 times in a row, then it will perform a &#8220;fallback&#8221;, and will wipe out the OS partition and re-apply the full update that is stored in the ending area of the sdcard.</p>
<p>It was when I was first looking at the initboot.script file that I realized that the nook accepted unsigned updates. Once I realized that, I pinged fellow nookdev robbiet480 (because he has a nook, and I don&#8217;t yet :/) and after a few tries, was able to build an initial proof-of-concept update that he ran on his nook and proved that we could in fact get an unsigned update to run.</p>
<p>From there, the other nookdev members took it from the proof-of-concept that I did to the actual softroot that is available now. Great job guys!</p>
<div id="_mcePaste" style="overflow: hidden;width: 1px;height: 1px">$favorite_search_engine</div>
]]></content:encoded>
			<wfw:commentRss>http://jf.andblogs.net/2009/12/23/nook-updates/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>smali/baksmali v1.0</title>
		<link>http://jf.andblogs.net/2009/11/08/smalibaksmali-v1-0/</link>
		<comments>http://jf.andblogs.net/2009/11/08/smalibaksmali-v1-0/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 07:30:01 +0000</pubDate>
		<dc:creator>jf</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://jf.andblogs.net/?p=158</guid>
		<description><![CDATA[It&#8217;s 1.0. Yep, sure is. Go get it here.
Why should you get the new version you ask? Well, it&#8217;s been spiffified, of course. The new spiffiness includes:

The label syntax has changed from &#8220;label:&#8221; to &#8220;:label&#8221;. This makes the lexer happy. And a happy lexer uses less memory and runs faster. Yay for happy lexers
Added a [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s 1.0. Yep, sure is. Go get it <a href="http://code.google.com/p/smali/downloads/list">here</a>.</p>
<p>Why should you get the new version you ask? Well, it&#8217;s been spiffified, of course. The new spiffiness includes:</p>
<ul>
<li>The label syntax has changed from &#8220;label:&#8221; to &#8220;:label&#8221;. This makes the lexer happy. And a happy lexer uses less memory and runs faster. Yay for happy lexers</li>
<li>Added a -r/&#8211;rewrite-labels option for smali, which will rewrite the smali files you give it, changing any labels in the old format to the new format.</li>
<li>deodexerant now opens the odex files as read-only, so you can run deodexerant directly on the odex files in /system, without having to remount, or copy them to /data.</li>
<li>You can give baksmali an apk file now, so you don&#8217;t have to manually extract out the classes.dex file</li>
</ul>
<p>And one final note: deodexerant will *not* work on 2.0 devices. Once the 2.0 source is released, I should be able to build a new deodexerant binary that will work on 2.0.</p>
<p>Update: There are now also wrapper scripts available for smali/baksmali, so you can call &#8220;baksmali &#8230;&#8221; instead of &#8220;java -jar baksmali.jar &#8230;&#8221;</p>
<p>Update 2: Now that the Eclair source is out, I&#8217;ve added a new build of deodexerant to the downloads page that works with 2.0</p>
]]></content:encoded>
			<wfw:commentRss>http://jf.andblogs.net/2009/11/08/smalibaksmali-v1-0/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>slay those pesky odex files!</title>
		<link>http://jf.andblogs.net/2009/09/10/slay-those-pesky-odex-files/</link>
		<comments>http://jf.andblogs.net/2009/09/10/slay-those-pesky-odex-files/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 04:32:55 +0000</pubDate>
		<dc:creator>jf</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://jf.andblogs.net/?p=153</guid>
		<description><![CDATA[odex files getting you down? Now you can do something about them!
For the first time ever, with smali/baksmali 0.96, and some help from deodexerant, you can get rid of that optimized dex odor from your rom.
It slices! It dices! It turns odex files into .smali files, capable of being assembled into normal classes.dex files! And [...]]]></description>
			<content:encoded><![CDATA[<p>odex files getting you down? Now you can do something about them!</p>
<p><span id="more-153"></span>For the first time ever, with <a href="http://smali.googlecode.com">smali/baksmali 0.96</a>, and some help from <a href="http://code.google.com/p/smali/wiki/DeodexInstructions">deodexerant</a>, you can get rid of that optimized dex odor from your rom.</p>
<p>It slices! It dices! It turns odex files into .smali files, capable of being assembled into normal classes.dex files! And all for the low low price of $0.00. Can&#8217;t afford $0.00 right now? That&#8217;s ok! I guarantee I can get you low monthly payments of $0.00  for 12 months (offer good while supplies last)</p>
<p>Order now! Operators are <a href="http://code.google.com/p/smali/downloads/list">standing by</a> (they can also help with <a href="http://code.google.com/p/smali/wiki/DeodexInstructions">deodex instructions</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://jf.andblogs.net/2009/09/10/slay-those-pesky-odex-files/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>A new release</title>
		<link>http://jf.andblogs.net/2009/08/29/a-new-release/</link>
		<comments>http://jf.andblogs.net/2009/08/29/a-new-release/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 21:38:02 +0000</pubDate>
		<dc:creator>jf</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://jf.andblogs.net/?p=151</guid>
		<description><![CDATA[of smali/baksmali. (no, not a new rom :p)
smali/baksmali v0.95 is out. The major change in this version is a re-implemented/optimized version of dexlib, as well as changes in smali/baksmali to work with the new dexlib. Also, I&#8217;ve optimized baksmali, so it should run much much quicker now (up to 4x quicker). smali should also be [...]]]></description>
			<content:encoded><![CDATA[<p>of <a href="http://smali.googlecode.com">smali/baksmali</a>. (no, not a new rom :p)</p>
<p><span id="more-151"></span>smali/baksmali v0.95 is out. The major change in this version is a re-implemented/optimized version of dexlib, as well as changes in smali/baksmali to work with the new dexlib. Also, I&#8217;ve optimized baksmali, so it should run much much quicker now (up to 4x quicker). smali should also be a bit quicker, but nothing you&#8217;ll probably notice.</p>
<p>As far as new functionality goes, baksmali will now output registers that are mapped to method parameters using a p&lt;n&gt; syntax, instead of the normal v&lt;n&gt; syntax. i.e. p0 is the first method parameter (or the &#8220;this&#8221; reference, for non-static methods). This makes it much less of a pain when you need to increase the number of registers in a method. Previously, you would have to go through and bump up the number for all of the parameter registers, but with the p&lt;n&gt; syntax, you won&#8217;t have to. If you don&#8217;t want this functionality, you can use the -p command line argument to turn it off.</p>
<p>The new versions can be found at the <a href="http://code.google.com/p/smali/downloads/list">project download page</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jf.andblogs.net/2009/08/29/a-new-release/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Calling it quits</title>
		<link>http://jf.andblogs.net/2009/08/20/calling-it-quits/</link>
		<comments>http://jf.andblogs.net/2009/08/20/calling-it-quits/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 00:15:48 +0000</pubDate>
		<dc:creator>jf</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[JF Releases]]></category>

		<guid isPermaLink="false">http://jf.andblogs.net/?p=146</guid>
		<description><![CDATA[I&#8217;ve decided to call it quits on the whole rom making thing. As I&#8217;m sure you&#8217;ve noticed, I haven&#8217;t done much work on the rom lately anyway, not to mention the way overdue CRC1 rom that I never got out. I&#8217;ll still be around of course, working on smali and hanging out on freenode. But [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided to call it quits on the whole rom making thing. As I&#8217;m sure you&#8217;ve noticed, I haven&#8217;t done much work on the rom lately anyway, not to mention the way overdue CRC1 rom that I never got out. I&#8217;ll still be around of course, working on smali and hanging out on freenode. But I just don&#8217;t have enough interest in doing rom work anymore to continue.</p>
<p><span id="more-146"></span>I sincerely appreciate all the kind words about my roms, and I want to again thank everyone who has donated.</p>
<p>If you&#8217;re looking for a new rom to try, I recommend cyanogen&#8217;s <a href="http://forum.xda-developers.com/showthread.php?t=537204">stable</a> or <a href="http://forum.xda-developers.com/showthread.php?t=539744">experimental</a> roms. He&#8217;s put a lot of work into them, and they have many more features than mine do/did.</p>
<p>Also, If anyone wants to grab my build environment and maintain a &#8220;JF-style&#8221; build on their own, go for it <img src='http://jf.andblogs.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  If you need any pointers on how to update the build environment as new official releases come out, feel free to ask (There really isn&#8217;t all that much involved in it).</p>
]]></content:encoded>
			<wfw:commentRss>http://jf.andblogs.net/2009/08/20/calling-it-quits/feed/</wfw:commentRss>
		<slash:comments>129</slash:comments>
		</item>
		<item>
		<title>OTAs in JFv1.51</title>
		<link>http://jf.andblogs.net/2009/07/19/otas-in-jfv1-51/</link>
		<comments>http://jf.andblogs.net/2009/07/19/otas-in-jfv1-51/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 18:08:45 +0000</pubDate>
		<dc:creator>jf</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://jf.andblogs.net/?p=144</guid>
		<description><![CDATA[If you are on the US or EU versions of JFv1.51, you&#8217;ll likely get an OTA update notification soon, if you haven&#8217;t already. I had accidentally left in the otacerts.zip file, which allows OTAs to be downloaded and verified.
For now, there are a few possible work arounds.
1. delete the otacerts.zip file manually. The file is [...]]]></description>
			<content:encoded><![CDATA[<p>If you are on the US or EU versions of JFv1.51, you&#8217;ll likely get an OTA update notification soon, if you haven&#8217;t already. I had accidentally left in the otacerts.zip file, which allows OTAs to be downloaded and verified.</p>
<p>For now, there are a few possible work arounds.</p>
<p>1. delete the otacerts.zip file manually. The file is at /system/etc/security/otacerts.zip  But keep in mind if you use this method your phone will continuously re-down the OTA and try to verify it, which is bad on your bandwidth usage and your battery life</p>
<p>2. Replace /system/build.prop on your phone with the one from the ADP1 version of JFv1.51</p>
<p>3. chmod 000 the OTA file in /cache (unconfirmed solution, but is likely to work)</p>
<p>Or you can ignore the popups for now, and wait for my new release  based on the new update (CRC1). I promise to &#8220;disable&#8221; the OTA mechanisms in a better way than simply deleting otacerts.zip <img src='http://jf.andblogs.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . I should be able to get something out soon (next few days)</p>
<p>In the meantime, even if you accidentally hit &#8220;accept&#8221; on the popup, it won&#8217;t be able to install the update when it gets into recovery, so you aren&#8217;t at risk of losing root access.</p>
]]></content:encoded>
			<wfw:commentRss>http://jf.andblogs.net/2009/07/19/otas-in-jfv1-51/feed/</wfw:commentRss>
		<slash:comments>64</slash:comments>
		</item>
		<item>
		<title>It&#8217;s alive!</title>
		<link>http://jf.andblogs.net/2009/06/23/its-alive/</link>
		<comments>http://jf.andblogs.net/2009/06/23/its-alive/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 07:09:16 +0000</pubDate>
		<dc:creator>jf</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[smali baksmali]]></category>

		<guid isPermaLink="false">http://jf.andblogs.net/?p=134</guid>
		<description><![CDATA[Alive I tell you, Alive! baksmali lives!
baksmali is the companion disassembler to smali, the dex assembler that I released recently. I&#8217;ve released a new version of smali as well, with a number of improvements/fixes. This is the v0.91 release of both tools.
As you might imagine, baksmali is able to disassemble a dex file into a [...]]]></description>
			<content:encoded><![CDATA[<p>Alive I tell you, Alive! <a href="http://code.google.com/p/smali/downloads/list">baksmali</a> lives!</p>
<p><span id="more-134"></span>baksmali is the companion disassembler to smali, the dex assembler that I <a href="http://jf.andblogs.net/2009/06/07/smali-v09/">released recently</a>. I&#8217;ve released a new version of smali as well, with a number of improvements/fixes. This is the v0.91 release of both tools.</p>
<p>As you might imagine, baksmali is able to disassemble a dex file into a set of text files, one for each class, containing the methods, field, annotations, debug info and dalvik bytecode for that class.</p>
<p>And then smali can munch on those text files and assemble them into shiny new classes.dex file, which you can repackage back into an apk/jar/zip file and throw on your android-based phone.</p>
<p>And most importantly, you can make magic happen when you make changes between the 2 steps.</p>
<p>Both tools are released as executable jar files. You can invoke them and get the usage information with</p>
<p><code>java -jar smali-0.91.jar<br />
java -jar baksmali-0.91.jar</code></p>
<p>Unfortunately, the current incarnation of the tools are somewhat porcine. If you try to assemble/disassemble a large dex file and get an out-of-memory type error, try running with -Xmx512m, which increases the max java heap size to 512MB</p>
<p><code>java -Xmx512m -jar smali-0.91.jar [options]<br />
java -Xmx512m -jar baksmali-0.91.jar [options]<br />
</code></p>
<p>The main project page for smali/baksmali is <a href="http://smali.googlecode.com">http://smali.googlecode.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jf.andblogs.net/2009/06/23/its-alive/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
