Skip to content
This repository
Browse code

Now uses the new cross platform C based dripwn binary. Much, much fas…

…ter.
  • Loading branch information...
commit c2265ff741e4a9b147abfeea67a1364c56f6ba7b 1 parent a71c7a5
authored April 28, 2010
2  Dripwn/Dripwn-Info.plist
@@ -19,7 +19,7 @@
19 19
 	<key>CFBundleSignature</key>
20 20
 	<string>????</string>
21 21
 	<key>CFBundleShortVersionString</key>
22  
-	<string>1.0.2</string>
  22
+	<string>1.1</string>
23 23
 	<key>LSMinimumSystemVersion</key>
24 24
 	<string>${MACOSX_DEPLOYMENT_TARGET}</string>
25 25
 	<key>CFBundleVersion</key>
53  Dripwn/Dripwn.xcodeproj/James.mode1v3
@@ -271,9 +271,7 @@
271 271
 							<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
272 272
 							<array>
273 273
 								<array>
274  
-									<integer>4</integer>
275  
-									<integer>3</integer>
276  
-									<integer>0</integer>
  274
+									<integer>16</integer>
277 275
 								</array>
278 276
 							</array>
279 277
 							<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
@@ -296,7 +294,7 @@
296 294
 							<real>186</real>
297 295
 						</array>
298 296
 						<key>RubberWindowFrame</key>
299  
-						<string>331 242 788 504 0 0 1280 778 </string>
  297
+						<string>328 244 788 504 0 0 1280 778 </string>
300 298
 					</dict>
301 299
 					<key>Module</key>
302 300
 					<string>PBXSmartGroupTreeModule</string>
@@ -324,24 +322,24 @@
324 322
 										<key>_historyCapacity</key>
325 323
 										<integer>0</integer>
326 324
 										<key>bookmark</key>
327  
-										<string>1ADB8FB011862DFE005141D3</string>
  325
+										<string>1AA9B81E1187AE8B00DA1E28</string>
328 326
 										<key>history</key>
329 327
 										<array>
330  
-											<string>1A2973341184D1C600BFB38E</string>
331 328
 											<string>1A2973D81184E3B900BFB38E</string>
332 329
 											<string>1A2974521184EDE600BFB38E</string>
333 330
 											<string>1A0755851184FB7600636616</string>
334 331
 											<string>1AD3E6AB11857D8E0059FB49</string>
335 332
 											<string>1AD3E6CB1185811A0059FB49</string>
336  
-											<string>1AD3E70B118585EC0059FB49</string>
337 333
 											<string>1ADB8F791185FCB2005141D3</string>
338 334
 											<string>1ADB8F851185FE05005141D3</string>
339 335
 											<string>1ADB8F861185FE05005141D3</string>
340 336
 											<string>1ADB8F871185FE05005141D3</string>
341 337
 											<string>1ADB8F881185FE05005141D3</string>
342 338
 											<string>1ADB8F891185FE05005141D3</string>
343  
-											<string>1ADB8F8A1185FE05005141D3</string>
344  
-											<string>1ADB8F971185FE4D005141D3</string>
  339
+											<string>1AA9B7CE1187A87600DA1E28</string>
  340
+											<string>1AA9B7CF1187A87600DA1E28</string>
  341
+											<string>1AA9B7D01187A87600DA1E28</string>
  342
+											<string>1AA9B8121187AC4400DA1E28</string>
345 343
 										</array>
346 344
 									</dict>
347 345
 									<key>SplitCount</key>
@@ -353,14 +351,14 @@
353 351
 							<key>GeometryConfiguration</key>
354 352
 							<dict>
355 353
 								<key>Frame</key>
356  
-								<string>{{0, 0}, {580, 200}}</string>
  354
+								<string>{{0, 0}, {580, 163}}</string>
357 355
 								<key>RubberWindowFrame</key>
358  
-								<string>331 242 788 504 0 0 1280 778 </string>
  356
+								<string>328 244 788 504 0 0 1280 778 </string>
359 357
 							</dict>
360 358
 							<key>Module</key>
361 359
 							<string>PBXNavigatorGroup</string>
362 360
 							<key>Proportion</key>
363  
-							<string>200pt</string>
  361
+							<string>163pt</string>
364 362
 						</dict>
365 363
 						<dict>
366 364
 							<key>BecomeActive</key>
@@ -375,14 +373,14 @@
375 373
 							<key>GeometryConfiguration</key>
376 374
 							<dict>
377 375
 								<key>Frame</key>
378  
-								<string>{{0, 205}, {580, 258}}</string>
  376
+								<string>{{0, 168}, {580, 295}}</string>
379 377
 								<key>RubberWindowFrame</key>
380  
-								<string>331 242 788 504 0 0 1280 778 </string>
  378
+								<string>328 244 788 504 0 0 1280 778 </string>
381 379
 							</dict>
382 380
 							<key>Module</key>
383 381
 							<string>XCDetailModule</string>
384 382
 							<key>Proportion</key>
385  
-							<string>258pt</string>
  383
+							<string>295pt</string>
386 384
 						</dict>
387 385
 					</array>
388 386
 					<key>Proportion</key>
@@ -401,9 +399,9 @@
401 399
 			</array>
402 400
 			<key>TableOfContents</key>
403 401
 			<array>
404  
-				<string>1ADB8FB111862DFE005141D3</string>
  402
+				<string>1AA9B81F1187AE8B00DA1E28</string>
405 403
 				<string>1CE0B1FE06471DED0097A5F4</string>
406  
-				<string>1ADB8FB211862DFE005141D3</string>
  404
+				<string>1AA9B8201187AE8B00DA1E28</string>
407 405
 				<string>1CE0B20306471E060097A5F4</string>
408 406
 				<string>1CE0B20506471E060097A5F4</string>
409 407
 			</array>
@@ -541,11 +539,12 @@
541 539
 	<integer>5</integer>
542 540
 	<key>WindowOrderList</key>
543 541
 	<array>
  542
+		<string>1CD10A99069EF8BA00B06720</string>
544 543
 		<string>1AB4220B1182183900CCFBA0</string>
545 544
 		<string>/Users/James/iphonelinux/Dripwn/Dripwn.xcodeproj</string>
546 545
 	</array>
547 546
 	<key>WindowString</key>
548  
-	<string>331 242 788 504 0 0 1280 778 </string>
  547
+	<string>328 244 788 504 0 0 1280 778 </string>
549 548
 	<key>WindowToolsV3</key>
550 549
 	<array>
551 550
 		<dict>
@@ -622,7 +621,7 @@
622 621
 			<key>TableOfContents</key>
623 622
 			<array>
624 623
 				<string>1AB4220B1182183900CCFBA0</string>
625  
-				<string>1ADB8FB311862DFE005141D3</string>
  624
+				<string>1AA9B8211187AE8B00DA1E28</string>
626 625
 				<string>1CD0528F0623707200166675</string>
627 626
 				<string>XCMainBuildResultsModuleGUID</string>
628 627
 			</array>
@@ -744,13 +743,13 @@
744 743
 			<key>TableOfContents</key>
745 744
 			<array>
746 745
 				<string>1CD10A99069EF8BA00B06720</string>
747  
-				<string>1ADB8F9B1185FE4D005141D3</string>
  746
+				<string>1AA9B8221187AE8B00DA1E28</string>
748 747
 				<string>1C162984064C10D400B95A72</string>
749  
-				<string>1ADB8F9C1185FE4D005141D3</string>
750  
-				<string>1ADB8F9D1185FE4D005141D3</string>
751  
-				<string>1ADB8F9E1185FE4D005141D3</string>
752  
-				<string>1ADB8F9F1185FE4D005141D3</string>
753  
-				<string>1ADB8FA01185FE4D005141D3</string>
  748
+				<string>1AA9B8231187AE8B00DA1E28</string>
  749
+				<string>1AA9B8241187AE8B00DA1E28</string>
  750
+				<string>1AA9B8251187AE8B00DA1E28</string>
  751
+				<string>1AA9B8261187AE8B00DA1E28</string>
  752
+				<string>1AA9B8271187AE8B00DA1E28</string>
754 753
 			</array>
755 754
 			<key>ToolbarConfiguration</key>
756 755
 			<string>xcode.toolbar.config.debugV3</string>
@@ -914,7 +913,7 @@
914 913
 			<key>TableOfContents</key>
915 914
 			<array>
916 915
 				<string>1C78EAAD065D492600B07095</string>
917  
-				<string>1AD3E66D11857B200059FB49</string>
  916
+				<string>1AA9B7D81187A87600DA1E28</string>
918 917
 				<string>1C78EAAC065D492600B07095</string>
919 918
 			</array>
920 919
 			<key>ToolbarConfiguration</key>
@@ -924,7 +923,7 @@
924 923
 			<key>WindowToolGUID</key>
925 924
 			<string>1C78EAAD065D492600B07095</string>
926 925
 			<key>WindowToolIsVisible</key>
927  
-			<false/>
  926
+			<true/>
928 927
 		</dict>
929 928
 		<dict>
930 929
 			<key>Identifier</key>
