Package Details: python-objection 1.11.0-1

Git Clone URL: https://aur.archlinux.org/python-objection.git (read-only, click to copy)
Package Base: python-objection
Description: Runtime mobile exploration
Upstream URL: https://github.com/sensepost/objection
Licenses: GPL3
Submitter: greyltc
Maintainer: None
Last Packager: lmartinez-mirror
Votes: 2
Popularity: 0.77
First Submitted: 2019-10-10 23:12 (UTC)
Last Updated: 2021-10-04 01:18 (UTC)

Latest Comments

tommyshark commented on 2024-01-04 17:00 (UTC) (edited on 2024-01-04 17:07 (UTC) by tommyshark)

Solution how to install this package on arch linux correctly and it will work:
Import key:
curl https://github.com/leonjza.gpg | gpg --import

First you need to install all dependencies that listed above, but you need to install python-semver manually:
git clone --branch 2.13.0 https://github.com/python-semver/python-semver.git
cd python-semver
sudo python3 setup.py install

Then install objection also manually:
git clone https://aur.archlinux.org/python-objection.git
cd python-objection

Edit PKGBUILD, you need to delete two lines with python-semver.
then install it:
makepkg -si --nocheck

After you installed python-objection, you also need to install this two packages, because python-objection requires aapt package:
yay -S android-sdk android-sdk-build-tools

lmartinez-mirror commented on 2021-10-06 15:40 (UTC)

You can get the GPG key from upstream's GitHub.

curl https://github.com/leonjza.gpg | gpg --import

As far as the tests are concerned, there's not much I can do to fix those. They may require certain packages that are older than what's available on Arch. You can skip them with --nocheck if you still need this package.

txtsd commented on 2021-10-06 10:10 (UTC)

Fails check() if I --skippgpcheck

==> Starting check()...
Checking for a newer version of objection...
.....................................FF...........FFFFF..................................FF......F............................................FFF................FF..F...F........F....................................................................................................
======================================================================
FAIL: test_entries_handles (tests.commands.android.test_keystore.TestKeystore)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/android/test_keystore.py", line 38, in test_entries_handles
    self.assertEqual(output, expected_output)
AssertionError: 'Alias  Key   Certificate\n-----  ----  ---------[19 chars]ue\n' != 'Alias    Key    Certificate\n-------  -----  ---[30 chars]ue\n'
- Alias  Key   Certificate
+ Alias    Key    Certificate
?        ++   +
- -----  ----  -----------
?            ^^
+ -------  -----  -------------
?      ++      ^^^^^
- test   True  True
+ test     True   True
?        ++    +


======================================================================
FAIL: test_entries_handles_empty_data (tests.commands.android.test_keystore.TestKeystore)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/android/test_keystore.py", line 20, in test_entries_handles_empty_data
    self.assertEqual(output, expected_output)
AssertionError: 'Alias  Key  Certificate\n-----  ---  -----------\n' != 'Alias    Key    Certificate\n-------  -----  -------------\n'
- Alias  Key  Certificate
+ Alias    Key    Certificate
?        ++   ++
- -----  ---  -----------
?           ^^
+ -------  -----  -------------
?      ++     ^^^^^^


======================================================================
FAIL: test_show_bundles_prints_bundles (tests.commands.ios.test_bundles.TestBundles)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/ios/test_bundles.py", line 147, in test_show_bundles_prints_bundles
    self.assertEqual(output, expected)
AssertionError: 'Exec[53 chars]     Version  Path\n------------------------  [521 chars]it\n' != 'Exec[53 chars]       Version  Path\n------------------------[533 chars]it\n'
Diff is 1684 characters long. Set self.maxDiff to None to see it.

======================================================================
FAIL: test_show_frameworks_prints_with_apple_bundles (tests.commands.ios.test_bundles.TestBundles)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/ios/test_bundles.py", line 96, in test_show_frameworks_prints_with_apple_bundles
    self.assertEqual(output, expected)
AssertionError: 'Exec[53 chars]     Version  Path\n------------------------  [463 chars]it\n' != 'Exec[53 chars]       Version  Path\n------------------------[475 chars]it\n'
Diff is 1568 characters long. Set self.maxDiff to None to see it.

======================================================================
FAIL: test_show_frameworks_prints_with_apple_bundles_and_full_paths (tests.commands.ios.test_bundles.TestBundles)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/ios/test_bundles.py", line 113, in test_show_frameworks_prints_with_apple_bundles_and_full_paths
    self.assertEqual(output, expected)
AssertionError: 'Exec[53 chars]     Version  Path\n------------------------  [521 chars]it\n' != 'Exec[53 chars]       Version  Path\n------------------------[533 chars]it\n'
Diff is 1684 characters long. Set self.maxDiff to None to see it.

======================================================================
FAIL: test_show_frameworks_prints_without_apple_bundles (tests.commands.ios.test_bundles.TestBundles)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/ios/test_bundles.py", line 79, in test_show_frameworks_prints_without_apple_bundles
    self.assertEqual(output, expected)
AssertionError: 'Executable  Bundle                 Version  Path\n---[158 chars]it\n' != 'Executable    Bundle                   Version  Path\[174 chars]it\n'
- Executable  Bundle                 Version  Path
+ Executable    Bundle                   Version  Path
?             ++      ++
- ----------  ---------------------  -------  ----------
+ ------------  ---------------------  ---------  ----------
?           ++                                ++
- hockeyapp   net.hockeyapp.sdk.ios        1  /hockeyapp
+ hockeyapp     net.hockeyapp.sdk.ios          1  /hockeyapp
?          ++                                ++
- MapKit      za.apple.MapKit              1  /MapKit
+ MapKit        za.apple.MapKit                1  /MapKit
?       ++                                   ++


======================================================================
FAIL: test_get (tests.commands.ios.test_cookies.TestCookies)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/ios/test_cookies.py", line 38, in test_get
    self.assertEqual(output, expected_output)
AssertionError: 'Name  Value  Expires                    Domain [164 chars]ue\n' != 'Name    Value    Expires                    Dom[193 chars]ue\n'
Diff is 747 characters long. Set self.maxDiff to None to see it.

======================================================================
FAIL: test_dump_to_screen (tests.commands.ios.test_keychain.TestKeychain)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/ios/test_keychain.py", line 94, in test_dump_to_screen
    self.assertEqual(output, expected_output)
AssertionError: 'Note[173 chars]ted  Accessible  ACL   Type  Account  Service [116 chars]ar\n' != 'Note[173 chars]ted    Accessible    ACL    Type    Account   [151 chars]ar\n'
Diff is 803 characters long. Set self.maxDiff to None to see it.

======================================================================
FAIL: test_dump_to_screen_handles_empty_data (tests.commands.ios.test_keychain.TestKeychain)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/ios/test_keychain.py", line 74, in test_dump_to_screen_handles_empty_data
    self.assertEqual(output, expected_output)
AssertionError: 'Note[173 chars]ted  Accessible  ACL  Type  Account  Service  [58 chars]--\n' != 'Note[173 chars]ted    Accessible    ACL    Type    Account   [84 chars]--\n'
  Note: You may be asked to authenticate using the devices passcode or TouchID
  Save the output by adding `--json keychain.json` to this command
  Dumping the iOS keychain...
- Created  Accessible  ACL  Type  Account  Service  Data
+ Created    Accessible    ACL    Type    Account    Service    Data
?        ++              ++   ++      ++           ++         ++
- -------  ----------  ---  ----  -------  -------  ----
?                    --  -                        ^^
+ ---------  ------------  -----  ------  ---------  ---------  ------
?        ++                    +++++++++         ++         ^^^^^^


======================================================================
FAIL: test_dump (tests.commands.ios.test_nsurlcredentialstorage.TestNsusercredentialstorage)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/ios/test_nsurlcredentialstorage.py", line 28, in test_dump
    self.assertEqual(output, expected_output)
AssertionError: 'Protocol  Host     Port  Authentication Method  Use[132 chars]ar\n' != 'Protocol    Host       Port  Authentication Method [158 chars]ar\n'
Diff is 656 characters long. Set self.maxDiff to None to see it.

======================================================================
FAIL: test_lists_readable_android_directory_using_helper_method (tests.commands.test_filemanager.TestFileManager)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/test_filemanager.py", line 363, in test_lists_readable_android_directory_using_helper_method
    self.assertEqual(output, expected_outut)
AssertionError: 'Type  Last Modified            Read  Write  Hid[184 chars]ue\n' != 'Type    Last Modified            Read    Write [210 chars]ue\n'
- Type  Last Modified            Read  Write  Hidden  Size     Name
+ Type    Last Modified            Read    Write    Hidden    Size     Name
?       ++                             ++       ++          ++
- ----  -----------------------  ----  -----  ------  -------  ----
+ ------  -----------------------  ------  -------  --------  -------  ------
- File  2017-10-05 07:36:41 GMT  True  True   False   249.0 B  test
+ File    2017-10-05 07:36:41 GMT  True    True     False     249.0 B  test
?     ++                                 ++    ++           ++

  Readable: True  Writable: True


======================================================================
FAIL: test_lists_readable_ios_directory_using_helper_method (tests.commands.test_filemanager.TestFileManager)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/test_filemanager.py", line 287, in test_lists_readable_ios_directory_using_helper_method
    self.assertEqual(output, expected_outut)
AssertionError: 'NSFileType  Perms  NSFileProtection  Read  Write  Own[251 chars]se\n' != 'NSFileType    Perms    NSFileProtection    Read    Wr[301 chars]se\n'
Diff is 1033 characters long. Set self.maxDiff to None to see it.

======================================================================
FAIL: test_lists_readable_ios_directory_using_helper_method_no_attributes (tests.commands.test_filemanager.TestFileManager)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/test_filemanager.py", line 315, in test_lists_readable_ios_directory_using_helper_method_no_attributes
    self.assertEqual(output, expected_outut)
AssertionError: 'NSFileType  Perms  NSFileProtection  Read  Write  Own[259 chars]ue\n' != 'NSFileType    Perms    NSFileProtection    Read    Wr[303 chars]ue\n'
Diff is 1052 characters long. Set self.maxDiff to None to see it.

======================================================================
FAIL: test_displays_empty_jobs_message (tests.commands.test_jobs.TestJobs)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/test_jobs.py", line 41, in test_displays_empty_jobs_message
    self.assertEqual(output, expected_output)
AssertionError: 'Job ID  Hooks  Type\n------  -----  ----\n' != 'Job ID    Hooks    Type\n--------  -------  ------\n'
- Job ID  Hooks  Type
+ Job ID    Hooks    Type
?       ++         ++
- ------  -----  ----
?              ^^
+ --------  -------  ------
?       ++       ^^^^^^


======================================================================
FAIL: test_displays_list_of_jobs (tests.commands.test_jobs.TestJobs)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/test_jobs.py", line 56, in test_displays_list_of_jobs
    self.assertEqual(output, expected_outut)
AssertionError: 'Job ID       Hooks  Type\n-----------  -----  --------[54 chars]le\n' != 'Job ID         Hooks  Type\n-----------  -------  ----[60 chars]le\n'
- Job ID       Hooks  Type
+ Job ID         Hooks  Type
?       ++
- -----------  -----  ---------------------
+ -----------  -------  ---------------------
?                   ++
- rdcjq16g8xi      1  ios-jailbreak-disable
+ rdcjq16g8xi        1  ios-jailbreak-disable
?                  ++


======================================================================
FAIL: test_dump_all (tests.commands.test_memory.TestMemory)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/test_memory.py", line 49, in test_dump_all
    self.assertEqual(output, expected_output)
AssertionError: 'Will dump 1 rw- images, totalling 100.0 B\n\nMemory dumped to file: /foo\n' != 'Will dump 1 rw- images, totalling 100.0 B\nMemory dumped to file: /foo\n'
  Will dump 1 rw- images, totalling 100.0 B
-
  Memory dumped to file: /foo


======================================================================
FAIL: test_dump_exports_without_error (tests.commands.test_memory.TestMemory)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/test_memory.py", line 147, in test_dump_exports_without_error
    self.assertEqual(output, expected_outut)
AssertionError: 'Save[72 chars]ame  Address\n--------  ----  -------\nfunctio[14 chars]68\n' != 'Save[72 chars]ame      Address\n--------  ------  ---------\[26 chars]68\n'
  Save the output by adding `--json exports.json` to this command
- Type      Name  Address
+ Type      Name      Address
?               ++++
- --------  ----  -------
?               ^^
+ --------  ------  ---------
?               ^^^^^^
- function  test    32768
+ function  test        32768
?               ++++


======================================================================
FAIL: test_list_modules_without_errors_without_json_flag (tests.commands.test_memory.TestMemory)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/home/txtsd/.cache/yay/python-objection/src/python-objection/tests/commands/test_memory.py", line 92, in test_list_modules_without_errors_without_json_flag
    self.assertEqual(output, expected_outut)
AssertionError: 'Save[63 chars]me   Base  Size           Path\n----  -----  -[50 chars]oo\n' != 'Save[63 chars]me      Base  Size           Path\n------  ---[61 chars]oo\n'
  Save the output by adding `--json modules.json` to this command
- Name   Base  Size           Path
+ Name      Base  Size           Path
?        +++
- ----  -----  -------------  ----
? ------
+ ------  ------  -------------  ------
?      +++++++++                 ++
- test  32768  200 (200.0 B)  /foo
+ test     32768  200 (200.0 B)  /foo
?     +++


----------------------------------------------------------------------
Ran 279 tests in 0.465s

FAILED (failures=18)
==> ERROR: A failure occurred in check().
    Aborting...
error making: python-objection

txtsd commented on 2021-10-06 09:13 (UTC)

I'm unable to import the new pgp key. It stalls and quits in yay, and this is the output of trying to do it manually.

λ gpg -v --keyserver keyserver.ubuntu.com --recv-key 0087A89D911FACE7A2AC31B5AE1F25096C0CB06B
gpg: data source: http://162.213.33.9:11371
gpg: keyserver receive failed: No data

λ gpg -v --keyserver keys.openpgp.org --recv-key 0087A89D911FACE7A2AC31B5AE1F25096C0CB06B
gpg: data source: http://keys.openpgp.org:11371
gpg: keyserver receive failed: No data

Lumpiasty commented on 2020-12-31 05:41 (UTC) (edited on 2020-12-31 06:20 (UTC) by Lumpiasty)

Missing dependency python-requests.

Please, avoid indirect dependencies.

Also, to patch apk you need android-sdk-build-tools and android-patchtool, it would be nice if you added them as optional dependencies.

Flat commented on 2019-12-06 01:08 (UTC)

Missing a dependency litecli