idb 2.6 → 2.6.1
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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/gui/app_details_group_box.rb +1 -1
- data/lib/gui/app_tab_widget.rb +1 -1
- data/lib/gui/cache_db_widget.rb +12 -1
- data/lib/gui/default_protection_class_group_widget.rb +36 -0
- data/lib/gui/fs_viewer_tab_widget.rb +4 -0
- data/lib/gui/local_storage_tab_widget.rb +6 -0
- data/lib/gui/main_tab_widget.rb +1 -0
- data/lib/gui/plist_file_widget.rb +15 -0
- data/lib/gui/sqlite_widget.rb +12 -0
- data/lib/idb.rb +1 -0
- data/lib/idb/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f272dfb2bc3b90934cfe4962e13a54306347a92
|
4
|
+
data.tar.gz: 70f336144b865ff08da0e05034cc6ad0716805cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b76ba851c94c332a24b843fe2dd3b1e10957ece77543a8a6f3ff29c603b214925a80f6363fe6637f0bc0a52cfa80cf8d513d8286d0794c38b7d2ba3adc557bf3
|
7
|
+
data.tar.gz: 6a495e5d91a212f2dbcce09a030b30d3cc9912f5f491e493105d407906e9dde64ab6f159988f4c85c348f325c7f84f1b68761d6b82131abf5d6292ab6a3d5d8f
|
data/Gemfile.lock
CHANGED
@@ -148,7 +148,7 @@ module Idb
|
|
148
148
|
|
149
149
|
def app_changed
|
150
150
|
if $device.ios_version < 8
|
151
|
-
addDetail 'application-identifier', 'Only available
|
151
|
+
addDetail 'application-identifier', 'Only available for iOS 8+'
|
152
152
|
else
|
153
153
|
$selected_app.services_map.entitlements_by_bundle_id($selected_app.bundle_id).each { |x|
|
154
154
|
addDetail x[0].to_s, x[0].to_s
|
data/lib/gui/app_tab_widget.rb
CHANGED
data/lib/gui/cache_db_widget.rb
CHANGED
@@ -28,8 +28,9 @@ module Idb
|
|
28
28
|
|
29
29
|
}
|
30
30
|
# "Launch app"
|
31
|
-
|
31
|
+
@default_protection = DefaultProtectionClassGroupWidget.new self
|
32
32
|
layout = Qt::VBoxLayout.new do |v|
|
33
|
+
v.add_widget(@default_protection)
|
33
34
|
v.add_widget(@list)
|
34
35
|
v.add_widget(@refresh)
|
35
36
|
end
|
@@ -40,9 +41,19 @@ module Idb
|
|
40
41
|
@list.clear
|
41
42
|
end
|
42
43
|
|
44
|
+
def setup
|
45
|
+
@list.clear
|
46
|
+
@default_protection.update
|
47
|
+
item = PathListWidgetItem.new
|
48
|
+
item.setText "Please click 'Refresh' below to show files."
|
49
|
+
@list.addItem item
|
50
|
+
@list.setEnabled false
|
51
|
+
end
|
43
52
|
|
44
53
|
def refresh
|
45
54
|
@list.clear
|
55
|
+
@list.setEnabled true
|
56
|
+
@default_protection.update
|
46
57
|
cache_dbs = $selected_app.find_cache_dbs
|
47
58
|
cache_dbs.each { |full_path|
|
48
59
|
item = PathListWidgetItem.new
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Idb
|
2
|
+
|
3
|
+
class DefaultProtectionClassGroupWidget < Qt::GroupBox
|
4
|
+
|
5
|
+
def initialize args
|
6
|
+
super *args
|
7
|
+
|
8
|
+
setTitle "Default Protection Protection"
|
9
|
+
|
10
|
+
@layout = Qt::GridLayout.new
|
11
|
+
label = Qt::Label.new "<b>Default Data Protection</b>", self, 0
|
12
|
+
@val = Qt::Label.new "Please refresh to show entries", self, 0
|
13
|
+
@layout.addWidget label, 0, 0
|
14
|
+
@layout.addWidget @val, 0, 1
|
15
|
+
spacer_horizontal = Qt::SpacerItem.new 0,1, Qt::SizePolicy::Expanding, Qt::SizePolicy::Fixed
|
16
|
+
@layout.addItem spacer_horizontal, 0, 2
|
17
|
+
|
18
|
+
setLayout @layout
|
19
|
+
end
|
20
|
+
|
21
|
+
def update
|
22
|
+
if $device.ios_version < 8
|
23
|
+
@val.setText "Only available for iOS 8+"
|
24
|
+
else
|
25
|
+
$selected_app.services_map.entitlements_by_bundle_id($selected_app.bundle_id).each { |x|
|
26
|
+
if x[0].to_s == "com.apple.developer.default-data-protection"
|
27
|
+
@val.setText x[1].to_s
|
28
|
+
end
|
29
|
+
}
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
@@ -92,6 +92,9 @@ module Idb
|
|
92
92
|
@file_details_layout.addWidget @file_details_protection, 4, 1
|
93
93
|
@file_details_layout.addItem Qt::SpacerItem.new(0,1, Qt::SizePolicy::Expanding, Qt::SizePolicy::Fixed ), 0, 2
|
94
94
|
@layout.addWidget @file_details, 2, 0, 1, 3
|
95
|
+
|
96
|
+
@default_protection = DefaultProtectionClassGroupWidget.new self
|
97
|
+
@layout.addWidget @default_protection, 3, 0, 1, 3
|
95
98
|
@file_details.setSizePolicy(Qt::SizePolicy::Minimum, Qt::SizePolicy::Minimum)
|
96
99
|
|
97
100
|
|
@@ -256,6 +259,7 @@ module Idb
|
|
256
259
|
|
257
260
|
def update_start
|
258
261
|
@treeview.clear
|
262
|
+
@default_protection.update
|
259
263
|
@selected_dir = $selected_app.app_dir
|
260
264
|
@local_path = "#{$selected_app.cache_dir}/idb_mirror.git"
|
261
265
|
@manager = RsyncGitManager.new @local_path
|
data/lib/gui/main_tab_widget.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require_relative 'path_list_widget_item'
|
2
|
+
require_relative 'default_protection_class_group_widget'
|
2
3
|
|
3
4
|
module Idb
|
4
5
|
class PlistFileWidget < Qt::Widget
|
@@ -32,7 +33,10 @@ module Idb
|
|
32
33
|
|
33
34
|
# "Launch app"
|
34
35
|
|
36
|
+
@default_protection = DefaultProtectionClassGroupWidget.new self
|
37
|
+
|
35
38
|
layout = Qt::VBoxLayout.new do |v|
|
39
|
+
v.add_widget(@default_protection)
|
36
40
|
v.add_widget(@list)
|
37
41
|
v.add_widget(@refresh)
|
38
42
|
end
|
@@ -43,8 +47,19 @@ module Idb
|
|
43
47
|
@list.clear
|
44
48
|
end
|
45
49
|
|
50
|
+
def setup
|
51
|
+
@list.clear
|
52
|
+
@default_protection.update
|
53
|
+
item = PathListWidgetItem.new
|
54
|
+
item.setText "Please click 'Refresh' below to show files."
|
55
|
+
@list.addItem item
|
56
|
+
@list.setEnabled false
|
57
|
+
end
|
58
|
+
|
46
59
|
def refresh
|
47
60
|
@list.clear
|
61
|
+
@list.setEnabled true
|
62
|
+
@default_protection.update
|
48
63
|
plist_files = $selected_app.find_plist_files
|
49
64
|
plist_files.each { |full_path|
|
50
65
|
item = PathListWidgetItem.new
|
data/lib/gui/sqlite_widget.rb
CHANGED
@@ -42,7 +42,9 @@ module Idb
|
|
42
42
|
}
|
43
43
|
# "Launch app"
|
44
44
|
|
45
|
+
@default_protection = DefaultProtectionClassGroupWidget.new self
|
45
46
|
layout = Qt::VBoxLayout.new do |v|
|
47
|
+
v.add_widget(@default_protection)
|
46
48
|
v.add_widget(@list)
|
47
49
|
v.add_widget(@refresh)
|
48
50
|
end
|
@@ -53,9 +55,19 @@ module Idb
|
|
53
55
|
@list.clear
|
54
56
|
end
|
55
57
|
|
58
|
+
def setup
|
59
|
+
@list.clear
|
60
|
+
@default_protection.update
|
61
|
+
item = PathListWidgetItem.new
|
62
|
+
item.setText "Please click 'Refresh' below to show files."
|
63
|
+
@list.addItem item
|
64
|
+
@list.setEnabled false
|
65
|
+
end
|
56
66
|
|
57
67
|
def refresh
|
58
68
|
@list.clear
|
69
|
+
@list.setEnabled true
|
70
|
+
@default_protection.update
|
59
71
|
sqlite_dbs = $selected_app.find_sqlite_dbs
|
60
72
|
sqlite_dbs.each { |full_path|
|
61
73
|
item = PathListWidgetItem.new
|
data/lib/idb.rb
CHANGED
@@ -114,6 +114,7 @@ module Idb
|
|
114
114
|
@main_tabs.app_info.app_binary.clear
|
115
115
|
@main_tabs.app_info.app_binary.disable_analyze_binary
|
116
116
|
@main_tabs.app_info.app_details.clear
|
117
|
+
@main_tabs.app_info.app_entitlements.clear
|
117
118
|
@usb_device.setChecked(false)
|
118
119
|
@global_app_details.disconnect
|
119
120
|
}
|
data/lib/idb/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: idb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel A. Mayer
|
@@ -267,6 +267,7 @@ files:
|
|
267
267
|
- lib/gui/console_widget.rb
|
268
268
|
- lib/gui/cycript_console_widget.rb
|
269
269
|
- lib/gui/cycript_thread.rb
|
270
|
+
- lib/gui/default_protection_class_group_widget.rb
|
270
271
|
- lib/gui/device_info_group_box.rb
|
271
272
|
- lib/gui/device_status_dialog.rb
|
272
273
|
- lib/gui/file_system_events_widget.rb
|