qilingframework / qilingframework/qiling
TODO List
Nobody has claimed this yet.
- 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:
- Improve documentation at https://docs.qiling.io
- Write more tutorials for Qiling Framework
QNX
- set_api() implementation
Big Endian Support:
- ARM
- MIPS32EB
Ideas from some other projects
- ME Loader: https://github.com/peterbjornx/meloader
More Longer Term
Windows
- Merge Wine's dll.so
- https://www.winehq.org/
Linux
- Merge LKL
- https://github.com/lkl/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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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