188  Dripwn/Dripwn.xcodeproj/James.pbxuser
@@ -2,7 +2,7 @@
2 2
 {
3 3
 	089C165DFE840E0CC02AAC07 /* English */ = {
4 4
 		uiCtxt = {
5  
-			sepNavIntBoundsRect = "{{0, 0}, {519, 190}}";
  5
+			sepNavIntBoundsRect = "{{0, 0}, {519, 144}}";
6 6
 			sepNavSelRange = "{0, 0}";
7 7
 			sepNavVisRange = "{0, 45}";
8 8
 		};
@@ -20,29 +20,19 @@
20 20
 	1A296CB91184B5CC00BFB38E /* IPSW.h */ = {
21 21
 		uiCtxt = {
22 22
 			sepNavIntBoundsRect = "{{0, 0}, {898, 600}}";
23  
-			sepNavSelRange = "{477, 0}";
24  
-			sepNavVisRange = "{0, 477}";
  23
+			sepNavSelRange = "{223, 0}";
  24
+			sepNavVisRange = "{0, 256}";
25 25
 			sepNavWindowFrame = "{{38, 24}, {957, 728}}";
26 26
 		};
27 27
 	};
28 28
 	1A296CBA1184B5CC00BFB38E /* IPSW.m */ = {
29 29
 		uiCtxt = {
30  
-			sepNavIntBoundsRect = "{{0, 0}, {1937, 2197}}";
31  
-			sepNavSelRange = "{1724, 0}";
32  
-			sepNavVisRange = "{0, 1957}";
33  
-			sepNavWindowFrame = "{{234, 50}, {957, 728}}";
  30
+			sepNavIntBoundsRect = "{{0, 0}, {1699, 936}}";
  31
+			sepNavSelRange = "{653, 0}";
  32
+			sepNavVisRange = "{122, 1573}";
  33
+			sepNavWindowFrame = "{{194, 50}, {957, 728}}";
34 34
 		};
35 35
 	};
36  
-	1A2973341184D1C600BFB38E /* PBXTextBookmark */ = {
37  
-		isa = PBXTextBookmark;
38  
-		fRef = 1A296CB91184B5CC00BFB38E /* IPSW.h */;
39  
-		name = "IPSW.h: 8";
40  
-		rLen = 0;
41  
-		rLoc = 125;
42  
-		rType = 0;
43  
-		vrLen = 311;
44  
-		vrLoc = 0;
45  
-	};
46 36
 	1A2973BC1184E2D700BFB38E /* NSData+Base64.h */ = {
47 37
 		uiCtxt = {
48 38
 			sepNavIntBoundsRect = "{{0, 0}, {768, 494}}";
@@ -84,6 +74,60 @@
84 74
 			sepNavWindowFrame = "{{15, 45}, {957, 728}}";
85 75
 		};
86 76
 	};
  77
+	1AA9B7CE1187A87600DA1E28 /* PBXTextBookmark */ = {
  78
+		isa = PBXTextBookmark;
  79
+		fRef = 1A296CB91184B5CC00BFB38E /* IPSW.h */;
  80
+		name = "IPSW.h: 8";
  81
+		rLen = 0;
  82
+		rLoc = 125;
  83
+		rType = 0;
  84
+		vrLen = 78;
  85
+		vrLoc = 399;
  86
+	};
  87
+	1AA9B7CF1187A87600DA1E28 /* PBXTextBookmark */ = {
  88
+		isa = PBXTextBookmark;
  89
+		fRef = 1A296CBA1184B5CC00BFB38E /* IPSW.m */;
  90
+		name = "IPSW.m: 71";
  91
+		rLen = 0;
  92
+		rLoc = 2289;
  93
+		rType = 0;
  94
+		vrLen = 283;
  95
+		vrLoc = 125;
  96
+	};
  97
+	1AA9B7D01187A87600DA1E28 /* PBXTextBookmark */ = {
  98
+		isa = PBXTextBookmark;
  99
+		fRef = 089C165DFE840E0CC02AAC07 /* English */;
  100
+		name = "InfoPlist.strings: 1";
  101
+		rLen = 0;
  102
+		rLoc = 0;
  103
+		rType = 0;
  104
+		vrLen = 45;
  105
+		vrLoc = 0;
  106
+	};
  107
+	1AA9B8121187AC4400DA1E28 /* PlistBookmark */ = {
  108
+		isa = PlistBookmark;
  109
+		fRef = 8D1107310486CEB800E47090 /* Dripwn-Info.plist */;
  110
+		fallbackIsa = PBXBookmark;
  111
+		isK = 0;
  112
+		kPath = (
  113
+			LSMinimumSystemVersion,
  114
+		);
  115
+		name = "/Users/James/iphonelinux/Dripwn/Dripwn-Info.plist";
  116
+		rLen = 0;
  117
+		rLoc = 9223372036854775808;
  118
+	};
  119
+	1AA9B81E1187AE8B00DA1E28 /* PlistBookmark */ = {
  120
+		isa = PlistBookmark;
  121
+		fRef = 8D1107310486CEB800E47090 /* Dripwn-Info.plist */;
  122
+		fallbackIsa = PBXBookmark;
  123
+		isK = 0;
  124
+		kPath = (
  125
+			LSMinimumSystemVersion,
  126
+		);
  127
+		name = "/Users/James/iphonelinux/Dripwn/Dripwn-Info.plist";
  128
+		rLen = 0;
  129
+		rLoc = 9223372036854775807;
  130
+	};
87 131
 	1AB422001182183400CCFBA0 /* Dripwn */ = {
88 132
 		isa = PBXExecutable;
89 133
 		activeArgIndices = (
@@ -162,16 +206,6 @@
162 206
 		vrLen = 390;
163 207
 		vrLoc = 0;
164 208
 	};
165  
-	1AD3E70B118585EC0059FB49 /* PBXTextBookmark */ = {
166  
-		isa = PBXTextBookmark;
167  
-		fRef = 1A296CBA1184B5CC00BFB38E /* IPSW.m */;
168  
-		name = "IPSW.m: 195";
169  
-		rLen = 0;
170  
-		rLoc = 7012;
171  
-		rType = 0;
172  
-		vrLen = 358;
173  
-		vrLoc = 6186;
174  
-	};
175 209
 	1ADB8F791185FCB2005141D3 /* PBXTextBookmark */ = {
176 210
 		isa = PBXTextBookmark;
177 211
 		fRef = 1AD3E69A11857D290059FB49 /* CocoaCryptoHashing.m */;
@@ -236,52 +270,6 @@
236 270
 		rLen = 0;
237 271
 		rLoc = 9223372036854775808;
238 272
 	};
239  
-	1ADB8F8A1185FE05005141D3 /* PBXTextBookmark */ = {
240  
-		isa = PBXTextBookmark;
241  
-		fRef = 089C165DFE840E0CC02AAC07 /* English */;
242  
-		name = "InfoPlist.strings: 1";
243  
-		rLen = 0;
244  
-		rLoc = 0;
245  
-		rType = 0;
246  
-		vrLen = 45;
247  
-		vrLoc = 0;
248  
-	};
249  
-	1ADB8F8C1185FE05005141D3 /* PlistBookmark */ = {
250  
-		isa = PlistBookmark;
251  
-		fRef = 8D1107310486CEB800E47090 /* Dripwn-Info.plist */;
252  
-		fallbackIsa = PBXBookmark;
253  
-		isK = 0;
254  
-		kPath = (
255  
-			LSMinimumSystemVersion,
256  
-		);
257  
-		name = "/Users/James/iphonelinux/Dripwn/Dripwn-Info.plist";
258  
-		rLen = 0;
259  
-		rLoc = 9223372036854775808;
260  
-	};
261  
-	1ADB8F971185FE4D005141D3 /* PlistBookmark */ = {
262  
-		isa = PlistBookmark;
263  
-		fRef = 8D1107310486CEB800E47090 /* Dripwn-Info.plist */;
264  
-		fallbackIsa = PBXBookmark;
265  
-		isK = 0;
266  
-		kPath = (
267  
-			LSMinimumSystemVersion,
268  
-		);
269  
-		name = "/Users/James/iphonelinux/Dripwn/Dripwn-Info.plist";
270  
-		rLen = 0;
271  
-		rLoc = 9223372036854775808;
272  
-	};
273  
-	1ADB8FB011862DFE005141D3 /* PlistBookmark */ = {
274  
-		isa = PlistBookmark;
275  
-		fRef = 8D1107310486CEB800E47090 /* Dripwn-Info.plist */;
276  
-		fallbackIsa = PBXBookmark;
277  
-		isK = 0;
278  
-		kPath = (
279  
-			LSMinimumSystemVersion,
280  
-		);
281  
-		name = "/Users/James/iphonelinux/Dripwn/Dripwn-Info.plist";
282  
-		rLen = 0;
283  
-		rLoc = 9223372036854775807;
284  
-	};
285 273
 	256AC3D80F4B6AC300CF3369 /* DripwnAppDelegate.h */ = {
286 274
 		uiCtxt = {
287 275
 			sepNavIntBoundsRect = "{{0, 0}, {519, 273}}";
@@ -359,6 +347,18 @@
359 347
 					PBXFileDataSource_Target_ColumnID,
360 348
 				);
361 349
 			};
  350
+			PBXConfiguration.PBXFileTableDataSource3.PBXFindDataSource = {
  351
+				PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
  352
+				PBXFileTableDataSourceColumnSortingKey = PBXFindDataSource_LocationID;
  353
+				PBXFileTableDataSourceColumnWidthsKey = (
  354
+					200,
  355
+					355,
  356
+				);
  357
+				PBXFileTableDataSourceColumnsKey = (
  358
+					PBXFindDataSource_MessageID,
  359
+					PBXFindDataSource_LocationID,
  360
+				);
  361
+			};
362 362
 			PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
363 363
 				PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
364 364
 				PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
@@ -381,27 +381,26 @@
381 381
 					PBXFileDataSource_Warnings_ColumnID,
382 382
 				);
383 383
 			};
384  
-			PBXPerProjectTemplateStateSaveDate = 294006234;
385  
-			PBXWorkspaceStateSaveDate = 294006234;
  384
+			PBXPerProjectTemplateStateSaveDate = 294104710;
  385
+			PBXWorkspaceStateSaveDate = 294104710;
386 386
 		};
