Skip to content

exploit-apk not working on windows #384

@DarkSurferZA

Description

@DarkSurferZA
qark --apk app-debug.apk --report-type html --exploit-apk --sdk-path apkpathgoeshere
....
Finish writing report to c:\programdata\miniconda3\envs\qark\lib\site-packages\qark\report\report.html ...
Building exploit APK...
Error running command %s
Traceback (most recent call last):
  File "c:\programdata\miniconda3\envs\qark\lib\site-packages\qark\apk_builder.py", line 115, in _build_apk
    subprocess.call(shlex.split(command))
  File "c:\programdata\miniconda3\envs\qark\lib\subprocess.py", line 172, in call
    return Popen(*popenargs, **kwargs).wait()
  File "c:\programdata\miniconda3\envs\qark\lib\subprocess.py", line 394, in __init__
    errread, errwrite)
  File "c:\programdata\miniconda3\envs\qark\lib\subprocess.py", line 644, in _execute_child
    startupinfo)
WindowsError: [Error 193] %1 is not a valid Win32 application
Traceback (most recent call last):
  File "c:\programdata\miniconda3\envs\qark\lib\runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "c:\programdata\miniconda3\envs\qark\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "C:\ProgramData\Miniconda3\envs\qark\Scripts\qark.exe\__main__.py", line 7, in <module>
  File "c:\programdata\miniconda3\envs\qark\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "c:\programdata\miniconda3\envs\qark\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "c:\programdata\miniconda3\envs\qark\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\programdata\miniconda3\envs\qark\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "c:\programdata\miniconda3\envs\qark\lib\site-packages\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\programdata\miniconda3\envs\qark\lib\site-packages\qark\qark.py", line 102, in cli
    exploit_builder.build()
  File "c:\programdata\miniconda3\envs\qark\lib\site-packages\qark\apk_builder.py", line 76, in build
    self._build_apk()
  File "c:\programdata\miniconda3\envs\qark\lib\site-packages\qark\apk_builder.py", line 116, in _build_apk
    subprocess.call(shlex.split(command))
  File "c:\programdata\miniconda3\envs\qark\lib\subprocess.py", line 172, in call
    return Popen(*popenargs, **kwargs).wait()
  File "c:\programdata\miniconda3\envs\qark\lib\subprocess.py", line 394, in __init__
    errread, errwrite)
  File "c:\programdata\miniconda3\envs\qark\lib\subprocess.py", line 644, in _execute_child
    startupinfo)
WindowsError: [Error 193] %1 is not a valid Win32 application

Problem seems to be in this file: c:\programdata\miniconda3\envs\qark\lib\site-packages\qark\apk_builder.py

After inspecting the file, line 115 is attempting to launch ./gradlew. this obviously isnt suitable to Windows environments and would have to be changed to gradlew.bat

Suggested change in the project is to include an if os.name == 'nt': check and then make use of either ./gradlew or gradlew.bat.

Willing to create a pull request, but not sure of other impacts this may have.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions