idb 2.5.0 → 2.5.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 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