qark
qark copied to clipboard
exploit-apk not working on windows
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.