idb 2.6 → 2.6.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|