idb 1.3.2 → 2.1.0

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: d313a2f68d8dbb4103f71b6f9d34486a16420484
4
- data.tar.gz: 9087be7df5e7065a10787cb14acebc884f514fb7
3
+ metadata.gz: 94b05b90dac0f6ec5d2d307d23014a2a7a4a10da
4
+ data.tar.gz: 5d2f0e5a97d747755a4030fb6e23824abfa50c5f
5
5
  SHA512:
6
- metadata.gz: 9f82baac61e5cd3a1d3f8048a53411ab5a47295728fe71856cb3464744ee6b0da2956022c1687628c5529597f711cef8bb73d1d55db43bb5240d4eadaa884565
7
- data.tar.gz: 318b936f8c1bca37ee3164d50266c3573d38cf7855e7e52a8ca603835fe5643adfc903424766d86f530309d1f1019888a711bc2cf752bde19bde8bd5530d8cfa
6
+ metadata.gz: 1332f364438b0ea9e23ba283b17067f956c901ebc28484cb1f976b07df3930b59b586abb0a5dd8c41e36dd1eaf6a38c5ceb8c15736d2fbef3af9ece0d51dd114
7
+ data.tar.gz: ad4bbfcbba28ea9cd69ab868678ffe99d67315c2aeb025ecee3af95879f030906b5d6fc038ab05278f4fe92567c70567a5311a91865703a632ef2979725286d6
@@ -1,14 +1,12 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- idb (1.3.2)
4
+ idb (2.1.0)
5
5
  awesome_print
6
6
  coderay
7
- eventmachine
8
7
  ffi
9
8
  git
10
9
  hexdump
11
- highline
12
10
  htmlentities
13
11
  launchy
14
12
  log4r
@@ -17,9 +15,7 @@ PATH
17
15
  nokogiri
18
16
  plist4r
19
17
  qtbindings
20
- rbkb
21
18
  sqlite3
22
- trollop
23
19
 
24
20
  GEM
25
21
  remote: https://rubygems.org/
@@ -27,13 +23,11 @@ GEM
27
23
  addressable (2.3.6)
28
24
  awesome_print (1.2.0)
29
25
  coderay (1.1.0)
30
- eventmachine (1.0.3)
31
- ffi (1.9.5)
26
+ ffi (1.9.6)
32
27
  git (1.2.8)
33
28
  haml (4.0.5)
34
29
  tilt
35
30
  hexdump (0.2.3)
36
- highline (1.6.21)
37
31
  htmlentities (4.3.2)
38
32
  launchy (2.4.2)
39
33
  addressable (~> 2.3)
@@ -53,10 +47,8 @@ GEM
53
47
  libxml4r
54
48
  qtbindings (4.8.6.0)
55
49
  rake (10.3.2)
56
- rbkb (0.7.2)
57
50
  sqlite3 (1.3.9)
58
51
  tilt (2.0.1)
59
- trollop (2.0)
60
52
 
61
53
  PLATFORMS
62
54
  ruby
