idb 2.5.7 → 2.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7edf1ac080ff75b37a74994d56d8433eeb590927
4
- data.tar.gz: 4a8eab3ef5bbe599f829d392247b054028a0f489
3
+ metadata.gz: 5bf6eaebc3d4cc42444246b1cf381388151b3044
4
+ data.tar.gz: c70174090d037406264de2b6ef050a6f1eb6e186
5
5
  SHA512:
6
- metadata.gz: fe691649942ef0f19ad4d0de838732a1d1a5681ea737da3085b58db48e297f76f055ccf8b6d49da8fb25eeb846058df53930701fb57b298be962226a8ee30eb0
7
- data.tar.gz: 52d4dfdc17a13ad5513cec14d7e43358bd47d355bd228c1d87399723e6d63b790358bd9af8796187e04773124882f8aacc64dd0750ed34d805cd2ba6f4f5d1bd
6
+ metadata.gz: ee7ed26735444ac57d25251e6a580cbb21a6365351c0483c8b811e85446c624d93e8d23daf72845b328c5b003d3dbc895c0a7cad2dfbc85711b19eb65217df2c
7
+ data.tar.gz: 760e659159f67f233dcdbb859f9c841a6217a96de3f5b58217c2b354c1a39542491db23f5d014c464699c85ffad27c80f9f200b135fd184eb99132825ccb02c5
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- idb (2.5.7)
4
+ idb (2.6)
5
5
  awesome_print
6
6
  coderay
7
7
  ffi
@@ -27,7 +27,6 @@ module Idb
27
27
  addDetail 'platform_version', 'Platform Version'
28
28
  addDetail 'sdk_version', 'SDK Version'
29
29
  addDetail 'minimum_os_version', 'Minimum OS'
30
- addDetail 'keychain_access_groups', 'Keychain Access Groups'
31
30
  addDetail 'data_dir', 'Data Directory'
32
31
 
33
32
  @launch_app = Qt::PushButton.new "Launch App"
@@ -70,7 +69,6 @@ module Idb
70
69
  @vals['platform_version'].setText($selected_app.platform_version)
71
70
  @vals['sdk_version'].setText($selected_app.sdk_version)
72
71
  @vals['minimum_os_version'].setText($selected_app.minimum_os_version)
73
- @vals['keychain_access_groups'].setText($selected_app.keychain_access_groups)
74
72
  @vals['data_dir'].setText($selected_app.data_directory.sub("/private/var/mobile/Containers/Data/Application",""))
75
73
  @launch_app.setEnabled(true)
76
74
  @open_folder.setEnabled(true)
@@ -89,7 +87,6 @@ module Idb
89
87
  @vals['sdk_version'].setText("[No Application Selected]")
90
88
  @vals['minimum_os_version'].setText("[No Application Selected]")
91
89
  @vals['data_dir'].setText("[No Application Selected]")
92
- @vals['keychain_access_groups'].setText("[No Application Selected]")
93
90
  @launch_app.setEnabled(false)
94
91
  @open_folder.setEnabled(false)
95
92
 
@@ -109,6 +106,70 @@ module Idb
109
106
 
110
107
  end
111
108
 
109
+
110
+ class AppEntitlementsGroupBox < Qt::GroupBox
111
+ def initialize args
112
+ super *args
113
+
114
+ # details on selected app
115
+
116
+ @layout = Qt::GridLayout.new
117
+ setLayout(@layout)
118
+ setTitle "App Entitlements"
119
+
120
+ @labels = Hash.new
121
+ @vals = Hash.new
122
+ clear
123
+
124
+ addDetail 'application-identifier', 'Application Identifier'
125
+ @vals['application-identifier'].setText("[No Application Selected]")
126
+ end
127
+
128
+ def clear
129
+ @labels.each { |x|
130
+ @layout.removeWidget x[1]
131
+ x[1].destroy
132
+ x[1].dispose
133
+ }
134
+
135
+ @vals.each { |x|
136
+ @layout.removeWidget x[1]
137
+ x[1].destroy
138
+ x[1].dispose
139
+ }
140
+
141
+ @labels = Hash.new
142
+ @vals = Hash.new
143
+ @cur_row = 1
144
+
145
+
146
+
147
+ end
148
+
149
+ def app_changed
150
+ if $device.ios_version < 8
151
+ addDetail 'application-identifier', 'Only available in iOS 8+'
152
+ else
153
+ $selected_app.services_map.entitlements_by_bundle_id($selected_app.bundle_id).each { |x|
154
+ addDetail x[0].to_s, x[0].to_s
155
+ @vals[x[0].to_s].setText(x[1].to_s)
156
+ }
157
+ end
158
+
159
+ end
160
+
161
+
162
+ def addDetail id, label
163
+ @labels[id] = Qt::Label.new "<b>#{label}</b>", self, 0
164
+ @vals[id] = Qt::Label.new "", self, 0
165
+ @layout.addWidget @labels[id], @cur_row, 0
166
+ @layout.addWidget @vals[id], @cur_row, 1
167
+ @cur_row += 1
168
+ end
169
+ end
170
+
171
+
172
+
112
173
  class AppBinaryGroupBox < Qt::GroupBox
