Files
GigithecodeandClaude Opus 5 dbf1cab94a Fix broken __future__ import in IDA plugin custom_script
The first line reads `from future import __annotations__`, with the
module name and the imported symbol swapped. The intent was clearly the
PEP 563 future statement `from __future__ import annotations`.

As written, the line fails in both possible situations:

- without the third-party `future` package installed (the common case),
  the import raises `ModuleNotFoundError`, so `QILING_IDA` is never
  defined;
- with that package installed, the import silently succeeds but binds
  the module's empty `__annotations__` dict, so PEP 563 is *not*
  enabled — while the annotations in this file (`ql: Qiling`) rely on
  it, `Qiling` being imported under `TYPE_CHECKING` only.

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Pru9dwqPVrDakERYZwzjUx
2026-08-07 18:32:55 +07:00
..
2025-10-10 12:51:59 +03:00
2023-06-18 01:17:00 +03:00
2026-04-28 15:06:26 +08:00
2026-04-28 13:11:17 +08:00
2025-08-20 14:55:37 -04:00
2022-06-17 17:00:35 +08:00
2022-07-17 15:06:53 +03:00
2022-07-17 15:06:53 +03:00
2023-06-18 01:17:00 +03:00
2022-06-17 17:00:35 +08:00
2022-07-17 15:06:53 +03:00
2021-07-28 11:22:10 +08:00
2021-03-20 23:37:04 +08:00
2025-07-06 18:23:36 +03:00
2022-07-17 15:06:53 +03:00
2021-11-13 21:05:40 +08:00
2022-01-25 15:29:34 +02:00
2019-10-10 16:37:58 +08:00
2025-10-10 12:51:59 +03:00
2022-12-19 12:22:44 +02:00
2022-01-25 15:29:34 +02:00
2025-10-10 12:51:59 +03:00
2022-07-17 15:06:53 +03:00
2022-06-17 17:00:35 +08:00

Qiling - Sample Codes

cd examples

Shellcode Executor

  • Multi ARCH, Cross Platform Shellcode Executor
$ python3 shellcode_run.py

X86_64 FreeBSD binaries

  • X86_64 FreeBSD binary, simple helloworld
$ python3 hello_x8664_freebsd.py

X86_64 macos binaries

  • X86_64 macos binary, simple helloworld
$ python3 hello_x8664_macos.py

X86 macos binaries

  • X86 macos binary, simple helloworld
$ python3 hello_x86_macos.py

X86_64 Linux binaries

  • X86_64 Linux binary, helloworld with manual disassembler output
$ python3 hello_x8664_linux_disasm.py
  • X86_64 Linux binary, simple helloworld
$ python3 hello_x8664_linux.py

X86 Linux binaries

  • X86 Linux binary, reversing.kr linux crackme bruteforce solver
$ python3 crackme_x86_linux.py
  • X86 Linux binary, simple helloworld
$ python3 hello_x86_linux.py

X86 Windows binaries

  • X86 Windows binary, ctf challage from BJWXB2019, bruteforce solver
$ python3 crackme_x86_windows.py
  • X86 Windows binary, example, how to use ql.patch and ql.set_callback
$ python3 crackme_x86_windows_setcallback.py
  • X86 Windows binary, example, ql.set_callback
$ python3 crackme_x86_windows_unpatch.py
  • X86 Windows binary, helloworld with debug mode on
$ python3 hello_x86_windows_debug.py
  • X86 Windows binary, with multithreading
$ python3 multithreading_x86_windows.py
  • X86 Windows binary, catching wannacry's killerswtich
$ python3 wannacry_x86_windows_setexit.py

X86_64 Windows binaries

  • X86_64 Windows binary, example on how to set output
$ python3 disasm_x8664_windows.py

ARM64 Linux binaries

  • ARM64 Linux binary, exit when there is a write to memory 0x555555566260
$ python3 exitmemwrite_arm64_linux.py
  • ARM64 Linux binary, simple helloworld
$ python3 hello_arm64_linux.py

ARM binaries

  • ARM Linux binary, simple helloworld
$ python3 hello_arm_linux.py
  • ARM Linux binary, simple stack overflow
$ python3 bofsample_arm_linux.py
  • ARM Linux binary, simple helloworld with debug mode
$ python3 hello_arm_linux_debug.py

MIPS32EL binaries

  • MIPS32EL Linux binary, simple helloworld
$ python3 hello_mips32el_linux.py