Skip to content

Commit 750988e

Browse files
authored
Merge pull request #927 from qilingframework/dev
Dev
2 parents 4cae8b6 + a691411 commit 750988e

File tree

567 files changed

+24515
-172434
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

567 files changed

+24515
-172434
lines changed

.circleci/config.yml

Lines changed: 0 additions & 54 deletions
This file was deleted.

.github/workflows/build-ci.yml

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,21 @@ jobs:
1111
matrix:
1212
#os: [windows-2019, macos-10.15, ubuntu-18.04, ubuntu-20.04]
1313
os: [windows-2019, ubuntu-18.04, ubuntu-20.04]
14-
python-version: [3.7.6, 3.9.5]
14+
python-version: [3.7, 3.8, 3.9]
1515
exclude:
1616
- os: ubuntu-20.04
17-
python-version: 3.7.6
18-
- os: ubuntu-20.04
19-
python-version: 3.9.5
17+
python-version: 3.7
18+
- os: ubuntu-18.04
19+
python-version: 3.7
20+
- os: ubuntu-18.04
21+
python-version: 3.9
2022
- os: windows-2019
21-
python-version: 3.7.6
23+
python-version: 3.7
2224
# - os: macos-10.15
23-
# python-version: 3.7.6
25+
# python-version: 3.8
2426
include:
2527
- os: ubuntu-20.04
26-
python-version: 3.9.5
28+
python-version: 3.8
2729
container: Docker
2830

2931
steps:
@@ -79,31 +81,27 @@ jobs:
7981
if: contains(matrix.os, 'ubuntu')
8082
shell: 'script -q -e -c "bash {0}"'
8183
run: |
82-
if [ ${{ matrix.os }} == 'ubuntu-18.04' ] && [ ${{ matrix.python-version }} == '3.7.6' ]; then
83-
pip3 install setuptools wheel flake8
84-
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
85-
pip3 install .
86-
cd examples
87-
rm -rf rootfs
88-
wget https://github.com/qilingframework/rootfs/archive/refs/heads/master.zip
89-
unzip master.zip && mv rootfs-master rootfs
90-
cd rootfs/x86_linux/kernel && unzip -P infected m0hamed_rootkit.ko.zip
91-
cd ../../../../tests && ./test_elf.sh
92-
elif [ ${{ matrix.os }} == 'ubuntu-20.04' ]; then
93-
cd examples
94-
rm -rf rootfs
95-
wget https://github.com/qilingframework/rootfs/archive/refs/heads/master.zip
96-
unzip master.zip && mv rootfs-master rootfs
97-
docker run -it --rm -v ${GITHUB_WORKSPACE}:/qiling qilingframework/qiling:dev bash -c "pip3 install . && cd examples/rootfs/x86_linux/kernel && unzip -P infected m0hamed_rootkit.ko.zip && cd ../../../../tests && ./test_elf.sh"
84+
cd examples
85+
rm -rf rootfs
86+
wget https://github.com/qilingframework/rootfs/archive/refs/heads/master.zip
87+
unzip master.zip && mv rootfs-master rootfs
88+
cd ../qiling
89+
rm -rf engine
90+
wget https://github.com/qilingframework/engine/archive/refs/heads/main.zip
91+
unzip main.zip && mv engine-main engine
92+
cd ../examples/rootfs/x86_linux/kernel && unzip -P infected m0hamed_rootkit.ko.zip
93+
cd ../../../../
94+
pip3 install -e .[evm]
95+
96+
if [ ${{ matrix.python-version }} == '3.9' ]; then
97+
rm -rf tests/test_evm.py
98+
fi
99+
100+
if [ ${{ matrix.os }} == 'ubuntu-20.04' ]; then
101+
docker run -it --rm -v ${GITHUB_WORKSPACE}:/qiling qilingframework/qiling:dev bash -c "rm -rf tests/test_evm.py && cd tests && ./test_onlinux.sh"
98102
else
99-
pip3 install setuptools wheel
100-
pip3 install .
101-
cd examples
102-
rm -rf rootfs
103-
wget https://github.com/qilingframework/rootfs/archive/refs/heads/master.zip
104-
unzip master.zip && mv rootfs-master rootfs
105-
cd rootfs/x86_linux/kernel && unzip -P infected m0hamed_rootkit.ko.zip
106-
cd ../../../../tests && ./test_elf.sh
103+
pip3 install setuptools wheel
104+
cd tests && ./test_onlinux.sh
107105
fi
108106
109107

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,5 @@ test.file
3535
*.o
3636
core
3737
*.perf
38+
tests/output.txt
3839

