idb 2.5.0 → 2.5.1

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: 64226ae62cd205643d25b1ba1864b5a54d163b4d
4
- data.tar.gz: 40eeb316e70e2165a12c96ba7da69fc1932ac111
3
+ metadata.gz: c31f18f2e0931d3a426555405a2056f63d3799f5
4
+ data.tar.gz: a738c896c5d4585f7f1f1f9af9d2d5b1656f956f
5
5
  SHA512:
6
- metadata.gz: 388da49012ccce3480ccc91fba98e7c8fddb384559a589b246d69000da16f0770f5792df830e628542645458002ab5ec6663828b931405740d01bf086aef3732
7
- data.tar.gz: 9da5c592809bb8e364818d82d0e522d56155fb1d0610c0dcc583cc2169c184aecc7fe5fb106a209c363bca77123d30d13746c87e94b3305422e56d95869c0e5e
6
+ metadata.gz: a2c440cbc5382798397e047e5e17db50169ba54f594affeb5bff1db92087375d0785ebbc50bdd265d81f33f707a97af18bf161d21351b44844681482ac99ccd3
7
+ data.tar.gz: fc0c0b368967b96093d83f17d4d0606e305a78378222f98402b742e91263a1aca42c3d40987b311af21b62442ef0b39d879015e6e41241de8d0296da2fff035e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- idb (2.5.0)
4
+ idb (2.5.1)
5
5
  awesome_print
6
6
  coderay
7
7
  ffi
@@ -71,25 +71,7 @@ module Idb
71
71
  end
72
72
 
73
73
 
74
- def initialize *args
75
- super *args
76
- @layout = Qt::GridLayout.new
77
- setLayout(@layout)
78
- setWindowTitle "Device Status"
79
-
80
- @close_button = Qt::PushButton.new "Close"
81
- @close_button.connect(SIGNAL(:released)) {|x|
82
- reject()
83
- }
84
- #TODO: prevent closing
85
- @layout.addWidget @close_button, 9, 2
86
-
87
-
88
- #######################
89
- ### APT-GET
90
- #######################
91
-
92
-
74
+ def apt_get_section
93
75
  @aptget_label = Qt::Label.new "<b>apt-get / aptitude</b><br>(Install additional software packages)"
94
76
  @layout.addWidget @aptget_label, 0, 0
95
77
 
@@ -110,10 +92,10 @@ module Idb
110
92
  }
111
93
  @layout.addWidget @install_aptget, 0, 1
112
94
  end
113
- #######################
114
- ### OPEN
115
- #######################
116
95
 
96
+ end
97
+
98
+ def open_section
117
99
  @open_label = Qt::Label.new "<b>open</b><br>(Open apps on the device)"
118
100
  @layout.addWidget @open_label, 1, 0
119
101
 
@@ -136,11 +118,9 @@ module Idb
136
118
  @layout.addWidget @install_open, 1, 1
137
119
  end
138
120
 
139
- #######################
140
- ### OPEN URL
141
- #######################
142
-
121
+ end
143
122
 
123
+ def open_url_section
144
124
  @openurl_label = Qt::Label.new "<b>openURL</b><br>(Open URL on the device)"
145
125
  @layout.addWidget @openurl_label, 2, 0
146
126
 
@@ -148,22 +128,11 @@ module Idb
148
128
  if $device.openurl_installed?
149
129
  mark_openurl_installed
150
130
  else
151
- # @install_openurl = Qt::PushButton.new "Install"
152
- # @install_openurl.connect(SIGNAL(:released)) {
153
- # $device.install_openurl
154
- # if $device.open_installed?
155
- # @install_open.hide
156
- # mark_open_installed
157
- # end
158
- # }
159
- # @layout.addWidget @install_openurl, 2, 1
160
131
  end
161
132
 
133
+ end
162
134
 
163
- #######################
164
- ### DUMPDECRYPTED
165
- #######################
166
-
135
+ def dumpdecrypted_section
167
136
  @dumpdecrypted_label = Qt::Label.new "<b>dumpdecrypted</b><br>(Decrypt app binaries on the device).<br>Developed and maintained by Stefan Esser https://github.com/stefanesser/dumpdecrypted"
168
137
  @layout.addWidget @dumpdecrypted_label, 3, 0
169
138
 
@@ -186,13 +155,10 @@ module Idb
186
155
  }
187
156
  @layout.addWidget @install_dumpdecrypted, 3, 1
188
157
  end
158
+ end
189
159
 
190
160
 
191
- #######################
192
- ### PBWATCHER
193
- #######################
194
-
195
-
161
+ def pbwatcher_section
196
162
  @pbwatcher_label = Qt::Label.new "<b>pbwatcher</b><br>(idb pasteboard monitor helper)"
197
163
  @layout.addWidget @pbwatcher_label, 4, 0
198
164
 
@@ -212,12 +178,9 @@ module Idb
212
178
  @layout.addWidget @install_pbwatcher, 4, 1
213
179
  end
214
180
 
181
+ end
215
182
 
216
- #######################
217
- ### PCVIEWER
218
- #######################
219
-
220
-
183
+ def pcviewer_section
221
184
  @pcviewer_label = Qt::Label.new "<b>pcviewer</b><br>(idb file protection class helper)"
222
185
  @layout.addWidget @pcviewer_label, 5, 0
223
186
 
@@ -237,37 +200,31 @@ module Idb
237
200
  @layout.addWidget @install_pcviewer, 5, 1
238
201
  end
239
202
 
240
- #######################
241
- ### KEYCHAIN_DUMPER
242
- #######################
243
-
244
-
245
- @keychain_dump_label = Qt::Label.new "<b>keychain_dump</b><br>(dumps the keychain into a plist file.<br>https://code.google.com/p/iphone-dataprotection/)"
246
- @layout.addWidget @keychain_dump_label, 6, 0
247
-
248
- if $device.keychain_dump_installed?
249
- mark_keychain_dump_installed
250
- else
251
- @install_keychain_dump = Qt::PushButton.new "Install"
252
- @install_keychain_dump.connect(SIGNAL(:released)) {
253
- $device.install_keychain_dump
254
- if $device.keychain_dump_installed?
255
- @install_keychain_dump.hide
256
- mark_keychain_dump_installed
257
- end
258
- }
259
-
203
+ end
260
204
 
261
- @layout.addWidget @install_keychain_dump, 6, 1
205
+ def keychaindumper_section
206
+ @keychain_dump_label = Qt::Label.new "<b>keychain_dump</b><br>(dumps the keychain into a plist file.<br>https://code.google.com/p/iphone-dataprotection/)"
207
+ @layout.addWidget @keychain_dump_label, 6, 0
262
208
 
263
- end
209
+ if $device.keychain_dump_installed?
210
+ mark_keychain_dump_installed
211
+ else
212
+ @install_keychain_dump = Qt::PushButton.new "Install"
213
+ @install_keychain_dump.connect(SIGNAL(:released)) {
214
+ $device.install_keychain_dump
215
+ if $device.keychain_dump_installed?
216
+ @install_keychain_dump.hide
217
+ mark_keychain_dump_installed
218
+ end
219
+ }
264
220
 
265
221
 
266
- #######################
267
- ### rsync
268
- #######################
222
+ @layout.addWidget @install_keychain_dump, 6, 1
269
223
 
224
+ end
225
+ end
270
226
 
227
+ def rsync_section
271
228
  @rsync_label = Qt::Label.new "<b>rsync</b><br>(folder synchronization)"
272
229
  @layout.addWidget @rsync_label, 7, 0
273
230
 
@@ -292,12 +249,9 @@ module Idb
292
249
  @layout.addWidget @install_rsync, 7, 1
293
250
 
294
251
  end
252
+ end
295
253
 
296
-
297
- #######################
298
- ### CYCRIPT
299
- #######################
300
-
254
+ def cycript_section
301
255
  @cycript_label = Qt::Label.new "<b>cycript</b><br>(explore and modify running applications using a hybrid of Objective-C++ and JavaScript. http://www.cycript.org/ )"
302
256
  @layout.addWidget @cycript_label, 8, 0
303
257
 
@@ -319,32 +273,32 @@ module Idb
319
273
  }
320
274
  @layout.addWidget @install_cycript, 8, 1
321
275
  end
276
+ end
277
+
278
+
279
+ def initialize *args
280
+ super *args
281
+ @layout = Qt::GridLayout.new
282
+ setLayout(@layout)
283
+ setWindowTitle "Device Status"
284
+
285
+ @close_button = Qt::PushButton.new "Close"
286
+ @close_button.connect(SIGNAL(:released)) {|x|
287
+ reject()
288
+ }
289
+ #TODO: prevent closing
290
+ @layout.addWidget @close_button, 9, 2
291
+
292
+ apt_get_section
293
+ open_section
294
+ open_url_section
295
+ dumpdecrypted_section
296
+ pbwatcher_section
297
+ pcviewer_section
298
+ keychaindumper_section
299
+ rsync_section
300
+ cycript_section
322
301
 
323
- #######################
324
- ### clutch
325
- #######################
326
-
327
-
328
- # @clutch_label = Qt::Label.new "<b>Clutch (not used by idb)</b><br>(App cracking tool that also performs decryption. Installation from cydia.iphonecake.com.)"
329
- # @layout.addWidget @clutch_label, 8, 0
330
- #
331
- # if $device.clutch_installed?
332
- # mark_clutch_installed
333
- # else
334
- # @install_clutch = Qt::PushButton.new "Install"
335
- # @install_clutch.connect(SIGNAL(:released)) {
336
- # $device.setup_clutch_source
337
- # $device.install_clutch
338
- # if $device.clutch_installed?
339
- # @install_clutch.hide
340
- # mark_clutch_installed
341
- # end
342
- # }
343
- #
344
- #
345
- # @layout.addWidget @install_clutch, 8, 1
346
- #
347
- # end
348
302
 
