-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Description
When I try to decompile with FernFlower I get an error, I'm not very good at it, so here is the log
apkscan --fernflower fernflower.jar launcher.apk
←[1;32m ('-. _ (`-. .-. .-') .-') ('-. .-')
( ←[0mOO←[1;32m ).-. ( (←[0mOO←[1;32m )\ ( ←[0mOO←[1;32m ) ( ←[0mOO←[1;32m ). ( ←[0mOO←[1;32m ).-. ( ←[0mOO←[1;32m )
/ . --. /_.` \,--. ,--.(_)---\_) .-----. / . --. /,--./ ,--,
| \-. \(__...--''| .' // _ | ' .--./ | \-. \ | \ | |
| ' | || / | || / \ :` `. | |('-. | ' | || \| |
| |_.' || |_.' || ' '..`''. | |←[0mOO←[1;32m )| |_.' || . |
| .-. || .___.'| . \ .-._) \| |`-'| | .-. || |\ |
| | | || | | |\ \\ /' '--'\ | | | || | \ |
`--' `--'`--' `--' '--' `-----' `-----' `--' `--'`--' `--'
←[1;92mAPKscan v0.4.0 - ←[3mScan for secrets, endpoints, and other sensitive data
after decompiling and deobfuscating Android files.←[0m←[0;92m
(.apk, .xapk, .dex, .jar, .class, .smali, .zip, .aar, .arsc, .aab, .jadx.kts)
←[0m←[2m(c) Lucas Faudman, 2024. License information in LICENSE file.
Credits to the original authors of all dependencies used in this project.
←[0m
←[1mStarting APKscan...←[0m
Found fernflower binary: fernflower.jar
Loading secret locators from 1 files.
Loaded 224 secret locators.
Initialized Decompiler:
- Decompiler:(binary_paths={'fernflower': WindowsPath('fernflower.jar')}, extra_args={'fernflower': []}, deobfuscate=True, output_suffix=-decompiled, working_dir=C:\Users\user\Desktop, remove_failed_output_dirs=False, concurrent_executor=CuncurrentExecutor(concurrency_type=thread, results_order=completed, max_workers=None, chunksize=1, timeout=None, shutdown=True, wait=True, cancel_pending=False, executor=None, executor_init_kwargs={}))
Initialized Secret Scanner:
- SecretScanner(secret_locators=224, concurrent_executor=CuncurrentExecutor(concurrency_type=process, results_order=completed, max_workers=None, chunksize=1, timeout=None, shutdown=True, wait=True, cancel_pending=False, executor=None, executor_init_kwargs={})))
Decompiler Binaries:
- fernflower.jar
Secret Locator Files:
- C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\secret_locators\default.json
Output File:
- C:\Users\user\Desktop\secrets_output.json
Decompiling started at 19:10:51:51S
Creating output directory: C:\Users\user\Desktop\launcher-decompiled
Output directory created: C:\Users\user\Desktop\launcher-decompiled
Enjarifying launcher.apk to launcher.jar
56330 classes processedOutput written to C:\Users\user\Desktop\launcher-decompiled\launcher.jar
androidx/core/os/CancellationSignal.class Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\main.py", line 42, in translate
class_data = writeclass.toClassFile(dex_class, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\jvm\writeclass.py", line 116, in toClassFile
pool, rest_stream = classFileAfterPool(cls, opts=opts)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\jvm\writeclass.py", line 78, in classFileAfterPool
cls.parseData()
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 218, in parseData
self.data = ClassData(self.dex, self.data_off)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 178, in __init__
self._parse(dex, dex.stream(offset))
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 198, in _parse
methods.append(Method(dex, method_idx, stream.uleb128(), stream.uleb128()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 170, in __init__
self.code = CodeItem(dex, code_off) if code_off else None
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 162, in __init__
self.bytecode = parseBytecode(dex, insns_start_pos, insns, catch_addrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\dalvik.py", line 202, in parseBytecode
assert 0 not in catch_addrs
^^^^^^^^^^^^^^^^^^^^
AssertionError
androidx/media3/extractor/text/ssa/SsaParser.class Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\main.py", line 42, in translate
class_data = writeclass.toClassFile(dex_class, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\jvm\writeclass.py", line 116, in toClassFile
pool, rest_stream = classFileAfterPool(cls, opts=opts)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\jvm\writeclass.py", line 78, in classFileAfterPool
cls.parseData()
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 218, in parseData
self.data = ClassData(self.dex, self.data_off)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 178, in __init__
self._parse(dex, dex.stream(offset))
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 198, in _parse
methods.append(Method(dex, method_idx, stream.uleb128(), stream.uleb128()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 170, in __init__
self.code = CodeItem(dex, code_off) if code_off else None
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 162, in __init__
self.bytecode = parseBytecode(dex, insns_start_pos, insns, catch_addrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\dalvik.py", line 202, in parseBytecode
assert 0 not in catch_addrs
^^^^^^^^^^^^^^^^^^^^
AssertionError
com/google/common/base/internal/Finalizer.class Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\main.py", line 42, in translate
class_data = writeclass.toClassFile(dex_class, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\jvm\writeclass.py", line 116, in toClassFile
pool, rest_stream = classFileAfterPool(cls, opts=opts)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\jvm\writeclass.py", line 78, in classFileAfterPool
cls.parseData()
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 218, in parseData
self.data = ClassData(self.dex, self.data_off)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 178, in __init__
self._parse(dex, dex.stream(offset))
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 198, in _parse
methods.append(Method(dex, method_idx, stream.uleb128(), stream.uleb128()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 170, in __init__
self.code = CodeItem(dex, code_off) if code_off else None
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 162, in __init__
self.bytecode = parseBytecode(dex, insns_start_pos, insns, catch_addrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\dalvik.py", line 202, in parseBytecode
assert 0 not in catch_addrs
^^^^^^^^^^^^^^^^^^^^
AssertionError
okio/AsyncTimeout$Watchdog.class Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\main.py", line 42, in translate
class_data = writeclass.toClassFile(dex_class, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\jvm\writeclass.py", line 116, in toClassFile
pool, rest_stream = classFileAfterPool(cls, opts=opts)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\jvm\writeclass.py", line 78, in classFileAfterPool
cls.parseData()
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 218, in parseData
self.data = ClassData(self.dex, self.data_off)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 178, in __init__
self._parse(dex, dex.stream(offset))
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 198, in _parse
methods.append(Method(dex, method_idx, stream.uleb128(), stream.uleb128()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 170, in __init__
self.code = CodeItem(dex, code_off) if code_off else None
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\parsedex.py", line 162, in __init__
self.bytecode = parseBytecode(dex, insns_start_pos, insns, catch_addrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\enjarify\dalvik.py", line 202, in parseBytecode
assert 0 not in catch_addrs
^^^^^^^^^^^^^^^^^^^^
AssertionError
56326 classes translated successfully, 4 classes had errors
Successfully enjarified launcher.apk to launcher.jar
Running fernflower on launcher.jar
Output written to secrets_output.json
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Scripts\apkscan.exe\__main__.py", line 7, in <module>
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\main.py", line 122, in main
apk_scanner.decompile_and_scan(args.files)
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\apkscan.py", line 171, in decompile_and_scan
for secret_result in self.scan_secret_results_generator(decompiled_files):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\apkscan.py", line 148, in scan_secret_results_generator
for file_path, file_secret_results in self.secret_scanner.scan_concurrently(file_paths):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\secret_scanner.py", line 242, in scan_concurrently
yield from self.concurrent_executor.map(self.scan_file, file_paths)
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\concurrent_executor.py", line 111, in map
self.executor = yield from execute_concurrently(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\concurrent_executor.py", line 76, in execute_concurrently
yield from map(Future.result, as_completed(futures_generator, timeout=timeout))
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\concurrent\futures\_base.py", line 220, in as_completed
fs = set(fs)
^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\concurrent_executor.py", line 20, in submit_and_yield_futures
for args in zip(*iterables):
^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\apkscan.py", line 114, in decompiled_files_generator
for file_path, output_dir, decompiled_files, success in self.decompiler.decompile_concurrently(file_paths):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\decompiler.py", line 283, in decompile_concurrently
yield from self.concurrent_executor.map(self.decompile, self.binary_name_file_path_generator(file_paths))
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\concurrent_executor.py", line 111, in map
self.executor = yield from execute_concurrently(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\concurrent_executor.py", line 76, in execute_concurrently
yield from map(Future.result, as_completed(futures_generator, timeout=timeout))
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\concurrent\futures\_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\concurrent\futures\_base.py", line 401, in __get_result
raise self._exception
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\concurrent\futures\thread.py", line 59, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\decompiler.py", line 246, in decompile
success = self.try_run_binary(binary_name, file_path, output_dir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\apkscan\decompiler.py", line 189, in try_run_binary
result = run(args, **kwargs) # type: ignore
^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 550, in run
with Popen(*popenargs, **kwargs) as process:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 1028, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 1540, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [WinError 193] %1 не является приложением Win32
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels