| Syzygy Release Notes |
| ==================== |
| |
| Version 0.8.20.7 |
| [f10f8a119b] Add support for LODS instruction. |
| |
| Version 0.8.20.6 |
| [dea670f0a0] Fix a bug in the Large Block Heap. |
| |
| Version 0.8.20.5 |
| [63fbbf176d] Really fix the 16-bit CRC32 decoding, with a thorough test. |
| |
| Version 0.8.20.4 |
| [479cc1d8da] Work around broken distorm size-prefixed CRC32 decoding. |
| |
| Version 0.8.20.3 |
| [15ac4a9af6] Regress ToT to before VS2015 change to affect a build fix. |
| |
| Version 0.8.20.2 |
| |
| [c76e874ec4] Added benchmarks archive back to build archive as it is still |
| required for official builds. |
| |
| Version 0.8.20.1 |
| |
| [b142ab0a1f] Removed the benchmarks archive from the list of things that we |
| archive. Fixed the build configuration. |
| |
| Version 0.8.20.0 |
| |
| [ae4b5c8f27] Switch to using VS2015. |
| |
| Version 0.8.19.0 |
| |
| [c5c600f40e] Fix parsing of empty debug directories. |
| [858cdc69ba] SyzyASAN - Enable Crashpad integration as a 50/50 experiment. |
| |
| Version 0.8.18.0 |
| |
| [b00d18bfd7] SyzyASAN - Add an experiment enumeration export on the runtime. |
| |
| Version 0.8.17.1 |
| |
| [460e0d1319] Fixed the build configuration. |
| |
| Version 0.8.17.0 |
| |
| [577a26edc4] Improved reporting for mem* instrumentation by reporting first |
| poisoned byte, rather than range endpoints. |
| |
| Version 0.8.16.1 |
| |
| [6b939a8bf7] Disabled some flaky unittests. |
| |
| Version 0.8.16.0 |
| |
| [0da823d284] Add support for more VEX encoded instructions. |
| |
| Version 0.8.15.0 |
| |
| [0b7468bc3b] SyzyASan - Add option to offload trimming of the quarantine to |
| a background thread. |
| |
| Version 0.8.14.4 |
| |
| [0cb9970e70] SyzyASan - Add wcsnlen interceptor for VS2015 CRT compatibility. |
| |
| Version 0.8.14.3 |
| |
| [68eb588716] SyzyASan - Add strnlen interceptor for VS2015 CRT compatibility. |
| |
| Version 0.8.14.2 |
| |
| [2e9b159d91] Fixed broken build step. |
| |
| Version 0.8.14.1 |
| |
| [35cb04163a] SyzyASan - Fix to prevent instrumentation of NOP instructions. |
| |
| Version 0.8.14.0 |
| |
| [fce63bdc64] Add a fix to support the I_FXSAVE and I_FXRSTOR instructions. |
| |
| Version 0.8.13.1 |
| |
| [8f7d7913d1] SyzyASan - Tolerate patching races with retries. |
| |
| Version 0.8.13.0 |
| |
| [a12e59096e] SyzyASan - Enable dynamic 2G/4G interceptors by default. |
| [c6eaf97768] SyzyASan - Enable Kasko by default. |
| |
| Version 0.8.12.1 |
| |
| [76a00d3bec] Fix missing kasko_upload dependency. |
| |
| Version 0.8.12.0 |
| |
| [d18da087d2] Created kasko_upload utility. |
| [867c355fb6] SyzyASan - Fixed empty stack trace bug. |
| |
| Version 0.8.11.4 |
| |
| [----------] Fixed the build configuration. |
| |
| Version 0.8.11.3 |
| |
| [----------] Fixed some unittests. |
| |
| Version 0.8.11.2 |
| |
| [----------] Fixed the build configuration. |
| [2380fe379e] SyzyASan - Fixed overflow in stack walking code. |
| |
| Version 0.8.11.1 |
| |
| [e7dc3c69c8] Bugfix for PDB named streams hash table. |
| |
| Version 0.8.11.0 |
| |
| [70efbeafc9] SyzyASan - Fix Kasko/Breakpad feature flag. |
| [3051479681] SyzyASan - Add a flag to turn on the reporting of the invalid |
| accesses. |
| [600e5ed812] Add temporary parsing of security directory. |
| [4a4554f4da] SyzyASan - Include the crashdata protobuf in the minidump produced |
| by agent_logger. |
| |
| Version 0.8.10.3 |
| |
| [----------] Fixed a unittest failure. |
| |
| Version 0.8.10.2 |
| |
| [e208902143] Only set early crash keys for sufficiently modern Chrome. |
| [8ce23ad741] Fix the interception of the heap_init function. |
| |
| Version 0.8.10.1 |
| |
| [d5431ad295] Fixed the build configuration. |
| |
| Version 0.8.10.0 |
| |
| [d692f37ef6] SyzyASan - Disable CtMalloc and put Kasko behind a feature flag. |
| [9eecf1f1f4] SyzyASan - Register some crash keys immediately upon SyzyASAN |
| initialization. |
| [e5ef6d14c8] SyzyASan - Disable optimization on key error handling functions. |
| [4578f181d2] SyzyASan - Ignores near-nullptr accesses. |
| [5248c93d6d] SyzyASan - Use the new Kasko memory range functionality. |
| |
| Version 0.8.9.0 |
| |
| [b05aa394ae] SyzyASan - Improvements to corrupt block analysis. |
| [7c56cb233f] SyzyASan - Custom and faster stack walker. |
| [a5a4d0fd8d] SyzyASan - Remove use of MEM_RESET in CtMalloc. |
| |
| Version 0.8.8.0 |
| |
| [846392a3d8] SyzyASan - Prevent from crashing twice for the same corrupt block. |
| [b49166cfc3] SyzyASan - Randomly enable some of the Asan features. |
| [21a1d32189] SyzyASan - Copy the Asan parameters into the protobuf and the |
| error_info structure. |
| [40355197d9] SyzyASan - Introduce a flood-filled quarantined block state. |
| [8305158b02] SyzyASan - Fix the parsing of the 'asan-rtl-options' parameter. |
| [d5a72bba38] SyzyASan - Fix a crash in the teardown of the runtime library. |
| |
| Version 0.8.7.0 |
| |
| [872a0d66e2] SyzyASan - Remove the rate targeted heaps. |
| [36c32820e8] SyzyASan - Add type safety to BlockInfo. |
| [79e8c0ac2c] SyzyASan - Add support for the Windows 8.1 SDK. |
| [dbf490efee] SyzyASan - Fix inconsistency problem in size limited quarantine. |
| |
| Version 0.8.6.3 |
| |
| [48b8591e29] Fixed a broken header generation build dependency. |
| |
| Version 0.8.6.2 |
| |
| [8a14d34c61] SyzyASan - Fixed two CtMalloc bugs. |
| [09655752d6] SyzyASan - Report metadata via Kasko. |
| |
| Version 0.8.6.1 |
| |
| [e01e186430] SyzyASan - Restore the asan_GetProcessHeap function for backward |
| compatibility. |
| [----------] Disabled some flaky unittests. |
| |
| Version 0.8.6.0 |
| |
| [52bb7c7062] SyzyASan - Add the minidump symbolizer to the release binaries. |
| [645e667e25] SyzyASan - Don't replace the process heap by an ASan one. |
| [17dedec789] SyzyASan - Changed the rate targeted heaps intervals. |
| |
| Version 0.8.5.0 |
| |
| [cec4a29a57] SyzyASan - Add support for rate targeted heaps |
| [562794745b] SyzyASan - Add support for more AVX2 instructions. |
| |
| Version 0.8.4.1 |
| |
| [----------] Fixed some unittest failures. |
| |
| Version 0.8.4.0 |
| |
| [5130039b66] Synchronize page protection modifications. |
| [e204e630ba] SyzyASan - Fix an issue when the first block of a corrupt range has |
| page protections. |
| [aef343e391] Preserve alignment of code blocks generated by unsupported |
| compilers. |
| |
| Version 0.8.3.0 |
| |
| [734f70ac46] Shadow memory performance improvements. |
| |
| Version 0.8.2.0 |
| |
| [ae952911d4] Change the default date used in zap_timestamp. |
| [0c61db4c14] SyzyASan - Fix a potential deadlock. |
| |
| Version 0.8.1.0 |
| |
| [6dc7c8be0f] SyzyASan - Exception filtering for interceptors. |
| [a4121262fa] SyzyASan - CTMalloc and LargeBlockHeap enabled by default. |
| [d38ee96601] SyzyASan - Remove use of contended lock in quarantine logic. |
| |
| Version 0.8.0.0 |
| |
| As of this version, SyzyASan has been entirely refactored and much of it |
| reimplemented. New mechanisms exist for finding bugs in external/uninstrumented |
| code, and coverage has been increased. |
| |
| This version also marks the official separation of Syzygy from Sawbuck, it's |
| original ancestor. Syzygy is now hosted in a pure GIT repository, and built with |
| Ninja. |
| |
| Some highlights: |
| |
| [4e6b4f9b19] Refactor of zap_timestamp. |
| [a01d2374e6] SyzyASan - Zebra heap fully implemented. |
| [990009f460] SyzyASan - Large block heap fully implemented. |
| [735e51eb5c] SyzyASan - Narrowed crash race conditions as much as possible. |
| [08ebb870d9] Full Ninja support for the build. |
| [45d2fb0bec] SyzyASan - CTMalloc support added. |
| [217fe21486] Fully split from Sawbuck repository. |
| |
| Version 0.7.18.1 |
| |
| [r2183] SyzyASan - Fix the interceptor of wcsstr. |
| |
| Version 0.7.18.0 |
| |
| [r2179] SyzyASan - Adds a new flag to disable Breakpad error reporting. |
| |
| Version 0.7.17.0 |
| |
| [r2171] SyzyASan - Implements the interceptor of wcsstr. |
| [r2162] SyzyASan - Intercept the kernel32!Interlocked* functions. |
| |
| Version 0.7.16.0 |
| |
| [r2151] SyzyASan - Fixes to the heap validation code. |
| [r2148] Add a script for installing Syzygy binaries directly from the archives. |
| |
| Version 0.7.15.0 |
| |
| [r2142] SyzyASan - Addition of a heap validation code to error processing and |
| reporting. |
| [r2138] Fix to allow VS2013 produced Syzygy agents to run with VS2013 produced |
| instrumented binaries. |
| |
| Version 0.7.14.0 |
| |
| [r2115] Adds native .lib support to the toolchain. |
| [r2120] SyzyASan - Implements the interceptor for wcschr. |
| |
| Version 0.7.13.0 |
| |
| [-----] SyzyASan - Fixed some XP compatibility issues. |
| [r2095] SyzyASan - Add support for runtime subsampling of SyzyASan allocation |
| guards. |
| [r2094] SyzyASan - Cast the return value of HeapFree to a boolean before |
| checking it. |
| [r2064] SyzyASan - Plumb runtime ASan parameters through instrumentation to the |
| runtime library. |
| |
| Version 0.7.12.0 |
| |
| [-----] First build with VS2013. |
| [r2059] SyzyASan - Add instrumentation subsampling support to ASan instrumenter. |
| |
| Version 0.7.11.0 |
| |
| [r2056] SyzyASan - Block checksums now validated as they exit the quarantine. |
| |
| Version 0.7.10.0 |
| |
| [r2049] SyzyASan - Fix to quarantine to prevent flushing it when overly large |
| blocks are inserted. Also modifies eviction policy to be random. |
| |
| Version 0.7.9.0 |
| |
| [r2029] Add --no-logo flag to Syzygy tool command line parsing to allow for |
| fully silent execution. |
| [r2025] SyzyASan - Add a checksum to ASan's blocks and use it to prevent heap |
| corruption. |
| [r2023] Add dumping of MSToolEnv to pdb_dumper. |
| |
| Version 0.7.8.0 |
| |
| [r2012] Now officially building with VS2013. |
| [r2010] swapimport.exe now works with 64-bit binaries. |
| |
| Version 0.7.7.2 |
| |
| [r1989] Fix to reorderer to make it use the same decomposer as the relinker. |
| |
| Version 0.7.7.1 |
| |
| [r1983] Small fix to decompose_image_to_text which was causing failed official |
| builder tests. |
| |
| Version 0.7.7.0 |
| |
| [r1979] Created swapimport.exe utility. |
| [r1978] SyzyASan - Fix for improperly intercepted CRT functions with custom |
| calling conventions in LTCG builds. |
| [r1969] SyzyASan - Wide character CRT string function interceptors. |
| |
| Version 0.7.6.0 |
| |
| [r1957] Full VS2013 support. |
| [r1955] PEHacker is now fully functional. First release. |
| [r1934] Switched to using new decomposer. |
| |
| Version 0.7.5.0 |
| |
| [r1906] Various fixes for VS2013 support. |
| |
| Version 0.7.4.1 |
| |
| [r1893] Fix the failures on the decomposer unittests for the official build. |
| [r1892] SyzyASan - Add the header and the lib file of SyzyASan_rtl.dll to the |
| released binaries. |
| |
| Version 0.7.4.0 |
| |
| [r1889] SyzyASan - Interception of the ReadFile and WriteFile functions. |
| [r1864] Bug fix for sampling profiler grinder. |
| [r1862] SyzyASan - Implementation of the API for the nested heaps. |
| |
| Version 0.7.3.0 |
| |
| [r1840] Improved integration testing for profiler. |
| [r1838] Refactor HeapProxy to expose the redzoning functions in an API. |
| |
| Version 0.7.2.0 |
| |
| [r1827] New instrumentation mode for profiler. |
| [r1819] Fixes for broken sample grinder unittests in official build mode. |
| |
| Version 0.7.1.0 |
| |
| [r1817] Sampling profiler now supports KCacheGrind output format. |
| [r1814] Fixes to benchmarking scripts to handle multi-DLL Chrome builds. |
| |
| Version 0.7.0.1 |
| |
| [-----] Build infrastructure changes to support renamed ASan RTL. |
| |
| Version 0.7.0.0 |
| |
| [r1807] SyzyASan - Reduce the contention in StackCaptureCache. |
| [r1791] SyzyASan - Rename asan_rtl.dll to SyzyASan_rtl.dll |
| [r1787] Add branch events buffering to the instrumenter. |
| |
| Version 0.2.29.1 |
| |
| [r1768] SyzyASan - Fix an ugly bug in the way we were setting up the filter in |
| AsanInstrumenter |
| |
| Version 0.2.29.0 |
| |
| [r1759] SyzyASan - Add ASan RTL support for a quarantine size/trailer padding |
| size experiment. |
| [r1758] SyzyASan - Use the CRT interceptors by default. |
| [r1750] SyzyASan - Adds a parameter to the command line to specify the blocks |
| padding size. |
| |
| Version 0.2.28.0 |
| |
| [r1738] SyzyASan - Support for new Breakpad exported functions. |
| [r1737] Fix to benchmarking automation scripts to more cleanly shutdown Chrome. |
| [r1729] Full grinder support for sampling profiler data. |
| [r1722] Fix to PDB generation to handle large PDBs. |
| |
| Version 0.2.27.0 |
| |
| [r1716] Flaky unittest fixit. Fixed 4 cases of known occasional test failures. |
| [r1715] reorder.exe can handle multiple instrumented modules. |
| [r1713] Chrome optimization scripts updated to handle multi-DLL builds. |
| [r1695] SyzyASan - Implemented interceptors of CRT string.h functions. |
| |
| Version 0.2.26.0 |
| |
| [r1684] SyzyASan - Enable the redundant checks analysis by default. |
| [r1679] SyzyASan - Add a logging message when a minidump is saved to the disk. |
| [r1678] Add the PDB of our binaries to the binaries-syms archive. |
| [r1650] Sampling profiler (sampler.exe) now fully functional. |
| [r1636] Add --sampling-interval and --bucket-size parameters to sampler.exe. |
| |
| Version 0.2.25.0 |
| |
| [r1624] Turn on the liveness analysis for the asan instrumentation. |
| [r1617] Refactor the instrumenter application. |
| |
| Version 0.2.24.0 |
| |
| [r1581] Add bb and dromaeo modes into benchmark/optimize scripts. |
| |
| Version 0.2.23.0 |
| |
| [-----] Build infrastructure changes to properly source index this build. |
| [r1578] SyzyASan - Bugfix to Realloc. |
| |
| Version 0.2.22.0 |
| |
| [r1567] Various bugfixes to make Syzygy able to decompose Adobe Flash binaries. |
| [r1566] SyzyASan - Added reference counting and reuse to stack cache. |
| |
| Version 0.2.21.1 |
| |
| [r1542] SyzyASan - Remove use of a kernel32 import that was not available on XP. |
| [r1529] SyzyASan - More performance improvements to slow path. |
| |
| Version 0.2.21.0 |
| |
| [r1524] Update asan rtl for minidump generation. |
| [r1523] Add mini-dump generation to the logger. |
| [r1520] Reduce the memory overhead per block and add the TIDs to the header. |
| [r1503] Add more aggressive optimization settings to our official builds. |
| |
| Version 0.2.20.0 |
| |
| [r1490] SyzyASan - Cut shadow size in half. |
| [r1469] Disable DCHECKs in official builds. |
| [r1466] SyzyASan - Make the slow path faster. |
| |
| Version 0.2.19.0 |
| |
| [r1460] SyzyASan - Include all stack frames by default. |
| [r1459] SyzyASan - Fix asan logger shutdown on error. |
| [r1456] SyzyASan - Capture time between free and use-after-free. |
| |
| Version 0.2.18.0 |
| |
| [r1444] SyzyASan - Use breakpad key/value pairs to label crashes. |
| [r1443] SyzyASan - Leave contents of freed blocks intact for better debugging. |
| |
| Version 0.2.17.1 |
| |
| [r1425] SyzyASan - Save crash analyses to the stack. |
| [r1424] SyzyASan - Directly report crashes via breakpad, if available. |
| [r1417] Fix parsing to support trace files larger than 4GB. |
| [r1411] SyzyASan - Add support for string and other special instructions. |
| |
| Version 0.2.16.0 |
| |
| [r1390] New genfilter tool for creating image filters. |
| [r1389] Runtime filtering of SyzyASan bugs by stack-trace IDs. |
| [r1385] Performance improvements to profiler instrumentation. |
| [r1381] Many performance improvements for SyzyASan. |
| [r1374] Instrumentation time filtering enabled for SyzyASan. |
| [r1366] SyzyASan stack-traces can have configurable max depth and bottom frame |
| trimming. |
| |
| Version 0.2.15.0 |
| |
| [r1359] Elide ASan hooks for (unhandled) stack addresses. |
| [r1330] Thunk entry points to blocks which are not basic-block decomposable. |
| [r1344] Add client DLL symbol information to the release. |
| |
| Version 0.2.14.0 |
| |
| [r1285] Small fix to binaries script. |
| |
| Version 0.2.13.0 |
| |
| [r1284] Started keeping release notes. |
| [r1283] SyzyASan uses remote stack tracing in RPC logging service so as to get |
| accurate traces even in sandboxed code. |
| [r1282] Much simplified straight-path decomposer. |
| [r1281] SyzyASan no longer corrupts IAT entries and NT headers size/start values |
| are properly calculated. |
| [r1276] PDB/MSF files contain properly formatted free page maps. |
| [r1272] zap_timestamps for normalizing PE/PDB pairs. |
| [r1263] pdbfind for locating the PDB associated with a PE file. |
| [r1261] Proper parsing of imported data symbols. |