349
303
  setFixedHeight(sizeHint().height());
350
304
  end
data/lib/idb/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Idb
2
- VERSION = "2.5.0"
2
+ VERSION = "2.5.1"
3
3
  end
data/lib/lib/app.rb CHANGED
@@ -85,41 +85,6 @@ module Idb
85
85
 
86
86
  end
87
87
 
88
- def decrypt_binary_clutch!
89
- # not in use since Stefan Esser updated dumpdecrypted
90
- unless $device.clutch_installed?
91
- $log.error "clutch not installed."
92
- return false
93
- end
94
-
95
- $log.info "Binary name is: '#{binary_name}'"
96
-
97
- $device.ops.execute "cd /var/root/"
98
- output = $device.ops.execute "#{$device.clutch_path} #{binary_name}"
99
- puts output
100
-
101
- decrypted_path = "/var/root/Documents/Cracked/#{binary_name}*.ipa"
102
- $log.info "Checking if decrypted file #{decrypted_path} was created..."
103
- if not $device.ops.file_exists? decrypted_path
104
- $log.error "Decryption / Cracking failed."
105
- return
106
- end
107
-
108
- $log.info "Decrypted file found. Downloading..."
109
-
110
- @local_decrypted_binary = "#{cache_dir}/#{File.basename full_remote_path}.decrypted"
111
- @binary.setDecryptedPath @local_decrypted_binary
112
-
113
- local_path = $device.ops.download decrypted_path, @local_decrypted_binary
114
-
115
- $log.info "Decrypted binary downloaded to #{@local_decrypted_binary}"
116
- @local_decrypted_binary
117
-
118
- end
119
-
120
-
121
-
122
-
123
88
  def get_raw_plist_value val
124
89
  begin
125
90
  @info_plist.plist_data[val]
@@ -187,7 +152,7 @@ module Idb
187
152
  end
188
153
 
189
154
  def bundle_name
190
- get_raw_plist_value 'CFBundleDisplayName'
155
+ get_raw_plist_value('CFBundleDisplayName').to_s
191
156
  end
192
157
 
193
158
  def keychain_access_groups
@@ -218,9 +183,9 @@ module Idb
218
183
  get_raw_plist_value 'MinimumOSVersion'
219
184
  end
220
185
 
221
- def bundle_id
186
+ def undle_id
222
187
  begin
223
- @info_plist.bundle_identifier
188
+ @info_plist.bundle_identifier.to_s
224
189
  rescue
225
190
  "[error]"
226
191
  end
@@ -252,39 +217,29 @@ module Idb
252
217
  `#{rsync} avc -e ssh TKTK #{} `
253
218
  end
254
219
 
255
- def find_plist_files
256
- $log.info "Looking for plist files..."
257
- app_dir_files = $device.ops.dir_glob(@app_dir, "**/*plist")
220
+ def find_files_by_pattern pattern
221
+ app_dir_files = $device.ops.dir_glob(@app_dir, pattern)
258
222
  data_dir_files = Array.new
259
223
 
260
224
  if app_dir != data_dir
261
- data_dir_files = $device.ops.dir_glob(@data_dir, "**/*plist")
225
+ data_dir_files = $device.ops.dir_glob(@data_dir, pattern)
262
226
  end
263
227
  app_dir_files + data_dir_files
228
+ end
264
229
 
230
+ def find_plist_files
231
+ $log.info "Looking for plist files..."
232
+ find_files_by_pattern "**/*plist"
265
233
  end
266
234
 
267
235
  def find_sqlite_dbs
268
236
  $log.info "Looking for sqlite files..."
269
- app_dir_files = $device.ops.dir_glob(@app_dir, "**/*sql**")
270
- data_dir_files = Array.new
271
-
272
- if app_dir != data_dir
273
- data_dir_files = $device.ops.dir_glob(@data_dir, "**/*sql**")
274
- end
275
- app_dir_files + data_dir_files
276
-
237
+ find_files_by_pattern "**/*sql**"
277
238
  end
278
239
 
279
240
  def find_cache_dbs
280
241
  $log.info "Looking for Cache.db files..."
281
- app_dir_files = $device.ops.dir_glob(@app_dir, "**/Cache.db")
282
- data_dir_files = Array.new
283
-
284
- if app_dir != data_dir
285
- data_dir_files = $device.ops.dir_glob(@data_dir, "**/Cache.db")
286
- end
287
- app_dir_files + data_dir_files
242
+ find_files_by_pattern "**/Cache.db"
288
243
  end
289
244
 
290
245
  def get_url_handlers
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.0
4
+ version: 2.5.1
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: 2014-11-05 00:00:00.000000000 Z
11
+ date: 2014-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler