idb 2.6.2 → 2.7

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: 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