﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://www.iphone.org.hk/wiki/skins/common/feed.css?116"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Decryptipsw.sh - 修訂沿革</title>
		<link>http://www.iphone.org.hk/wiki/index.php?title=Decryptipsw.sh&amp;action=history</link>
		<description>本站上此頁的修訂沿革</description>
		<language>zh_tw</language>
		<generator>MediaWiki 1.12.0</generator>
		<lastBuildDate>Sun, 06 Sep 2026 15:29:54 GMT</lastBuildDate>
		<item>
			<title>Javacom在2008年6月1日 (日) 14:16</title>
			<link>http://www.iphone.org.hk/wiki/index.php?title=Decryptipsw.sh&amp;diff=330&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←上一修訂&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;在2008年6月1日 (日) 14:16所做的修訂版本&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;#!/bin/sh&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;#!/bin/sh&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;#v0.3&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;#v0.3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第68行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第68行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  echo &amp;quot;Job Completed!!!&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;  echo &amp;quot;Job Completed!!!&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;fi&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;fi&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/code&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/code&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key iphonewiki:diff:version:1.11a:oldid:329:newid:330 --&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 01 Jun 2008 14:16:25 GMT</pubDate>			<dc:creator>Javacom</dc:creator>			<comments>http://www.iphone.org.hk/wiki/index.php/%E8%A8%8E%E8%AB%96:Decryptipsw.sh</comments>		</item>
		<item>
			<title>Javacom在2008年6月1日 (日) 14:15</title>
			<link>http://www.iphone.org.hk/wiki/index.php?title=Decryptipsw.sh&amp;diff=329&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←上一修訂&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;在2008年6月1日 (日) 14:15所做的修訂版本&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;#!/bin/sh&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;#!/bin/sh&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第68行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第69行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;fi&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;fi&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key iphonewiki:diff:version:1.11a:oldid:328:newid:329 --&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 01 Jun 2008 14:15:46 GMT</pubDate>			<dc:creator>Javacom</dc:creator>			<comments>http://www.iphone.org.hk/wiki/index.php/%E8%A8%8E%E8%AB%96:Decryptipsw.sh</comments>		</item>
		<item>
			<title>Javacom: 新頁面: &lt;code&gt; #!/bin/sh #v0.3 if [ $# -lt 1 ] then   echo &quot;usage : $0 iPhone1,1_2.0_5A274d_Restore.ipsw&quot;   exit 0 else   IPSWNAMES=$@ fi DDONE=0 for IPSWNAME in $IPSWNAMES do if [ -f &quot;$IPSWNAME&quot;...</title>
			<link>http://www.iphone.org.hk/wiki/index.php?title=Decryptipsw.sh&amp;diff=328&amp;oldid=prev</link>
			<description>&lt;p&gt;新頁面: &amp;lt;code&amp;gt; #!/bin/sh #v0.3 if [ $# -lt 1 ] then   echo &amp;quot;usage : $0 iPhone1,1_2.0_5A274d_Restore.ipsw&amp;quot;   exit 0 else   IPSWNAMES=$@ fi DDONE=0 for IPSWNAME in $IPSWNAMES do if [ -f &amp;quot;$IPSWNAME&amp;quot;...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;code&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#v0.3&lt;br /&gt;
