qilingframework / qilingframework/qiling

Does Ollvm de-flatten support android arm64?

Open
#1,129 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
6.1k
Forks
798
Avg merge
1d 1h
Merged PRs (30d)
9

Description

I can use the function normally on x64 platform,but It would be wrong on android arm64.

Traceback (most recent call last):
  File "C:/Users/fa1con/EXE/IDA7.5/plugins/qilingida.py", line 818, in activate
    self.action_handler.ql_handle_menu_action(self.action_type)
  File "C:/Users/fa1con/EXE/IDA7.5/plugins/qilingida.py", line 2124, in ql_handle_menu_action
    [x.handler() for x in self.menuitems if x.action == action]
  File "C:/Users/fa1con/EXE/IDA7.5/plugins/qilingida.py", line 2124, in <listcomp>
    [x.handler() for x in self.menuitems if x.action == action]
  File "C:/Users/fa1con/EXE/IDA7.5/plugins/qilingida.py", line 1868, in ql_deflat
    if not self._search_path():
  File "C:/Users/fa1con/EXE/IDA7.5/plugins/qilingida.py", line 1660, in _search_path
    ql.run(begin=self.deflatqlemu.ql_addr_from_ida(first_block.start_ea) + self.append, end=self.deflatqlemu.ql_addr_from_ida(first_block.end_ea), count=0xFFF)
  File "C:\Users\fa1con\EXE\python\python38\lib\site-packages\qiling\core.py", line 730, in run
    self.os.run()
  File "C:\Users\fa1con\EXE\python\python38\lib\site-packages\qiling\os\linux\linux.py", line 149, in run
    self.ql.emu_start(self.ql.loader.elf_entry, self.exit_point, self.ql.timeout, self.ql.count)
  File "C:\Users\fa1con\EXE\python\python38\lib\site-packages\qiling\core.py", line 883, in emu_start
    raise self._internal_exception
  File "C:\Users\fa1con\EXE\python\python38\lib\site-packages\qiling\utils.py", line 159, in wrapper
    return func(*args, **kw)
  File "C:\Users\fa1con\EXE\python\python38\lib\site-packages\qiling\core_hooks.py", line 59, in _hook_intr_cb
    raise QlErrorCoreHook("_hook_intr_cb : not handled")
qiling.exception.QlErrorCoreHook: _hook_intr_cb : not handled

I use the latest version of qiling,and error report would occur in all example on android arm64. It seem be the bug of qiling,or does it not support arm64?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with an Android ARM64 example, then trace the path through qiling/core.py, qiling/os/linux/linux.py, and qiling/core_hooks.py where the unhandled interrupt is raised. Compare it with the working x64 execution and determine whether ARM64 is supported; done means the behavior is fixed or the support limitation is documented clearly.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, python
Domain
operating-systems, reverse-engineering
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.