387 387
 		perUserProjectItems = {
388  
-			1A0755851184FB7600636616 = 1A0755851184FB7600636616 /* PBXTextBookmark */;
389  
-			1A2973341184D1C600BFB38E = 1A2973341184D1C600BFB38E /* PBXTextBookmark */;
390  
-			1A2973D81184E3B900BFB38E = 1A2973D81184E3B900BFB38E /* PBXTextBookmark */;
391  
-			1A2974521184EDE600BFB38E = 1A2974521184EDE600BFB38E /* PBXTextBookmark */;
392  
-			1AD3E6AB11857D8E0059FB49 = 1AD3E6AB11857D8E0059FB49 /* PBXTextBookmark */;
393  
-			1AD3E6CB1185811A0059FB49 = 1AD3E6CB1185811A0059FB49 /* PBXTextBookmark */;
394  
-			1AD3E70B118585EC0059FB49 = 1AD3E70B118585EC0059FB49 /* PBXTextBookmark */;
395  
-			1ADB8F791185FCB2005141D3 = 1ADB8F791185FCB2005141D3 /* PBXTextBookmark */;
396  
-			1ADB8F851185FE05005141D3 = 1ADB8F851185FE05005141D3 /* PBXTextBookmark */;
397  
-			1ADB8F861185FE05005141D3 = 1ADB8F861185FE05005141D3 /* PlistBookmark */;
398  
-			1ADB8F871185FE05005141D3 = 1ADB8F871185FE05005141D3 /* PlistBookmark */;
399  
-			1ADB8F881185FE05005141D3 = 1ADB8F881185FE05005141D3 /* PlistBookmark */;
400  
-			1ADB8F891185FE05005141D3 = 1ADB8F891185FE05005141D3 /* PlistBookmark */;
401  
-			1ADB8F8A1185FE05005141D3 = 1ADB8F8A1185FE05005141D3 /* PBXTextBookmark */;
402  
-			1ADB8F8C1185FE05005141D3 = 1ADB8F8C1185FE05005141D3 /* PlistBookmark */;
403  
-			1ADB8F971185FE4D005141D3 = 1ADB8F971185FE4D005141D3 /* PlistBookmark */;
404  
-			1ADB8FB011862DFE005141D3 /* PlistBookmark */ = 1ADB8FB011862DFE005141D3 /* PlistBookmark */;
  388
+			1A0755851184FB7600636616 /* PBXTextBookmark */ = 1A0755851184FB7600636616 /* PBXTextBookmark */;
  389
+			1A2973D81184E3B900BFB38E /* PBXTextBookmark */ = 1A2973D81184E3B900BFB38E /* PBXTextBookmark */;
  390
+			1A2974521184EDE600BFB38E /* PBXTextBookmark */ = 1A2974521184EDE600BFB38E /* PBXTextBookmark */;
  391
+			1AA9B7CE1187A87600DA1E28 /* PBXTextBookmark */ = 1AA9B7CE1187A87600DA1E28 /* PBXTextBookmark */;
  392
+			1AA9B7CF1187A87600DA1E28 /* PBXTextBookmark */ = 1AA9B7CF1187A87600DA1E28 /* PBXTextBookmark */;
  393
+			1AA9B7D01187A87600DA1E28 /* PBXTextBookmark */ = 1AA9B7D01187A87600DA1E28 /* PBXTextBookmark */;
  394
+			1AA9B8121187AC4400DA1E28 /* PlistBookmark */ = 1AA9B8121187AC4400DA1E28 /* PlistBookmark */;
  395
+			1AA9B81E1187AE8B00DA1E28 /* PlistBookmark */ = 1AA9B81E1187AE8B00DA1E28 /* PlistBookmark */;
  396
+			1AD3E6AB11857D8E0059FB49 /* PBXTextBookmark */ = 1AD3E6AB11857D8E0059FB49 /* PBXTextBookmark */;
  397
+			1AD3E6CB1185811A0059FB49 /* PBXTextBookmark */ = 1AD3E6CB1185811A0059FB49 /* PBXTextBookmark */;
  398
+			1ADB8F791185FCB2005141D3 /* PBXTextBookmark */ = 1ADB8F791185FCB2005141D3 /* PBXTextBookmark */;
  399
+			1ADB8F851185FE05005141D3 /* PBXTextBookmark */ = 1ADB8F851185FE05005141D3 /* PBXTextBookmark */;
  400
+			1ADB8F861185FE05005141D3 /* PlistBookmark */ = 1ADB8F861185FE05005141D3 /* PlistBookmark */;
  401
+			1ADB8F871185FE05005141D3 /* PlistBookmark */ = 1ADB8F871185FE05005141D3 /* PlistBookmark */;
  402
+			1ADB8F881185FE05005141D3 /* PlistBookmark */ = 1ADB8F881185FE05005141D3 /* PlistBookmark */;
  403
+			1ADB8F891185FE05005141D3 /* PlistBookmark */ = 1ADB8F891185FE05005141D3 /* PlistBookmark */;
405 404
 		};