data/README.md CHANGED
@@ -6,26 +6,42 @@ idb was released as part of a talk at [ShmooCon](http://shmoocon.org) 2014. The
6
6
 
7
7
  ## Installation
8
8
 
9
- I am currently working on making the installation proces much more pleasant. It is not fully auomated yet, but the dependencies and number steps are much simpler since I bundled idb into a gem. Basic instructions:
10
-
11
- * Install ruby (1.9.3 and 2.1 are known to work. **Don't use 2.0**)
12
- * **Shared library support is required!**
13
- * Under `rvm` use `--enable-shared` when installing ruby.
14
- * Under `ruby-install`/`chruby` use `-- --enable-shared` when installing ruby.
15
- * Under `ruby-build`/`rbenv` with `ruby-build` use `CONFIGURE_OPTS=--enable-shared [command]` when installing Ruby.
16
- * Install prerequisites:
17
- * OS X: `brew install qt cmake usbmuxd libimobiledevice`
18
- * Ubuntu: `apt-get install cmake libqt4-dev git-core libimobiledevice-utils libplist-utils usbmuxd -y`
9
+ idb has some prerequisites. As it turns out, things like ruby and Qt are difficult to bundle into a stand-alone installer. While idb itself can easily be installed via Ruby Gems, you need to have some additional software first:
10
+
11
+ ### 1. Prerequisites
12
+ #### 1.1 Ruby Environment
13
+ idb requires a valid ruby 1.9.3 or 2.1 installation. **Ruby 2.0 does not work properly** due to issues with qtbindings.
14
+
15
+ **Important Note:** Shared library support is required! This is the default for many system rubies, but if you install a ruby via `rvm` or similar, you need to do one of the following:
16
+ * Under `rvm` use `--enable-shared` when installing ruby.
17
+ * Under `ruby-install`/`chruby` use `-- --enable-shared` when installing ruby.
18
+ * Under `ruby-build`/`rbenv` with `ruby-build` use `CONFIGURE_OPTS=--enable-shared [command]` when installing Ruby.
19
+
20
+ #### 1.2 Install Other Prerequisites:
21
+ * OS X: `brew install qt cmake usbmuxd libimobiledevice`
22
+ * Ubuntu: `apt-get install cmake libqt4-dev git-core libimobiledevice-utils libplist-utils usbmuxd -y`
23
+
24
+ ### 2. Installing idb
25
+ #### 2.1 Production Use
19
26
  * Install idb: `gem install idb`
20
27
  * Run idb: `idb`
21
28
  * Hooray!
22
29
 
23
- Expect a fully bundled version which includes ruby and qt soon!
30
+ #### 2.2 Development
31
+ * Clone the repository `git clone https://github.com/dmayer/idb`
32
+ * `cd idb`
33
+ * `bundle install` (using the right ruby version)
34
+ * As for every ruby gem, the application code lives in the `lib` folder
35
+ * Run idb by calling `bundle exec rake run`
36
+ * Note: Running `bin/idb` directly won't work since it will not find the idb gem (or use the installed gem and not the checked out source code). Instead, the `rake` task runs idb in the current bundler environment where bundler supplies the gem from source.
37
+
24
38
 
25
39
  ## Usage
26
40
 
27
41
  See the basic [manual and walk-through](//github.com/dmayer/idb/wiki/Manual-and--Walk-Through) to get started.
28
42
 
43
+ **New as of October 2014:** Idb now stores its configuration and temporary files in `~/.idb/`
44
+
29
45
  ## FAQ
30
46
 
31
47
  ### Q: After staring idb, the menu bar does not appear
data/Rakefile CHANGED
@@ -1,2 +1,8 @@
1
1
  require "bundler/gem_tasks"
2
2
 
3
+ desc "Runs idb from source without installing the gem."
4
+ task :run do
5
+ ruby "bin/idb"
6
+ end
7
+
8
+
@@ -21,13 +21,10 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency "bundler", "~> 1.6"
22
22
  spec.add_development_dependency "rake"
23
23
 
24
- spec.add_runtime_dependency 'highline'
25
24
  spec.add_runtime_dependency 'launchy'
26
25
  spec.add_runtime_dependency 'plist4r'
27
- spec.add_runtime_dependency 'trollop'
28
26
  spec.add_runtime_dependency 'net-ssh'
29
27
  spec.add_runtime_dependency 'net-sftp'
30
- spec.add_runtime_dependency 'rbkb'
31
28
  spec.add_runtime_dependency 'nokogiri'
32
29
  spec.add_runtime_dependency 'sqlite3'
33
30
  spec.add_runtime_dependency 'coderay'
@@ -35,7 +32,6 @@ Gem::Specification.new do |spec|
35
32
  spec.add_runtime_dependency 'awesome_print'
36
33
  spec.add_runtime_dependency 'ffi' # not really used atm.
37
34
  spec.add_runtime_dependency 'htmlentities'
38
- spec.add_runtime_dependency 'eventmachine'
39
35
  spec.add_runtime_dependency 'log4r'
40
36
  spec.add_runtime_dependency 'git'
41
37
  spec.add_runtime_dependency 'hexdump'
@@ -1,3 +1,3 @@
1
1
  module Idb
2
- VERSION = "1.3.2"
2
+ VERSION = "2.1.0"
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: 1.3.2
4
+ version: 2.1.0
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-10-09 00:00:00.000000000 Z
11
+ date: 2014-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: highline
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: launchy
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -80,20 +66,6 @@ dependencies:
80
66
  - - ">="
81
67
  - !ruby/object:Gem::Version
82
68
  version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: trollop
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
69
  - !ruby/object:Gem::Dependency
98
70
  name: net-ssh
99
71
  requirement: !ruby/object:Gem::Requirement
@@ -122,20 +94,6 @@ dependencies:
122
94
  - - ">="
123
95
  - !ruby/object:Gem::Version
124
96
  version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: rbkb
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
97
  - !ruby/object:Gem::Dependency
140
98
  name: nokogiri
141
99
  requirement: !ruby/object:Gem::Requirement
@@ -234,20 +192,6 @@ dependencies:
234
192
  - - ">="
235
193
  - !ruby/object:Gem::Version
236
194
  version: '0'
237
- - !ruby/object:Gem::Dependency
238
- name: eventmachine
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - ">="
242
- - !ruby/object:Gem::Version
243
- version: '0'
244
- type: :runtime
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - ">="
249
- - !ruby/object:Gem::Version
250
- version: '0'
251
195
  - !ruby/object:Gem::Dependency
252
196
  name: log4r
253
197
  requirement: !ruby/object:Gem::Requirement
@@ -391,7 +335,6 @@ files:
391
335
  - lib/lib/url_scheme_fuzzer.rb
392
336
  - lib/lib/usb_muxd_wrapper.rb
393
337
  - lib/lib/weak_class_dump_wrapper.rb
394
- - lib/run_idb.rb
395
338
  - lib/utils/dumpdecrypted/README
396
339
  - lib/utils/dumpdecrypted/dumpdecrypted_armv6.dylib
397
340
  - lib/utils/dumpdecrypted/dumpdecrypted_armv7.dylib
@@ -1,3 +0,0 @@
1
- require_relative 'idb'
2
-
3
- idb = Idb::Idb.run