forked from qilingframework/qiling
-
Notifications
You must be signed in to change notification settings - Fork 10
/
ChangeLog
294 lines (226 loc) · 8.14 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
This file details the changelog of Qiling Framework.
------------------------------------
[Version 1.4.3]: April 7th, 2022
Improvements:
- Fix fuzzing for tendaac15 (#1096)
- Update unicorn version to 2.0-rc6 (#1100)
- Implemented a few more Windows msvcrt functions (#1102)
- Minor PE Loader fix (#1104)
- Minor quality changes (#1106)
- Fix cacheflush syscall typo (#1115)
- Add vm_context to EVM hooks (#1119)
- Load interpreter segments with correct perms and vaddr (#1120)
- Fix mistakes in fuzz_x8664_linux binary (#1121)
- Add EVM ABI helpers, fix EVM DBG stack view (#1123)
- Fix regression caused by missing exception handling when opening socket (#1124)
Contributors:
- wtdcode
- aquynh
- elicn
- xwings
- cq674350529
- TheZ3ro
- bet4it
- chinggg
------------------------------------
[Version 1.4.2]: Feb 13th, 2022
New features:
- Add stm32f103 support (#1087)
- Add Arduino Due (SAM3X8E) Support (#1090)
Improvements:
- ARM exception handler improvements (#1056)
- UEFI improvements (#1061)
- Qdb improvements (#1058)
- Update rich api in evm dbgcui (#1062)
- Add security coockies back into PE loader for kernel driver (#1063)
- Fix ql_open_flag_mapping for Linux binary emulation on Windows (#1064)
- Minor changes and fixes to the tracing module (#1065)
- Fix unicornafl for linux_x8664 fuzzing example (#1068)
- Fuzzing improvements (#1075)
- Add fix and example for openat path traversion (#1076)
- Fix _CreateFileA params issue (#1079)
Contributors:
- nmantani
- hardik05
- cla7aye15I4nd
- ucgJhe
- elicn
- wtdcode
- kabeor
- xwings
------------------------------------
[Version 1.4.1]: Dec 29th, 2021
New features:
- Introduced riscv, both 32 and 64 (#980)
- Added U-boot (#1000)
- Abstract calls to native functions (#1013)
Improvements:
- Minor improvements to memory module (#1012)
- Refactored core hooks (#966)
- update ql.os.posix.const_mapping with more os/arch match (#973)
- More update in MCU modules (#971)
- Fix getpeername and getsockname syscalls (#986)
- Qdb improvements (#999)
- QNX improvements (#1054)
Contributors:
- cq674350529
- ucgJhe
- cla7aye15I4nd
- elicn
- xwings
------------------------------------
[Version 1.4.0]: Oct 20th, 2021
- Added MCU Engine
- Bug fix for qdb
- Bug fix for debugger
- Bug fix for ql.mem
- Bump to Unicorn 2
------------------------------------
[Version 1.3.0]: Sept 25th, 2021
- Added QNX
- Aded Dynamically executed QNX
- Added more Posix syscall
- Bugfix: GDB server on MIPS binary
- Major refactor of Windows DLL
- Add Win32 16bit compatibility file api
- Fixed ql.mem.search logic
- ql.arch refactor
- Added EVM engine
------------------------------------
[Version 1.2.4]: June 15th, 2021
- Added custom engine extension
- Added more Posix syscall
- Refactor: Posix syscall
- Refactor: Memory management
- Refactor: Heap management
- Cleanup and getting ready for engine module
------------------------------------
[Version 1.2.3]: March 30th, 2021
- Improved PR #689, Android syscall and test fix
- GDB speed optimization
- Fixed return value for uid/gid related syscall
- Resolved multilevel symbolic links
- Demigod set.api implementation
- Added support for arguments inside IDA plugin
- Major refactor, see commit 4aa8e59e04d5a8a5520e4e1e2595ecc78a80beba
- Clean and remove rootfs
- ql.filter now accepts a regular expression
- consolidate output into verbose
------------------------------------
[Version 1.2.2]: February 8th, 2021
- Fix _acmdln and _wcmdln handling
- More UEFI refactor
- Refactor common OS space
- Bring sality test to work again
- Clean up more test case
- First stage multithread rewrite done
- Updated Qiling(shellcode=) to Qiling(code=), still keeping Qiling(shellcode=) for legacy purpose
- Added support for SMM_RUNTIME_SERVICES_TABLE
- Fixed regression in code coverage collection
- Added generic ql.mem.read_ptr helper function
- merged UEFI, windows, linux and macos print_function
- merged UEFI, windows, linux and macos fncc
- make MacOS uses more Qiling API
------------------------------------
[Version 1.2.1]: January 1st, 2021
- Added support for custom envs variables inside IDA plugin
- Demigod: Fixed lkm mapping and added support for MIPS32EL
- Demigod: Added support for Linux x86 32bit
- Added support for binaries that return from their entrypoint (PE / ELF)
- Configure Qiling with 'stop_on_stackpointer' or 'stop_on_exit_trap'
- Add basic Windows driver tests / example
- UEFI refactor
------------------------------------
[Version 1.2]: November 16th, 2020
- Demigod finally arrived, more information about [Demigod](https://groundx.io/demigod/)
- Linux: Implement futex bitset && Check library initialization
- Linux: vfork and fork syscall mappings
- execve() ql.argv and ql.env fix
- De-flattern with IDA plugin now supports ARM && ARM64 with experimental IDA mircocode API.
- Snapshot mechanism allows saving and restoring of OS and Loader information.
- Welcome Lazymio and Kabeor to the team
- Improve register handling (uppercase/lowercase) and add LR register support to arm64
- Fix ELF Memory mapping issues
- Fixed directory traversal bug
------------------------------------
[Version 1.1.3]: September 30th, 2020
- Added Doogie example and implement more interrupts
- Added ollvm de-flattern support for IDA plugin
- Fixed the popup menu doesn't show when the IDA plugin is put into plugins directory
- Added Json report extension
- Fix register mapping
- ql_syscall_writeev: Use ql.dprint instead of checking debug level
- Added support for fcntl64 F_SETFL and non-blocking sockets
- drcov_exact: coverage collection at instruction granularity
- Added UDP support
------------------------------------
[Version 1.1.2]: September 6th, 2020
- Qiling Debugger now comes with reverse debugging
- Added qltool into pypi packages
- Added more Windows API
- Add mapper support for standalone disks.
- More BIOS/DOS interrupts support shipped with fully emulated Petya as a mbr analysis example.
------------------------------------
[Version 1.1.1]: August 23th, 2020
- Fixed Windows "import resource" issue
- Added ql.save and ql.restore aka Qiling's Snapshot
- Added ql.os.fd.save() and ql.os.fd.restore() to save file descriptor
- Added IDA Plugin
- Test, patch and make sure arm_thumb can work on its own
- Added Qiling Debugger - Currently only works with MIPS
- Added experimental 8086 and DOS support.
- Fixed path transformation on Windows when running Linux.
- IDA Plugin able to instrument code now
- Refactor ql.fs_mapper (now ql.os.fs_mapper)
------------------------------------
[Version 1.1]: July 24th, 2020
- More refactors and bug fixes
- Adding DLL images for PE coverage tracing
- Added hook_mem_invalid
- More UEFI API
------------------------------------
[Version 1.1-rc1]: July 17th, 2020
- More refactors and bug fixes
- More detailed debug output
- Fix MIPS_EB overflow issue
- Introduce heap sanitizer
------------------------------------
[Version 1.1-alpha2]: June 26th, 2020
- More refactors and bug fixes
- Added Key Developers section in CREDITS.TXT
- Golang compiled binary support
- custom ql.fs_mapper
- fixed x86 and arm multithread
- moved all posix syscall mapping to complete syscall table
- Supports more Linux syscalls
- Supports more Windows APIs
- OnEnter, OnExit for syscall, windows API and Linux LIB C functions
------------------------------------
[Version 1.1-alpha1]: May 26th, 2020
- More refactor and bug fix
- Support UEFI
- Added more memory, register related API
- Support output filtering
- Support more Linux syscalls
- Support more Windows APIs
- Moved more system variable to ql.profile
- Support shellcode debugging
- Minor bug fix for gdbserver
- Welcome KLKS to the team
-------------------------------
[Version 1.0]: April 26th, 2020
- Windows anti anti-debugger, tested with Al-Khaser
- Support ARM64 Android binary
-----------------------------------
[Version 1.0-rc1]: April 12nd, 2020
- Support debugger: GDB, IDAPro, Radare
- Support OS profile to customize API output (Windows)
- Support more Linux syscalls
- Support more Windows APIs
- Support MacOS dyld
---------------------------------------
[Version 1.0 beta]: November 14th, 2019
- First public released
--------------------------------------------
[Version 1.0 close alpha]: October 9th, 2019
- Closed alpha test