39-
# future
40-
engine/

CREDITS.TXT

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ danielhenrymantilla
5959
iamyeh
6060
alfink
6161
bambu
62-
62+
madprogrammer
63+
danielmoos
6364

6465

6566
Alpha testers (in no particular order, named by github id)

ChangeLog

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,23 @@
11
This file details the changelog of Qiling Framework.
22

33
------------------------------------
4-
[Version 1.2.5]: July 0th, 2021
5-
-
4+
[Version 1.3]: Sept 0th, 2021
5+
- Added QNX
6+
- Aded Dynamically executed QNX
7+
- Added more Posix syscall
8+
- Bugfix: GDB server on MIPS binary
9+
- Major refactor of Windows DLL
10+
- Add Win32 16bit compatibility file api
11+
- Fixed ql.mem.search logic
12+
- ql.arch refactor
13+
- Added EVM engine
14+
615

716
------------------------------------
817
[Version 1.2.4]: June 15th, 2021
918

1019
- Added custom engine extension
11-
- Added more posix syscall
20+
- Added more Posix syscall
1221
- Refactor: Posix syscall
1322
- Refactor: Memory management
1423
- Refactor: Heap management

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ recursive-include qiling/debugger/gdb/xml *
22
recursive-include qiling/extensions/windows_sdk/defs *
33
recursive-include qiling/profiles *
44
include qiling/os/uefi/guids.csv
5+
include qiling/os/qnx/syspage.bin

README.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88

99
Qiling is an advanced binary emulation framework, with the following features:
1010

11-
- Cross platform: Windows, MacOS, Linux, BSD, UEFI, DOS, MBR
12-
- Cross architecture: X86, X86_64, Arm, Arm64, MIPS, 8086
13-
- Multiple file formats: PE, MachO, ELF, COM, MBR
11+
- Emulate multi-platforms: Windows, MacOS, Linux, BSD, UEFI, DOS, MBR, Ethereum Virtual Machine
12+
- Emulate multi-architectures: X86, X86_64, Arm, Arm64, MIPS, 8086
13+
- Support multiple file formats: PE, MachO, ELF, COM, MBR
1414
- Support Windows Driver (.sys), Linux Kernel Module (.ko) & MacOS Kernel (.kext) via [Demigod](https://groundx.io/demigod/)
15-
- Emulates & sandbox machine code in an isolated environment
15+
- Emulates & sandbox code in an isolated environment
1616
- Provides a fully configurable sandbox
1717
- Provides in-depth memory, register, OS level and filesystem level API
1818
- Fine-grain instrumentation: allows hooks at various levels (instruction/basic-block/memory-access/exception/syscall/IO/etc)
@@ -25,6 +25,8 @@ Qiling is an advanced binary emulation framework, with the following features:
2525
Qiling also made its way to various international conferences.
2626

2727
2021:
28+
- [Black Hat, USA](https://www.blackhat.com/us-21/arsenal/schedule/index.html#bringing-the-x-complete-re-experience-to-smart-contract-24119)
29+
- [Hack In The Box, Amsterdam](https://conference.hitb.org/hitbsecconf2021ams/sessions/when-qiling-framework-meets-symbolic-execution/)
2830
- [Black Hat, Asia](https://www.blackhat.com/asia-21/arsenal/schedule/index.html#qiling-smart-analysis-for-smart-contract-22643)
2931

3032
2020:
@@ -51,7 +53,7 @@ Visit our website https://www.qiling.io for more information.
5153
---
5254
#### License
5355

54-
This project is released and distributed under [free software license GPLv2](https://github.com/qilingframework/qiling/blob/master/COPYING).
56+
This project is released and distributed under [free software license GPLv2](https://github.com/qilingframework/qiling/blob/master/COPYING) and later version.
5557

5658
---
5759

@@ -243,8 +245,10 @@ Contact us at email [email protected], or via Twitter [@qiling_io](https://twitter.
243245
- cq674350529
244246
- elicn
245247
- bkerler (viperbjk)
248+
- madprogrammer
249+
- danielmoos
246250

247251
---
248252

249253
#### This is an awesome project! Can I donate?
250-
Yes, details please refer to [Cardano Stake Pool](https://www.qiling.io/stake/) or [SWAG](https://www.qiling.io/swag/)
254+
Yes, checkout [SWAG](https://www.qiling.io/swag/)

0 commit comments

Comments
 (0)