@@ -46,7 +46,7 @@ func init() {
4646 extractCmd .Flags ().BoolP ("kernel" , "k" , false , "Extract kernelcache" )
4747 extractCmd .Flags ().BoolP ("dyld" , "d" , false , "Extract dyld_shared_cache" )
4848 extractCmd .Flags ().Bool ("dtree" , false , "Extract DeviceTree" )
49- extractCmd .Flags ().String ("dmg" , "" , "Extract DMG file (app, sys, fs)" )
49+ extractCmd .Flags ().String ("dmg" , "" , fmt . Sprintf ( "Extract DMG file (%s)" , strings . Join ( mount . DmgTypes , ", " )) )
5050 extractCmd .Flags ().Bool ("iboot" , false , "Extract iBoot" )
5151 extractCmd .Flags ().Bool ("sep" , false , "Extract sep-firmware" )
5252 extractCmd .Flags ().Bool ("sptm" , false , "Extract SPTM and TXM Firmwares" )
@@ -67,12 +67,14 @@ func init() {
6767 })
6868 extractCmd .Flags ().Bool ("driverkit" , false , "Extract DriverKit dyld_shared_cache" )
6969 extractCmd .Flags ().String ("device" , "" , "Device to extract kernel for (e.g. iPhone10,6)" )
70+ extractCmd .Flags ().String ("ident" , "" , "Identity Variant to select specific RestoreRamDisk (e.g. 'Erase', 'Upgrade', 'Recovery')" )
7071 extractCmd .RegisterFlagCompletionFunc ("dmg" , func (cmd * cobra.Command , args []string , toComplete string ) ([]string , cobra.ShellCompDirective ) {
7172 return []string {
7273 "app\t AppOS" ,
7374 "sys\t SystemOS" ,
7475 "fs\t FileSystem" ,
7576 "exc\t Exclave" ,
77+ "rdisk\t RestoreRamDisk" ,
7678 }, cobra .ShellCompDirectiveDefault
7779 })
7880
@@ -100,6 +102,7 @@ func init() {
100102 viper .BindPFlag ("extract.dyld-arch" , extractCmd .Flags ().Lookup ("dyld-arch" ))
101103 viper .BindPFlag ("extract.driverkit" , extractCmd .Flags ().Lookup ("driverkit" ))
102104 viper .BindPFlag ("extract.device" , extractCmd .Flags ().Lookup ("device" ))
105+ viper .BindPFlag ("extract.ident" , extractCmd .Flags ().Lookup ("ident" ))
103106}
104107
105108// extractCmd represents the extract command
@@ -190,6 +193,7 @@ var extractCmd = &cobra.Command{
190193 Output : viper .GetString ("extract.output" ),
191194 JSON : viper .GetBool ("extract.json" ),
192195 Lookup : viper .GetBool ("extract.lookup" ),
196+ Ident : viper .GetString ("extract.ident" ),
193197 }
194198
195199 if viper .GetBool ("extract.remote" ) {
0 commit comments