406 405
 		sourceControlManager = 1AB4220D1182183900CCFBA0 /* Source Control */;
407 406
 		userBuildSettings = {
@@ -409,9 +408,10 @@
409 408
 	};
410 409
 	29B97316FDCFA39411CA2CEA /* main.m */ = {
411 410
 		uiCtxt = {
412  
-			sepNavIntBoundsRect = "{{0, 0}, {519, 210}}";
413  
-			sepNavSelRange = "{0, 0}";
  411
+			sepNavIntBoundsRect = "{{0, 0}, {981, 599}}";
  412
+			sepNavSelRange = "{124, 0}";
414 413
 			sepNavVisRange = "{0, 247}";
  414
+			sepNavWindowFrame = "{{38, 25}, {1040, 727}}";
415 415
 		};
416 416
 	};
417 417
 	8D1107260486CEB800E47090 /* Dripwn */ = {
8  Dripwn/Dripwn.xcodeproj/project.pbxproj
@@ -9,9 +9,9 @@
9 9
 /* Begin PBXBuildFile section */
10 10
 		1A0755CB1184FD9C00636616 /* libcrypto.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A0755CA1184FD9C00636616 /* libcrypto.dylib */; };
11 11
 		1A296CBB1184B5CC00BFB38E /* IPSW.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A296CBA1184B5CC00BFB38E /* IPSW.m */; };
12  
-		1A2972F81184C99E00BFB38E /* vfdecrypt in Resources */ = {isa = PBXBuildFile; fileRef = 1A2972F71184C99E00BFB38E /* vfdecrypt */; };
13 12
 		1A2973BE1184E2D700BFB38E /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A2973BD1184E2D700BFB38E /* NSData+Base64.m */; };
14 13
 		1A2974771184F1D800BFB38E /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 1A2974761184F1D800BFB38E /* Icon.icns */; };
  14
+		1AA9B7C31187A80000DA1E28 /* dripwn in Resources */ = {isa = PBXBuildFile; fileRef = 1AA9B7C21187A80000DA1E28 /* dripwn */; };
15 15
 		1AD3E69B11857D290059FB49 /* CocoaCryptoHashing.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AD3E69A11857D290059FB49 /* CocoaCryptoHashing.m */; };
16 16
 		1AD3E6EB118584720059FB49 /* iPhone1,1_3.1.2_7D11_Restore.ipsw.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1AD3E6E8118584720059FB49 /* iPhone1,1_3.1.2_7D11_Restore.ipsw.plist */; };
17 17
 		1AD3E6EC118584720059FB49 /* iPhone1,1_3.1.3_7E18_Restore.ipsw.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1AD3E6E9118584720059FB49 /* iPhone1,1_3.1.3_7E18_Restore.ipsw.plist */; };
@@ -46,10 +46,10 @@
46 46
 		1A0755CA1184FD9C00636616 /* libcrypto.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libcrypto.dylib; path = usr/lib/libcrypto.dylib; sourceTree = SDKROOT; };
47 47
 		1A296CB91184B5CC00BFB38E /* IPSW.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IPSW.h; sourceTree = "<group>"; };
48 48
 		1A296CBA1184B5CC00BFB38E /* IPSW.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IPSW.m; sourceTree = "<group>"; };
49  
-		1A2972F71184C99E00BFB38E /* vfdecrypt */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = vfdecrypt; sourceTree = "<group>"; };
50 49
 		1A2973BC1184E2D700BFB38E /* NSData+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+Base64.h"; sourceTree = "<group>"; };
51 50
 		1A2973BD1184E2D700BFB38E /* NSData+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+Base64.m"; sourceTree = "<group>"; };
52 51
 		1A2974761184F1D800BFB38E /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Icon.icns; sourceTree = "<group>"; };
  52
+		1AA9B7C21187A80000DA1E28 /* dripwn */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = dripwn; sourceTree = "<group>"; };
53 53
 		1AD3E69911857D290059FB49 /* CocoaCryptoHashing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CocoaCryptoHashing.h; sourceTree = "<group>"; };
54 54
 		1AD3E69A11857D290059FB49 /* CocoaCryptoHashing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaCryptoHashing.m; sourceTree = "<group>"; };
55 55
 		1AD3E6E8118584720059FB49 /* iPhone1,1_3.1.2_7D11_Restore.ipsw.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "iPhone1,1_3.1.2_7D11_Restore.ipsw.plist"; sourceTree = "<group>"; };
@@ -163,9 +163,9 @@
163 163
 		29B97317FDCFA39411CA2CEA /* Resources */ = {
164 164
 			isa = PBXGroup;
165 165
 			children = (
  166
+				1AA9B7C21187A80000DA1E28 /* dripwn */,
166 167
 				1AD3E6E7118584720059FB49 /* Firmwares */,
167 168
 				1A2974761184F1D800BFB38E /* Icon.icns */,
168  
-				1A2972F71184C99E00BFB38E /* vfdecrypt */,
169 169
 				8D1107310486CEB800E47090 /* Dripwn-Info.plist */,
170 170
 				089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
171 171
 				1DDD58140DA1D0A300B32029 /* MainMenu.xib */,
@@ -228,7 +228,6 @@
228 228
 			files = (
229 229
 				8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
230 230
 				1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,
231  
-				1A2972F81184C99E00BFB38E /* vfdecrypt in Resources */,
232 231
 				1A2974771184F1D800BFB38E /* Icon.icns in Resources */,
233 232
 				1AD3E6EB118584720059FB49 /* iPhone1,1_3.1.2_7D11_Restore.ipsw.plist in Resources */,
234 233
 				1AD3E6EC118584720059FB49 /* iPhone1,1_3.1.3_7E18_Restore.ipsw.plist in Resources */,
@@ -237,6 +236,7 @@
237 236
 				1ADB8F831185FDBC005141D3 /* iPhone2,1_3.1.3_7E18_Restore.ipsw.plist in Resources */,
238 237
 				1ADB8FAA11862DF2005141D3 /* iPhone1,2_3.1_2_7D11_Restore.ipsw.plist in Resources */,
239 238
 				1ADB8FAB11862DF2005141D3 /* iPhone1,2_3.1.3_7E18_Restore.ipsw.plist in Resources */,
  239
+				1AA9B7C31187A80000DA1E28 /* dripwn in Resources */,
240 240
 			);
241 241
 			runOnlyForDeploymentPostprocessing = 0;
242 242
 		};
5  Dripwn/IPSW.h
@@ -14,11 +14,6 @@
14 14
 }
15 15
 
16 16
 - (BOOL) startExtraction:(id) sender;
17  
-- (BOOL) decodeFirmware:(NSString *) mountName;
18  
-- (BOOL) unzipIPSW:(NSString *) path;
19  
-- (BOOL) mountImage;
20  
-- (BOOL) decryptImage:(NSString *) imageName andKey:(NSString *)key;
21  
-- (BOOL) unmountImage:(NSString *)mountName;
22 17
 - (NSString *) selectIPSW;
23 18
 
24 19
 @end
166  Dripwn/IPSW.m
@@ -7,7 +7,6 @@
7 7
 //
8 8
 
9 9
 #import "IPSW.h"
10  
-#import "NSData+Base64.h"
11 10
 #import "CocoaCryptoHashing.h"
12 11
 
13 12
 @implementation IPSW