113
174
  signals "binary_analyzed()"
114
175
 
@@ -22,21 +22,25 @@ module Idb
22
22
  }
23
23
 
24
24
 
25
- @layout.addWidget @app_details, 1,0, 2, 1
25
+ @layout.addWidget @app_details, 0,0,2,1
26
+
27
+ # Entitlements
28
+ @app_entitlements = AppEntitlementsGroupBox.new @central_widget
29
+ @layout.addWidget @app_entitlements, 2,0, 1, 2
26
30
 
27
31
  # App Binary Details
28
32
  @app_binary = AppBinaryGroupBox.new @central_widget
29
- @layout.addWidget @app_binary, 1,1
33
+ @layout.addWidget @app_binary, 0,1
30
34
  @app_binary.connect(SIGNAL('binary_analyzed()')) {
31
35
  emit binary_analyzed()
32
36
  }
33
37
 
34
38
  @spacer_horizontal = Qt::SpacerItem.new 0,1, Qt::SizePolicy::Expanding, Qt::SizePolicy::Fixed
35
- @layout.addItem @spacer_horizontal, 1, 2
39
+ @layout.addItem @spacer_horizontal, 0, 3
36
40
 
37
41
  @spacer = Qt::SpacerItem.new 0,1, Qt::SizePolicy::Fixed, Qt::SizePolicy::Expanding
42
+ @spacer2 = Qt::SpacerItem.new 0,1, Qt::SizePolicy::Fixed, Qt::SizePolicy::Expanding
38
43
 
39
- @layout.addItem @spacer, 2, 1, 2,1
40
44
  @layout.addItem @spacer, 3, 0
41
45
 
42
46
 
@@ -45,6 +49,8 @@ module Idb
45
49
  def app_changed
46
50
  @app_binary.app_changed
47
51
  @app_details.app_changed
52
+ @app_entitlements.clear
53
+ @app_entitlements.app_changed
48
54
 
49
55
  end
50
56
 
@@ -1,3 +1,3 @@
1
1
  module Idb
2
- VERSION = "2.5.7"
2
+ VERSION = "2.6"
3
3
  end
@@ -5,7 +5,7 @@ require_relative 'ios8_last_launch_services_map_wrapper'
5
5
 
6
6
  module Idb
7
7
  class App
8
- attr_accessor :uuid, :app_dir, :binary, :cache_dir, :data_dir
8
+ attr_accessor :uuid, :app_dir, :binary, :cache_dir, :data_dir, :services_map
9
9
 
10
10
 
11
11
  def initialize uuid
@@ -19,10 +19,10 @@ module Idb
19
19
  if $device.ios_version == 8
20
20
  mapping_file = "/var/mobile/Library/MobileInstallation/LastLaunchServicesMap.plist"
21
21
  local_mapping_file = cache_file mapping_file
22
- mapper = IOS8LastLaunchServicesMapWrapper.new local_mapping_file
22
+ @services_map = IOS8LastLaunchServicesMapWrapper.new local_mapping_file
23
23
 
24
- @data_dir = mapper.data_path_by_bundle_id @info_plist.bundle_identifier
25
- @keychain_access_groups = mapper.keychain_access_groups_by_bundle_id @info_plist.bundle_identifier
24
+ @data_dir = @services_map.data_path_by_bundle_id @info_plist.bundle_identifier
25
+ @keychain_access_groups = @services_map.keychain_access_groups_by_bundle_id @info_plist.bundle_identifier
26
26
 
27
27
  else
28
28
  @data_dir = @app_dir
@@ -8,6 +8,14 @@ class IOS8LastLaunchServicesMapWrapper
8
8
  @plist_data = Plist4r.open @plist_file
9
9
  end
10
10
 
11
+ def entitlements_by_bundle_id bundle_id
12
+ begin
13
+ @plist_data.to_hash["User"][bundle_id]["Entitlements"]
14
+ rescue
15
+ $log.error "Could not read entitlements.."
16
+ end
17
+ end
18
+
11
19
 
12
20
  def data_path_by_bundle_id bundle_id
13
21
  @plist_data.to_hash["User"][bundle_id]["Container"]
@@ -1,7 +1,7 @@
1
1
  # encoding: utf-8
2
2
  require 'yaml'
3
3
 
4
- YAML::ENGINE.yamler='syck'
4
+ YAML::ENGINE.yamler='psych'
5
5
 
6
6
  module Idb
7
7
  class Settings
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: idb
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.7
4
+ version: '2.6'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel A. Mayer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-29 00:00:00.000000000 Z
11
+ date: 2015-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler