idb 2.6.2 → 2.7

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: 635b0156bfde8f15f80d2c6a9fa5097d06e9dc97
4
- data.tar.gz: e9d60226d81cc59c7e048077345206ea7edac62f
3
+ metadata.gz: 8580e22bec53a3ed6114eb1e44f0b868aca9951f
4
+ data.tar.gz: 4f5aa9d72dffada1a8efa02bbb9c1c397b832db4
5
5
  SHA512:
6
- metadata.gz: 084975140bf00eed5531f56353755a1b7e6a472a3bcb956a58525c126d02947faee7abd9e400b32928f520c3554ed25038ca64a8196189d51b439b622306867e
7
- data.tar.gz: 6ad0f1d0e27cad6dfdd4ec9e3f7989270a9231a6568c169801abe08ef11318321bf1ef4de293ca9bcc2b96d4e32ac512be1f9191a97647f49afe78023412b372
6
+ metadata.gz: f47ef98dd1451d7709b2f9423de0498c6ae0a38345c3a52e58559a66225ad6ad3444645de49b78f7ac7492c37ca8181c4c3d5911d276e54ebc76040c9c24773e
7
+ data.tar.gz: be4dbc1e63be41acf3b6de563e4d8db62017456d9023d0dea6ed3445f6b0d115138ff0d6a955fc554771888b2f1c731cdb5c90154cfac6e975c9a5e83795108c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- idb (2.6.2)
4
+ idb (2.7)
5
5
  awesome_print
6
6
  coderay
7
7
  ffi
@@ -20,7 +20,7 @@ PATH
20
20
  GEM
21
21
  remote: https://rubygems.org/
22
22
  specs:
23
- addressable (2.3.6)
23
+ addressable (2.3.8)
24
24
  awesome_print (1.6.1)
25
25
  coderay (1.1.0)
26
26
  ffi (1.9.6)
@@ -17,7 +17,6 @@ module Idb
17
17
  }
18
18
  @layout.addWidget @app_list, 0, 0, 1, 2
19
19
 
20
- refresh_app_list
21
20
 
22
21
 
23
22
  @save_button = Qt::PushButton.new "Select"
@@ -31,6 +30,10 @@ module Idb
31
30
  reject()
32
31
  }
33
32
 
33
+ unless refresh_app_list
34
+ @save_button.setEnabled(false)
35
+ end
36
+
34
37
  @layout.addWidget @save_button, 1, 1
35
38
  @layout.addWidget @cancel_button, 1, 0
36
39
 
@@ -51,7 +54,17 @@ module Idb
51
54
  $device.ops.execute "/bin/su mobile -c /usr/bin/uicache"
52
55
  box.hide
53
56
  end
54
- app_uuids = $device.get_app_uuids
57
+
58
+ begin
59
+ app_uuids = $device.get_app_uuids
60
+ rescue Exception => e
61
+ error = Qt::MessageBox.new
62
+ error.setInformativeText("Unable to get list of applications. Ensure that you have at least one non-system app installed.")
63
+ error.setIcon(Qt::MessageBox::Critical)
64
+ error.exec
65
+ return false
66
+ end
67
+
55
68
  progress = Qt::ProgressDialog.new "Reading App list...", nil, 1, app_uuids.size, self
56
69
  progress.setAutoClose true
57
70
  progress.setWindowModality(Qt::WindowModal);
@@ -74,4 +87,4 @@ module Idb
74
87
 
75
88
 
76
89
  end
77
- end
90
+ end
@@ -1,19 +1,56 @@
1
1
  require_relative '../lib/rsync_git_manager'
2
2
  module Idb
3
- class FsViewerTabWidget < Qt::TabWidget
4
-
5
- attr_accessor :start
6
3
 
4
+ class FSViewerControlGroupBox < Qt::GroupBox
7
5
  def initialize *args
6
+ @layout = Qt::GridLayout.new
8
7
  super *args
8
+ setLayout @layout
9
9
 
10
- @icons = Qt::FileIconProvider.new
10
+ setTitle "Rsync app folder locally and keep git revisions"
11
+
12
+
13
+ @sync_path_label = Qt::Label.new "<b>Local Sync Path:</b>"
14
+ @layout.addWidget @sync_path_label, 0,0, 1,3
15
+
16
+ @sync_path_change = Qt::PushButton.new "Change Folder"
17
+ @sync_path_change.connect(SIGNAL :released) {
18
+ file_dialog = Qt::FileDialog.new
19
+ file_dialog.setFileMode(Qt::FileDialog::Directory)
20
+ file_dialog.setAcceptMode(Qt::FileDialog::AcceptOpen)
21
+ file_dialog.connect(SIGNAL('fileSelected(QString)')) { |x|
22
+ @local_path = x
23
+ dir_changed
24
+ }
25
+ file_dialog.exec
26
+ }
27
+
28
+ @layout.addWidget @sync_path_change, 1,1
29
+
30
+ @open_folder = Qt::PushButton.new "Open Folder"
31
+ @layout.addWidget @open_folder, 1,0
32
+
33
+ @open_folder.connect(SIGNAL :released) {
34
+ Launchy.open @local_path
35
+
36
+ }
37
+
38
+
39
+ @reset_folder = Qt::PushButton.new "Use Default Folder"
40
+ @layout.addWidget @reset_folder, 1,2
41
+
42
+ @reset_folder.connect(SIGNAL :released) {
43
+ update_start
44
+ }
45
+
46
+ line = Qt::Frame.new
47
+ line.setFrameShape Qt::Frame::VLine
48
+ line.setFrameShadow Qt::Frame::Sunken
49
+ @layout.addWidget line, 0,3,2,1
11
50
 
12
- @layout = Qt::GridLayout.new
13
- setLayout @layout
14
51
 
15
52
  @rsync = Qt::PushButton.new "Rsync + Git"
16
- @layout.addWidget @rsync, 0,0
53
+ @layout.addWidget @rsync, 0,4
17
54
  @rsync.connect(SIGNAL :released) {
18
55
  @manager.start_new_revision
19
56
  if $device.ios_version == 8
@@ -26,22 +63,50 @@ module Idb
26
63
 
27
64
  }
28
65
 
29
- @open_folder = Qt::PushButton.new "Open Folder"
30
- @layout.addWidget @open_folder, 0,1
31
-
32
- @open_folder.connect(SIGNAL :released) {
33
- Launchy.open @local_path
34
-
35
- }
36
66
 
37
67
  @open_gitk = Qt::PushButton.new "Open gitk"
38
- @layout.addWidget @open_gitk, 0,2
68
+ @layout.addWidget @open_gitk, 1,4
39
69
 
40
70
  @open_gitk.connect(SIGNAL :released) {
41
71
  Process.spawn "(cd #{@local_path} && gitk)"
42
72
  }
43
73
 
44
74
 
75
+ end
76
+
77
+ def update_start
78
+ @selected_dir = $selected_app.app_dir
79
+ @local_path = "#{$selected_app.cache_dir}/idb_mirror.git"
80
+ dir_changed
81
+ end
82
+
83
+ def dir_changed
84
+ @sync_path_label.setText "<b>Local Sync Path:</b> " + @local_path
85
+ @manager = RsyncGitManager.new @local_path
86
+ end
87
+
88
+
89
+
90
+
91
+ end
92
+
93
+
94
+ class FsViewerTabWidget < Qt::TabWidget
95
+
96
+ attr_accessor :start
97
+
98
+ def initialize *args
99
+ super *args
100
+
101
+ @icons = Qt::FileIconProvider.new
102
+
103
+ @layout = Qt::GridLayout.new
104
+ setLayout @layout
105
+
106
+ @controls = FSViewerControlGroupBox.new self
107
+ layout.addWidget @controls, 0, 0, 1, 2
108
+
109
+
45
110
 
46
111
  @treeview = Qt::TreeWidget.new
47
112
  @treeview.connect(SIGNAL('itemExpanded(QTreeWidgetItem*)')) { |dir|
@@ -126,7 +191,7 @@ module Idb
126
191
  @splitter.addWidget @file_list
127
192
  @splitter.setStretchFactor 1, 1.5
128
193
  @splitter.setSizePolicy(Qt::SizePolicy::Expanding, Qt::SizePolicy::Expanding)
129
- @layout.addWidget @splitter, 1, 0, 1, 3
194
+ @layout.addWidget @splitter, 1, 0
130
195
 
131
196
 
132
197
 
@@ -260,9 +325,8 @@ module Idb
260
325
  def update_start
261
326
  @treeview.clear
262
327
  @default_protection.update
263
- @selected_dir = $selected_app.app_dir
264
- @local_path = "#{$selected_app.cache_dir}/idb_mirror.git"
265
- @manager = RsyncGitManager.new @local_path
328
+
329
+ @controls.update_start
266
330
 
267
331
  if $device.ios_version == 8
268
332
  start_ios_8
@@ -47,7 +47,7 @@ module ScreenShotWizard
47
47
  end
48
48
 
49
49
  def validatePage
50
- puts "[*] Marking screenshot time"
50
+ $log.info "Marking screenshot time"
51
51
  #wiz = parentWidget.parentWidget.parentWidget
52
52
  wizard.screenshot.mark
53
53
  return true
data/lib/idb/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Idb
2
- VERSION = "2.6.2"
2
+ VERSION = "2.7"
3
3
  end
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.6.2
4
+ version: '2.7'
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-02-25 00:00:00.000000000 Z
11
+ date: 2015-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -243,7 +243,6 @@ executables:
243
243
  extensions: []
244
244
  extra_rdoc_files: []
245
245
  files:
246
- - ".DS_Store"
247
246
  - ".gitignore"
248
247
  - Gemfile
249
248
  - Gemfile.lock
@@ -260,7 +259,6 @@ files:
260
259
  - lib/gui/app_list_widget_item.rb
261
260
  - lib/gui/app_tab_widget.rb
262
261
  - lib/gui/binary_strings_widget.rb
263
- - lib/gui/browse_filesystem_widget.rb
264
262
  - lib/gui/ca_manager_dialog.rb
265
263
  - lib/gui/cache_db_widget.rb
266
264
  - lib/gui/certificate_item.rb
@@ -369,7 +367,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
369
367
  version: '0'
370
368
  requirements: []
371
369
  rubyforge_project:
372
- rubygems_version: 2.2.2
370
+ rubygems_version: 2.4.6
373
371
  signing_key:
374
372
  specification_version: 4
375
373
  summary: idb is a tool to simplify some common tasks for iOS pentesting and research.
data/.DS_Store DELETED
Binary file
@@ -1,4 +0,0 @@
1
- module Idb
2
- class BrowseFilesystemWidget
3
- end
4
- end