idb 2.5.7 → 2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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