Ejemplo n.º 1
0
    def test_no_session(self, capsys):
        instance = apk.AndroidPackage()
        instance.command_line = ["-i"]

        instance.run()
        out, err = capsys.readouterr()

        assert re.search(r".*No open session.*", out)
Ejemplo n.º 2
0
    def test_file(self, capsys, filename):
        __sessions__.new(os.path.join(FIXTURE_DIR, filename))
        instance = apk.AndroidPackage()
        instance.command_line = ["-f"]

        instance.run()
        out, err = capsys.readouterr()

        assert re.search(r".*APK Contents.*", out)
Ejemplo n.º 3
0
    def test_info(self, capsys, filename):
        __sessions__.new(os.path.join(FIXTURE_DIR, filename))
        instance = apk.AndroidPackage()
        instance.command_line = ["-i"]

        instance.run()
        out, err = capsys.readouterr()

        assert re.search(r".*Package Name: de.rhab.helloworld*", out)
Ejemplo n.º 4
0
    def test_dump_no_parameter(self, capsys, filename):
        __sessions__.new(os.path.join(FIXTURE_DIR, filename))
        instance = apk.AndroidPackage()
        instance.command_line = ["-d"]

        instance.run()
        out, err = capsys.readouterr()

        assert re.search(r".*argument -d/--dump: expected one argument.*", out)
Ejemplo n.º 5
0
    def test_all(self, capsys, filename, pkg_name):
        __sessions__.new(os.path.join(FIXTURE_DIR, filename))
        instance = apk.AndroidPackage()
        instance.command_line = ["-a"]

        instance.run()
        out, err = capsys.readouterr()

        assert re.search(r".*Package Name: {}.*".format(pkg_name), out)
Ejemplo n.º 6
0
    def test_url(self, capsys, filename):
        __sessions__.new(os.path.join(FIXTURE_DIR, filename))
        instance = apk.AndroidPackage()
        instance.command_line = ["-u"]

        instance.run()
        out, err = capsys.readouterr()

        assert re.search(r".*http://schemas.android.com/apk/res/android.*", out)
        assert not re.search(r".*http://foo.example.bar.*", out)
Ejemplo n.º 7
0
    def test_dump(self, capsys, filename):
        __sessions__.new(os.path.join(FIXTURE_DIR, filename))
        instance = apk.AndroidPackage()
        instance.command_line = ["-d hello-world.dump"]

        instance.run()
        out, err = capsys.readouterr()

        assert re.search(r".*Decompiling Code.*", out)
        assert re.search(r".*Decompiled code saved to.*", out)
Ejemplo n.º 8
0
    def test_cert(self, capsys, filename):
        __sessions__.new(os.path.join(FIXTURE_DIR, filename))
        instance = apk.AndroidPackage()
        instance.command_line = ["-c"]

        instance.run()
        out, err = capsys.readouterr()

        assert re.search(r"SHA1: 65 2F 61 29 C8 7D 05 40 BF 98 6F C0 0E FD 9A B8 A7 87 84 DE", out)
        assert re.search(r"SHA256: 6E 56 64 27 DA 36 DD 91 36 39 B1 11 2F 74 7B 77 40 88 51 B4 85 7A 1D 63 EB F9 1E 02 B0 6F 20 88", out)
Ejemplo n.º 9
0
    def test_cert(self, capsys, filename):
        __sessions__.new(os.path.join(FIXTURE_DIR, filename))
        instance = apk.AndroidPackage()
        instance.command_line = ["-c"]

        instance.run()
        out, err = capsys.readouterr()

        assert re.search(r"md5: 2487974b62a94eaa8254b95dd8ce8fc7", out)
        assert re.search(r"sha1: 652f6129c87d0540bf986fc00efd9ab8a78784de", out)
Ejemplo n.º 10
0
    def test_dump(self, capsys, filename):
        __sessions__.new(os.path.join(FIXTURE_DIR, filename))
        instance = apk.AndroidPackage()
        instance.command_line = ["-d hello-world.dump"]

        # TODO(frennkie) this test fails (Can't convert 'bytes' object to str implicitly)
        instance.run()
        out, err = capsys.readouterr()

        assert re.search(r".*Decompiling Code.*", out)
        assert re.search(r".*Decompiled code saved to.*", out)
Ejemplo n.º 11
0
 def test_args_exception(self):
     instance = apk.AndroidPackage()
     with pytest.raises(ArgumentErrorCallback) as excinfo:
         instance.parser.parse_args(["-h"])
     excinfo.match(r".*Parse Android Applications.*")
Ejemplo n.º 12
0
 def test_init(self):
     instance = apk.AndroidPackage()
     assert isinstance(instance, apk.AndroidPackage)
     assert isinstance(instance, Module)