qilingframework / qilingframework/qiling

TODO List

Open
#333 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Updated by xwings, 6th Oct 2022

Contribution Guide: https://docs.qiling.io/en/latest/contribution/

Short Term Goals

This is a list of simple quick ideas, so people who want to play & contribute to Qiling can try.
Pull requests are always welcome!

Loader:

  • Port LIEF

CLI Support:

  • Shell based interface, such as ql>

Cross Platform Execution:

  • NTFS inode issue #398

Compiler Support:

  • C++ support, #377

Windows:

  • Try to run malware/Windows PE on Qiling, find & implement the missing APIs
  • ARM64 Windows
  • More Windows API
  • API for PC name, WINS, WORKGOUP and Domains
  • API for fake installed application
  • API for process listing
  • Example and test for PR #885

Linux:

  • Try all the Linux binaries under /bin/, find & implement missing syscalls
  • Try IoT firmware binaries & implement missing syscalls
  • Linux: Multithread / Network

MacOS:

  • Try all the MacOS binaries under /bin/, find & implement missing syscalls
  • Followup, #161

Peripheral:

  • Secure Digital Input Output (SDIO)
  • Ethernet peripheral (ETH)
  • Analog-to-digital converter (ADC)
  • Controller area network (bxCAN)
  • External interrupt/event controller (EXTI)
  • Digital-to-analog converter (DAC)
  • System configuration controller (SYSCFG)

Documents:

QNX
- set_api() implementation

Big Endian Support:
- ARM
- MIPS32EB


Ideas from some other projects

More Longer Term

Windows

Linux

Androids

  • It's Linux, but a bit more specific support ?
  • maybe an OS by itself

More Instrument-able Engines

  • Java bytecode
  • Javascript

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

Start with the contribution guide and choose one specific, unclaimed goal from this list; the issue provides no implementation file, entry point, or test to begin with. Review the referenced issues and pull requests where applicable, then define a focused scope and acceptance checks before coding. Done should mean one selected goal is implemented with appropriate tests or documentation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, java, javascript, linux, macos, python, shell
Domain
cli, compilers, documentation, embedded-iot, operating-systems, reverse-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.