dmayer / idb

idb is a tool to simplify some common tasks for iOS pentesting and research
MIT License
937 stars 156 forks source link

Crash on loading apps in iOS 8.1 #46

Closed gepeto42 closed 9 years ago

gepeto42 commented 9 years ago

Good morning!

Using the Github version pulled yesterday, when loading some apps (a lot of those I tried), I get a crash similar to the keychain dump crash. Device is iPhone 5, iOS 8.1, JB'd with Pangu, and the PC is on Kali Linux.

The "Popkey" keyboard app seems to trigger this bug reliably.

root@kalibox:~/idb# bundle exec rake run --trace
** Invoke run (first_time)
** Execute run
/usr/bin/ruby1.9.1 bin/idb
/root/.idb/tmp/
[INFO] 2014-11-03 20:23:01 :: idb ::  Loading configuration from /root/.idb/settings.yml
QLayout: Cannot add null widget to QGridLayout/
QLayout: Cannot add null widget to QGridLayout/
[DEBUG] 2014-11-03 20:23:03 :: idb ::  Connecting via USB
[DEBUG] 2014-11-03 20:23:03 :: idb ::  Using port 59979 for SSH forwarding
[INFO] 2014-11-03 20:23:03 :: idb ::  Launching SSH proxy on port 59979
waiting for connection
[INFO] 2014-11-03 20:23:04 :: idb ::  Establishing SSH Session for root@localhost:59979
accepted connection, fd = 4
Number of available devices == 1
Requesting connecion to device handle == 1 (serial: 44d82572605f64b6042bb1e3d363c0e3330a106f), port 22
run_ctos_loop: fd = 4
run_stoc_loop: fd = 4
[INFO] 2014-11-03 20:23:05 :: idb ::  Establishing SFTP Session...
[DEBUG] 2014-11-03 20:23:05 :: idb ::  opening port 59979 for manual ssh connection
[INFO] 2014-11-03 20:23:05 :: idb ::  Launching SSH proxy on port 2222
[DEBUG] 2014-11-03 20:23:05 :: idb ::  opening tool port 34732 for internal ssh connection
[INFO] 2014-11-03 20:23:05 :: idb ::  Launching SSH proxy on port 34732
bind(): Address already in use
Error creating socket: Address already in use
waiting for connection
[INFO] 2014-11-03 20:23:05 :: idb ::  Checking if aptget is installed...
[INFO] 2014-11-03 20:23:05 :: idb ::  aptget found at /usr/bin/aptitude.
[INFO] 2014-11-03 20:23:05 :: idb ::  Checking if open is installed...
[INFO] 2014-11-03 20:23:05 :: idb ::  open found at /usr/bin/open.
[INFO] 2014-11-03 20:23:05 :: idb ::  Checking if openurl is installed...
[INFO] 2014-11-03 20:23:05 :: idb ::  openurl found at /usr/bin/uiopen.
[INFO] 2014-11-03 20:23:05 :: idb ::  Checking if dumpdecrypted_armv6 is installed...
[INFO] 2014-11-03 20:23:05 :: idb ::  dumpdecrypted_armv6 found at /var/root/dumpdecrypted_armv6.dylib.
[INFO] 2014-11-03 20:23:05 :: idb ::  Checking if dumpdecrypted_armv7 is installed...
[INFO] 2014-11-03 20:23:05 :: idb ::  dumpdecrypted_armv7 found at /var/root/dumpdecrypted_armv7.dylib.
[INFO] 2014-11-03 20:23:05 :: idb ::  Checking if pbwatcher is installed...
[INFO] 2014-11-03 20:23:05 :: idb ::  pbwatcher found at /var/root/pbwatcher.
[INFO] 2014-11-03 20:23:05 :: idb ::  Checking if pcviewer is installed...
[INFO] 2014-11-03 20:23:05 :: idb ::  pcviewer found at /var/root/protectionclassviewer.
[INFO] 2014-11-03 20:23:05 :: idb ::  Checking if keychaindump is installed...
[INFO] 2014-11-03 20:23:05 :: idb ::  keychaindump found at /var/root/keychain_dump.
[INFO] 2014-11-03 20:23:05 :: idb ::  Checking if rsync is installed...
[INFO] 2014-11-03 20:23:05 :: idb ::  rsync found at /usr/bin/rsync.
[INFO] 2014-11-03 20:23:05 :: idb ::  Checking if cycript is installed...
[INFO] 2014-11-03 20:23:05 :: idb ::  cycript found at /usr/bin/cycript.
[INFO] 2014-11-03 20:23:06 :: port_forward ::  Loading configuration from /root/.idb/settings.yml
[DEBUG] 2014-11-03 20:23:06 :: port_forward ::  Connecting via USB
[DEBUG] 2014-11-03 20:23:06 :: port_forward ::  Using port 59881 for SSH forwarding
[INFO] 2014-11-03 20:23:06 :: port_forward ::  Launching SSH proxy on port 59881
[INFO] 2014-11-03 20:23:06 :: port_forward :: Establishing SSH port forwarding...
/var/lib/gems/1.9.1/gems/net-ssh-2.9.1/lib/net/ssh/transport/session.rb:70:in `initialize': Connection refused - connect(2) (Errno::ECONNREFUSED)
    from /var/lib/gems/1.9.1/gems/net-ssh-2.9.1/lib/net/ssh/transport/session.rb:70:in `open'
    from /var/lib/gems/1.9.1/gems/net-ssh-2.9.1/lib/net/ssh/transport/session.rb:70:in `block in initialize'
    from /usr/lib/ruby/1.9.1/timeout.rb:54:in `timeout'
    from /usr/lib/ruby/1.9.1/timeout.rb:99:in `timeout'
    from /var/lib/gems/1.9.1/gems/net-ssh-2.9.1/lib/net/ssh/transport/session.rb:67:in `initialize'
    from /var/lib/gems/1.9.1/gems/net-ssh-2.9.1/lib/net/ssh.rb:202:in `new'
    from /var/lib/gems/1.9.1/gems/net-ssh-2.9.1/lib/net/ssh.rb:202:in `start'
    from /root/idb/lib/lib/ssh_port_forwarder.rb:17:in `initialize'
    from /root/idb/lib/lib/../helper/ssh_port_forwarder.rb:36:in `new'
    from /root/idb/lib/lib/../helper/ssh_port_forwarder.rb:36:in `run'
    from /root/idb/lib/lib/../helper/ssh_port_forwarder.rb:63:in `<module:Idb>'
    from /root/idb/lib/lib/../helper/ssh_port_forwarder.rb:7:in `<main>'
waiting for connection
[*] Retrieving list of applications...
[INFO] 2014-11-03 20:23:14 :: idb ::  Info.plist found at /private/var/mobile/Containers/Bundle/Application/00800FB4-2476-48DF-998B-4BA43A8E5347/Riffsy Keyboard.app/Info.plist
[INFO] 2014-11-03 20:23:14 :: idb ::  Parsing plist file..
[INFO] 2014-11-03 20:23:15 :: idb ::  Info.plist found at /private/var/mobile/Containers/Bundle/Application/2B3C1666-EC02-4695-8380-EC6D29AFF881/EmojiKeyboard.app/Info.plist
[INFO] 2014-11-03 20:23:15 :: idb ::  Parsing plist file..
[INFO] 2014-11-03 20:23:15 :: idb ::  Info.plist found at /private/var/mobile/Containers/Bundle/Application/3A961115-6E8B-4A73-8EE5-B4B08D038A87/WhatsupKeys.app/Info.plist
[INFO] 2014-11-03 20:23:15 :: idb ::  Parsing plist file..
[INFO] 2014-11-03 20:23:15 :: idb ::  Info.plist found at /private/var/mobile/Containers/Bundle/Application/48673F22-E2B0-4FF8-ABD8-D7F665E7F3CE/Swype.app/Info.plist
[INFO] 2014-11-03 20:23:15 :: idb ::  Parsing plist file..
[INFO] 2014-11-03 20:23:16 :: idb ::  Info.plist found at /private/var/mobile/Containers/Bundle/Application/4C4146C7-5719-4F1A-BA79-7B24261C0FC5/SwiftKeyApp.app/Info.plist
[INFO] 2014-11-03 20:23:16 :: idb ::  Parsing plist file..
[INFO] 2014-11-03 20:23:16 :: idb ::  Info.plist found at /private/var/mobile/Containers/Bundle/Application/6338A062-5D75-46E9-8FAC-8A9801C41262/Stack.app/Info.plist
[INFO] 2014-11-03 20:23:16 :: idb ::  Parsing plist file..
[INFO] 2014-11-03 20:23:16 :: idb ::  Info.plist found at /private/var/mobile/Containers/Bundle/Application/68C7E9EE-E700-4D72-88CA-8362589DE592/PopKey.app/Info.plist
[INFO] 2014-11-03 20:23:16 :: idb ::  Parsing plist file..
[INFO] 2014-11-03 20:23:17 :: idb ::  Info.plist found at /private/var/mobile/Containers/Bundle/Application/791B3041-456C-4B48-8184-A9587E0BC431/ScribbleKeyApp.app/Info.plist
[INFO] 2014-11-03 20:23:17 :: idb ::  Parsing plist file..
[INFO] 2014-11-03 20:23:17 :: idb ::  Info.plist found at /private/var/mobile/Containers/Bundle/Application/9206E0E0-8F82-4C72-B33D-661535520361/Keymoji.app/Info.plist
[INFO] 2014-11-03 20:23:17 :: idb ::  Parsing plist file..
[INFO] 2014-11-03 20:23:18 :: idb ::  Info.plist found at /private/var/mobile/Containers/Bundle/Application/C3AEF098-F25D-41DE-AEFD-2B6C180084F1/Fleksy.app/Info.plist
[INFO] 2014-11-03 20:23:18 :: idb ::  Parsing plist file..
[INFO] 2014-11-03 20:23:18 :: idb ::  Info.plist found at /private/var/mobile/Containers/Bundle/Application/F6E17B37-6E99-4157-BA0A-8EDC6F735B9C/TextExpander.app/Info.plist
[INFO] 2014-11-03 20:23:18 :: idb ::  Parsing plist file..
/root/idb/lib/gui/global_app_details_group_box.rb:46:in `block (2 levels) in initialize': undefined method `+' for nil:NilClass (NoMethodError)
    from /var/lib/gems/1.9.1/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:2454:in `call'
    from /var/lib/gems/1.9.1/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:2454:in `invoke'
    from /root/idb/lib/gui/app_list_dialog.rb:27:in `qt_metacall'
    from /root/idb/lib/gui/app_list_dialog.rb:27:in `method_missing'
    from /root/idb/lib/gui/app_list_dialog.rb:27:in `block in initialize'
    from /var/lib/gems/1.9.1/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:2454:in `call'
    from /var/lib/gems/1.9.1/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:2454:in `invoke'
    from /var/lib/gems/1.9.1/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:901:in `qt_metacall'
    from /var/lib/gems/1.9.1/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:901:in `method_missing'
    from /var/lib/gems/1.9.1/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:901:in `exec'
    from /root/idb/lib/gui/global_app_details_group_box.rb:63:in `block in initialize'
    from /var/lib/gems/1.9.1/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:2454:in `call'
    from /var/lib/gems/1.9.1/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:2454:in `invoke'
    from /var/lib/gems/1.9.1/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:479:in `qt_metacall'
    from /var/lib/gems/1.9.1/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:479:in `method_missing'
    from /var/lib/gems/1.9.1/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:479:in `exec'
    from /root/idb/lib/idb.rb:284:in `run'
    from bin/idb:4:in `<main>'