if [ $# -lt 1 ]&lt;br /&gt;
then&lt;br /&gt;
  echo &amp;quot;usage : $0 iPhone1,1_2.0_5A274d_Restore.ipsw&amp;quot;&lt;br /&gt;
  exit 0&lt;br /&gt;
else&lt;br /&gt;
  IPSWNAMES=$@&lt;br /&gt;
fi&lt;br /&gt;
DDONE=0&lt;br /&gt;
for IPSWNAME in $IPSWNAMES&lt;br /&gt;
do&lt;br /&gt;
if [ -f &amp;quot;$IPSWNAME&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
PWD=`pwd`&lt;br /&gt;
rm -f Restore.plist&lt;br /&gt;
unzip -o $IPSWNAME Restore.plist &amp;gt; /dev/null 2&amp;gt;/dev/null&lt;br /&gt;
if [ -f Restore.plist ]; then&lt;br /&gt;
DEVICECLASS=`defaults read $PWD/Restore DeviceClass`&lt;br /&gt;
PRODUCTVERSION=`defaults read $PWD/Restore ProductVersion`&lt;br /&gt;
BUILDVERSION=`defaults read $PWD/Restore ProductBuildVersion`&lt;br /&gt;
RESTORERAMDISK=`defaults read $PWD/Restore RestoreRamDisks | awk '/User/ { split($0, line, &amp;quot;\&amp;quot;&amp;quot;); printf(&amp;quot;%s\n&amp;quot;, line[2]); }'`&lt;br /&gt;
SYSTEMRESTOREIMAGE=`defaults read $PWD/Restore SystemRestoreImages | awk '/User/ { split($0, line, &amp;quot;\&amp;quot;&amp;quot;); printf(&amp;quot;%s\n&amp;quot;, line[2]); }'`&lt;br /&gt;
unzip -o $IPSWNAME $RESTORERAMDISK  &amp;gt; /dev/null 2&amp;gt;/dev/null&lt;br /&gt;
FILEFORMAT=`hexdump -n4 -e '&amp;quot;%c%c%c%c\n&amp;quot;' $RESTORERAMDISK`&lt;br /&gt;
if [ &amp;quot;$FILEFORMAT&amp;quot; == &amp;quot;8900&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
  DECRYPTKEY=`strings $RESTORERAMDISK | egrep &amp;quot;^[0-9a-fA-F]{72}\$&amp;quot;`&lt;br /&gt;
  if [ &amp;quot;$DECRYPTKEY&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
    RAMDISKLENGTH=`hexdump -s12 -n4 -e '&amp;quot;%d\n&amp;quot;' $RESTORERAMDISK`&lt;br /&gt;
    RAMDISKCOUNT=`echo $RAMDISKLENGTH / 512 | bc`&lt;br /&gt;
    dd if=$RESTORERAMDISK of=$DEVICECLASS$PRODUCTVERSION$BUILDVERSION.stripped.dmg bs=512 skip=4 count=$RAMDISKCOUNT conv=sync  &amp;gt; /dev/null 2&amp;gt;/dev/null&lt;br /&gt;
    openssl enc -d -in $DEVICECLASS$PRODUCTVERSION$BUILDVERSION.stripped.dmg -out $DEVICECLASS$PRODUCTVERSION$BUILDVERSION.ramdisk.dmg  -aes-128-cbc -K 188458A6D15034DFE386F23B61D43774 -iv 0  &amp;gt; /dev/null 2&amp;gt;/dev/null&lt;br /&gt;
    rm -f $DEVICECLASS$PRODUCTVERSION$BUILDVERSION.stripped.dmg&lt;br /&gt;
  else&lt;br /&gt;
    dd if=$RESTORERAMDISK of=$DEVICECLASS$PRODUCTVERSION$BUILDVERSION.ramdisk.dmg bs=512 skip=4 conv=sync  &amp;gt; /dev/null 2&amp;gt;/dev/null&lt;br /&gt;
  fi&lt;br /&gt;
else&lt;br /&gt;
  RAMDISKLENGTH=`hexdump -s12 -n4 -e '&amp;quot;%d\n&amp;quot;' $RESTORERAMDISK`&lt;br /&gt;
  RAMDISKCOUNT=`echo $RAMDISKLENGTH / 32 | bc`&lt;br /&gt;
  dd if=$RESTORERAMDISK of=$DEVICECLASS$PRODUCTVERSION$BUILDVERSION.ramdisk.dmg bs=32 skip=1 count=$RAMDISKCOUNT conv=sync  &amp;gt; /dev/null 2&amp;gt;/dev/null&lt;br /&gt;
fi&lt;br /&gt;
rm -f $RESTORERAMDISK&lt;br /&gt;
DECRYPTKEY=`strings $DEVICECLASS$PRODUCTVERSION$BUILDVERSION.ramdisk.dmg | egrep &amp;quot;^[0-9a-fA-F]{72}\$&amp;quot;`&lt;br /&gt;
if [ &amp;quot;$DECRYPTKEY&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
  echo &amp;quot;Decrypt failed : $IPSWNAME&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
unzip -o $IPSWNAME $SYSTEMRESTOREIMAGE  &amp;gt; /dev/null 2&amp;gt;/dev/null&lt;br /&gt;
./vfdecrypt -i $SYSTEMRESTOREIMAGE -o $DEVICECLASS$PRODUCTVERSION$BUILDVERSION.decrypted.dmg -k $DECRYPTKEY  &amp;gt; /dev/null 2&amp;gt;/dev/null&lt;br /&gt;
rm -f $SYSTEMRESTOREIMAGE&lt;br /&gt;
echo &lt;br /&gt;
md5 $IPSWNAME&lt;br /&gt;
echo &amp;quot;RAMDISK = $DEVICECLASS$PRODUCTVERSION$BUILDVERSION.ramdisk.dmg&amp;quot;&lt;br /&gt;
echo &amp;quot;FILESYSTEM = $DEVICECLASS$PRODUCTVERSION$BUILDVERSION.decrypted.dmg&amp;quot;&lt;br /&gt;
echo &amp;quot;DECRYPTKEY = $DECRYPTKEY&amp;quot;&lt;br /&gt;
DDONE=1&lt;br /&gt;
fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Invalid ipsw file $IPSWNAME&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
else&lt;br /&gt;
echo &amp;quot;$IPSWNAME NOT FOUND&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
done&lt;br /&gt;
if [ &amp;quot;$DDONE&amp;quot; == &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
  echo &amp;quot;Job Completed!!!&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sun, 01 Jun 2008 14:15:11 GMT</pubDate>			<dc:creator>Javacom</dc:creator>			<comments>http://www.iphone.org.hk/wiki/index.php/%E8%A8%8E%E8%AB%96:Decryptipsw.sh</comments>		</item>
	</channel>
</rss>