@@ -20,161 +19,27 @@ - (BOOL) startExtraction:(id) sender {
20 19
 	NSString *resourceBundle = [[NSBundle mainBundle] pathForResource:[ipsw lastPathComponent] ofType:@"plist"];
21 20
 	if(!resourceBundle) {
22 21
 		NSLog(@"Invalid file");
23  
-		NSAlert *alert = [NSAlert alertWithMessageText:@"Invalid file" defaultButton:@"Okay" alternateButton:nil otherButton:nil informativeTextWithFormat:@"Invalid file selected. You must use an iPhone 2G IPSW firmware version 3.1 or above."];
  22
+		NSAlert *alert = [NSAlert alertWithMessageText:@"Invalid file" defaultButton:@"Okay" alternateButton:nil otherButton:nil informativeTextWithFormat:@"Invalid file selected. You must use an iPhone IPSW firmware version 3.1 or above."];
24 23
 		[alert runModal];
25 24
 		return NO;
26 25
 	}
27  
-	NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:resourceBundle];
28  
-	NSString *sha1key = [dict objectForKey:@"SHA1"];
29  
-	
30  
-	NSData *dta = [NSData dataWithContentsOfFile:ipsw];
31  
-	NSString *digest = [dta sha1HexHash];
32  
-	
33  
-	
34  
-	if(![digest isEqualToString:sha1key]) {
35  
-		NSLog(@"Corrupt file");
36  
-		NSAlert *alert = [NSAlert alertWithMessageText:@"Damage file" defaultButton:@"Okay" alternateButton:nil otherButton:nil informativeTextWithFormat:@"You seem to have the correct filename, but it is damaged. Try to redownload."];
37  
-		[alert runModal];
38  
-		return NO;
39  
-	}
40  
-	if(![self unzipIPSW:ipsw]) {
41  
-		NSAlert *alert = [NSAlert alertWithMessageText:@"Error unzipping" defaultButton:@"Okay" alternateButton:nil otherButton:nil informativeTextWithFormat:@"Unknown error unzipping IPSW file."];
42  
-		[alert runModal];
43  
-		return NO;
44  
-	}
45  
-	if(![self decryptImage:[dict objectForKey:@"RootFilesystem"] andKey:[dict objectForKey:@"RootFilesystemKey"]]) {
46  
-		NSAlert *alert = [NSAlert alertWithMessageText:@"Error decrypting image" defaultButton:@"Okay" alternateButton:nil otherButton:nil informativeTextWithFormat:@"That's interesting, this shouldn't be possible. Perhaps the wrong architecture."];
47  
-		[alert runModal];
48  
-		return NO;
49  
-	}
50  
-	if(![self mountImage]) {
51  
-		NSAlert *alert = [NSAlert alertWithMessageText:@"Error mounting image" defaultButton:@"Okay" alternateButton:nil otherButton:nil informativeTextWithFormat:@"The root filesystem could not be mounted."];
52  
-		[alert runModal];
53  
-		return NO;
54  
-	}
55  
-	if(![self decodeFirmware:[dict objectForKey:@"RootFilesystemMountVolume"]]) {
56  
-		NSAlert *alert = [NSAlert alertWithMessageText:@"Couldn't decode firmware" defaultButton:@"Okay" alternateButton:nil otherButton:nil informativeTextWithFormat:@"Error decoding base64 firmware files!"];
57  
-		[alert runModal];
58  
-		return NO;
59  
-	}
60  
-	if(![self unmountImage:[dict objectForKey:@"RootFilesystemMountVolume"]]) {
61  
-		NSAlert *alert = [NSAlert alertWithMessageText:@"Error unmounting image." defaultButton:@"Okay" alternateButton:nil otherButton:nil informativeTextWithFormat:@"This isn't too much of a problem, your firmware files should already be created. Reboot to unmount IPSW."];
62  
-		[alert runModal];
63  
-		return NO;
64  
-	}
65  
-	[[NSFileManager defaultManager] removeItemAtPath:@"/tmp/ipsw/" error:nil];
66  
-	NSAlert *alert = [NSAlert alertWithMessageText:@"Done!" defaultButton:@"Okay" alternateButton:nil otherButton:nil informativeTextWithFormat:@"Two firmware files, all ready for iDroids usage! I placed them on your desktop for you.."];
67  
-	[alert runModal];
68  
-	NSLog(@"Firmware succesfully decrypted!");
69  
-	return YES;
70  
-}
71  
-
72  
-- (BOOL) decodeFirmware:(NSString *) mountName {
73  
-	NSString *file = [NSString stringWithContentsOfFile:[NSString stringWithFormat:@"/Volumes/%@/usr/share/firmware/multitouch/iPhone.mtprops", mountName] encoding:NSASCIIStringEncoding error:nil];
74  
-	
75  
-	NSString *curDir = NSHomeDirectory();
76  
-	
77  
-	NSRange range = [file rangeOfString:@"<data>"];
78  
-	int start = range.location+range.length;
79  
-	NSRange r = [file rangeOfString:@"</data>"];
80  
-	int end = r.location;
81  
-	NSRange newRange;
82  
-	newRange.location = start;
83  
-	newRange.length = end-start;
84  
-	NSString *base64Encoded = [file substringWithRange:newRange];
85  
-	NSData *toWrite = [NSData dataWithBase64EncodedString:base64Encoded];
86  
-	[toWrite writeToFile:[NSString stringWithFormat:@"%@/Desktop/zephyr_aspeed.bin", curDir] atomically:YES];
87  
-	
88  
-	int newStart = newRange.location+newRange.length+7;
89  
-	file = [file substringFromIndex:newStart];
90  
-	range = [file rangeOfString:@"<data>"];
91  
-	start = range.location+range.length;
92  
-	r = [file rangeOfString:@"</data>"];
93  
-	end = r.location;
94  
-	newRange.location = start;
95  
-	newRange.length = end-start;
96  
-	base64Encoded = [file substringWithRange:newRange];
97  
-	toWrite = [NSData dataWithBase64EncodedString:base64Encoded];
98  
-	[toWrite writeToFile:[NSString stringWithFormat:@"%@/Desktop/zephyr_main.bin", curDir] atomically:YES];
99  
-	
100  
-	return YES;
101  
-}
102  
-
103  
-- (BOOL) unzipIPSW:(NSString *) path {
104  
-	NSTask *cmnd=[[NSTask alloc] init];
105  
-	[cmnd setLaunchPath:@"/usr/bin/ditto"];
106  
-	[cmnd setArguments:[NSArray arrayWithObjects:
107  
-						@"-v",@"-x",@"-k",@"--rsrc",path,@"/tmp/ipsw/",nil]];
108  
-	[cmnd launch];
109  
-	[cmnd waitUntilExit];
110  
-	
111  
-	// Handle the task's termination status
112  
-	if ([cmnd terminationStatus] != 0)
113  
-	{
114  
-		return NO;
115  
-	}
116  
-	
117  
-	// You *did* remember to wash behind your ears ...
118  
-	// ... right?
119  
-	[cmnd release];
120  
-	return YES;
121  
-}
122  
-
123  
-- (BOOL) decryptImage:(NSString *) imageName andKey:(NSString *)key {
  26
+	NSString *saveFolder = [self chooseFolder];
  27
+	NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:resourceBundle];	
124 28
 	NSTask *cmnd=[[NSTask alloc] init];
125  
-	[cmnd setLaunchPath:[[NSBundle mainBundle] pathForResource:@"vfdecrypt" ofType:nil]];
126  
-	[cmnd setArguments:[NSArray arrayWithObjects:
127  
-						@"-i", [NSString stringWithFormat:@"/tmp/ipsw/%@", imageName], @"-o", @"/tmp/ipsw/decryptedfs.dmg", @"-k", key,nil]];
  29
+	[cmnd setLaunchPath:[[NSBundle mainBundle] pathForResource:@"dripwn" ofType:@""]];
  30
+	[cmnd setArguments:[NSArray arrayWithObjects:ipsw,[dict objectForKey:@"RootFilesystemKey"],[dict objectForKey:@"RootFilesystem"],nil]];
  31
+	[cmnd setCurrentDirectoryPath:saveFolder];
128 32
 	[cmnd launch];
129 33
 	[cmnd waitUntilExit];
130 34
 	
131  
-	// Handle the task's termination status
132 35
 	if ([cmnd terminationStatus] != 0)
133 36
 	{
134 37
 		return NO;
135 38
 	}
136  
-	
137  
-	// You *did* remember to wash behind your ears ...
138  
-	// ... right?
139 39
 	[cmnd release];
140  
-	return YES;
141  
-}
142  
-
143  
-- (BOOL) mountImage {
144  
-	NSTask *cmnd=[[NSTask alloc] init];
145  
-	[cmnd setLaunchPath:@"/usr/bin/hdiutil"];
146  
-	[cmnd setArguments:[NSArray arrayWithObjects: @"attach", @"-noverify", @"-nobrowse", @"-noautoopen", @"/tmp/ipsw/decryptedfs.dmg",nil]];
147  
-	[cmnd launch];
148  
-	[cmnd waitUntilExit];
149  
-	
150  
-	// Handle the task's termination status
151  
-	if ([cmnd terminationStatus] != 0)
152  
-	{
153  
-		return NO;
154  
-	}
155 40
 	
156  
-	// You *did* remember to wash behind your ears ...
157  
-	// ... right?
158  
-	[cmnd release];
159  
-	return YES;
160  
-}
161  
-
162  
-- (BOOL) unmountImage:(NSString *)mountName {
163  
-	NSTask *cmnd=[[NSTask alloc] init];
164  
-	[cmnd setLaunchPath:@"/usr/bin/hdiutil"];
165  
-	[cmnd setArguments:[NSArray arrayWithObjects: @"detach", [NSString stringWithFormat:@"/Volumes/%@", mountName],nil]];
166  
-	[cmnd launch];
167  
-	[cmnd waitUntilExit];
168  
-	
169  
-	// Handle the task's termination status
170  
-	if ([cmnd terminationStatus] != 0)
171  
-	{
172  
-		return NO;
173  
-	}
174  
-	
175  
-	// You *did* remember to wash behind your ears ...
176  
-	// ... right?
177  
-	[cmnd release];
  41
+	NSAlert *alert = [NSAlert alertWithMessageText:@"Complete" defaultButton:@"Okay" alternateButton:nil otherButton:nil informativeTextWithFormat:@"Succesfully extracted Zephyr firmware files."];
  42
+	[alert runModal];
178 43
 	return YES;
179 44
 }
180 45
 
@@ -192,4 +57,19 @@ - (NSString *) selectIPSW {
192 57
 	return nil;
193 58
 }
194 59
 
  60
+- (NSString *) chooseFolder {
  61
+	NSOpenPanel* saveDlg = [NSOpenPanel openPanel];
  62
+	[saveDlg setTitle:@"Save to..."];
  63
+	[saveDlg setMessage:@"Select where to save the Zephyr firmware files."];
  64
+	[saveDlg setCanChooseDirectories:YES];
  65
+	[saveDlg setAllowsMultipleSelection:NO];
  66
+	
  67
+	if ([saveDlg runModalForDirectory:nil file:nil] == NSOKButton)
  68
+	{
  69
+		NSArray* files = [saveDlg filenames];
  70
+		return [files objectAtIndex:0];
  71
+	}
  72
+	return nil;
  73
+}
  74
+
195 75
 @end
BIN  Dripwn/build/Dripwn.build/Dripwn.pbxindex/cdecls.pbxbtree
Binary file not shown
BIN  Dripwn/build/Dripwn.build/Dripwn.pbxindex/decls.pbxbtree
Binary file not shown
BIN  Dripwn/build/Dripwn.build/Dripwn.pbxindex/files.pbxbtree
Binary file not shown
BIN  Dripwn/build/Dripwn.build/Dripwn.pbxindex/imports.pbxbtree
Binary file not shown
BIN  Dripwn/build/Dripwn.build/Dripwn.pbxindex/pbxindex.header
Binary file not shown
BIN  Dripwn/build/Dripwn.build/Dripwn.pbxindex/refs.pbxbtree
Binary file not shown
BIN  Dripwn/build/Dripwn.build/Dripwn.pbxindex/strings.pbxstrings/control
Binary file not shown
BIN  Dripwn/build/Dripwn.build/Dripwn.pbxindex/strings.pbxstrings/strings
Binary file not shown
BIN  Dripwn/build/Dripwn.build/Dripwn.pbxindex/subclasses.pbxbtree
Binary file not shown
BIN  Dripwn/build/Dripwn.build/Dripwn.pbxindex/symbols0.pbxsymbols
Binary file not shown
2  Dripwn/build/Release/README.txt
... ...
@@ -1,4 +1,4 @@
1  
-To use Dripwn, simply click 'Extract firmware' and select your iPhone 2G (1,1) 3.1 (or above) IPSW. Wait approx. 20 seconds and you will have the two firmware files sitting on your desktop waiting for you!
  1
+To use Dripwn, simply click 'Extract firmware' and select your iPhone 3.1 (or above) IPSW. Wait approx. 10 seconds and you will have the two firmware files sitting on your desktop waiting for you!
2 2
 
3 3
 Enjoy!
4 4
 
BIN  Dripwn/dripwn
Binary file not shown

0 notes on commit c2265ff

Please sign in to comment.
Something went wrong with that request. Please try again.