recv failed: Success
rake aborted!
Command failed with status (1): [/usr/bin/ruby1.9.1 bin/idb...]
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/file_utils.rb:55:in `block in create_shell_runner'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/file_utils.rb:45:in `call'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/file_utils.rb:45:in `sh'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/file_utils_ext.rb:37:in `sh'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/file_utils.rb:84:in `ruby'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/file_utils_ext.rb:37:in `ruby'
/root/idb/Rakefile:5:in `block in <top (required)>'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:106:in `each'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
/var/lib/gems/1.9.1/gems/rake-10.3.2/bin/rake:33:in `<top (required)>'
/usr/local/bin/rake:23:in `load'
/usr/local/bin/rake:23:in `<main>'
Tasks: TOP => run
root@kalibox:~/idb# waiting for connection
dmayer commented 9 years ago

Fixed in d9908059cdaa49641303b9f8340d146c1eb22e1e

etolstoy commented 9 years ago

Hi! I'm still experiencing the crash when clicking "Select App" button. I'm using v.2.5.2:

/Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/net-ssh-2.9.1/lib/net/ssh/service/forward.rb:149:in block in remote': remote forwarding request failed (Net::SSH::Exception) from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:504:incall' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:504:in request_failure' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:465:indispatch_incoming_packets' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:221:in preprocess' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:205:inprocess' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in block in loop' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:inloop' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/net-ssh-2.9.1/lib/net/ssh/connection/session.rb:169:in loop' from /Users/etolstoy/Downloads/idb-2.5.2/lib/lib/ssh_port_forwarder.rb:31:instart' from /Users/etolstoy/Downloads/idb-2.5.2/lib/lib/../helper/ssh_port_forwarder.rb:58:in run' from /Users/etolstoy/Downloads/idb-2.5.2/lib/lib/../helper/ssh_port_forwarder.rb:63:inmodule:Idb' from /Users/etolstoy/Downloads/idb-2.5.2/lib/lib/../helper/ssh_port_forwarder.rb:7:in <main>' Application directory not found. /Users/etolstoy/Downloads/idb-2.5.2/lib/lib/abstract_device.rb:10:inget_app_uuids': Application directory not found. (RuntimeError) from /Users/etolstoy/Downloads/idb-2.5.2/lib/gui/app_list_dialog.rb:54:in refresh_app_list' from /Users/etolstoy/Downloads/idb-2.5.2/lib/gui/app_list_dialog.rb:20:ininitialize' from /Users/etolstoy/Downloads/idb-2.5.2/lib/gui/global_app_details_group_box.rb:43:in new' from /Users/etolstoy/Downloads/idb-2.5.2/lib/gui/global_app_details_group_box.rb:43:inblock in initialize' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:2454:in call' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:2454:ininvoke' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:479:in qt_metacall' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:479:inmethod_missing' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/qtbindings-4.8.6.0/lib/Qt/qtruby4.rb:479:in exec' from /Users/etolstoy/Downloads/idb-2.5.2/lib/idb.rb:284:inrun' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/gems/idb-2.5.2/bin/idb:4:in <top (required)>' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/bin/idb:23:inload' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/bin/idb:23:in <main>' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:ineval' from /Users/etolstoy/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `

'

dmayer commented 9 years ago

This seems to be the same bug as #50 tracking it there.