-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BAP 2.0.0 release #15284
BAP 2.0.0 release #15284
Conversation
As always we're failing on conf-ida package, since obviously there is no ida available on the CI infrastructure, @kit-ty-kate we're requesting your permission to add the |
adds opensuse and centos OS, update llvm-version for debian
Commit: b5b0109 @ivg has posted 42 contributions. ☀️ All lint checks passed b5b0109
☀️ Installability check (+80)
🌤️ 4 ignored non-opam files:
|
OK, it looks like we're good to go. The only failures are either from the CI system itself or from conf-ida. Not sure whether Could you please, guys merge it? |
I was waiting for @kit-ty-kate to have a look and reply to your question before merging, but this could also be done later. The name and version stanzas in the opam files is Redundant and overridden by opam with the ones deduced from the path. Is there any reason why you want to keep them? (This does not prevent merging)
|
Thanks! |
This is a major update of the Binary Analysis Platform that brings lots of new features, libraries, and tools. We will properly advertise it later, using discuss and mailing list, but, so far, the most important and notable changes are:
Despite the fact that we bump the major version there are no real breaking changes in the interfaces (some purist might say there are, depending on what you mean by a breaking change wrt to OCaml). We were able to implement the old interfaces using the new engine. The semantics of some functions slightly changed.
Features
BinaryAnalysisPlatform/bap#1016 adds unknown architecture
BinaryAnalysisPlatform/bap#1014 restores postinstall and man pages
BinaryAnalysisPlatform/bap#1013 tweaks the cache plugin
BinaryAnalysisPlatform/bap#1011 tweaks the subroutine ordering in the run plugin
BinaryAnalysisPlatform/bap#1006 extends the test coverage on Travis
BinaryAnalysisPlatform/bap#1005 introduces Bap_main the entry point to BAP
BinaryAnalysisPlatform/bap#1005 new command line interface and library
BinaryAnalysisPlatform/bap#1005 a new
raw
loader for opening unknown files and raw codeBinaryAnalysisPlatform/bap#1005 a new
objdump
command for linearly disassembling binariesBinaryAnalysisPlatform/bap#1005 a new Byteweight threshold using the Bayes Factors procedure
BinaryAnalysisPlatform/bap#1005 adds more control over byteweight thresholding
BinaryAnalysisPlatform/bap#1005 implements custom thresholding procedures for Byteweight
BinaryAnalysisPlatform/bap#1005 extends the Trie module with iterators and printers
BinaryAnalysisPlatform/bap#1005 new toplevel based on utop
BinaryAnalysisPlatform/bap#1005 new bytecode frontend for debugging
BinaryAnalysisPlatform/bap#1005 adds a central location for regular readers and writers
BinaryAnalysisPlatform/bap#999 tweaks Graphlibs fixpoint to preserve previous solution
BinaryAnalysisPlatform/bap#998 represents rep prefix with while in x86
BinaryAnalysisPlatform/bap#993 prevents Primus from going to deep into PLT entries
BinaryAnalysisPlatform/bap#991 tweaks the print plugin
BinaryAnalysisPlatform/bap#990 represents ARM conditionals with ite expressions when possible
BinaryAnalysisPlatform/bap#998 implements more fine granular view on the image memory
BinaryAnalysisPlatform/bap#979 parametrize Lisp malloc with an initialization strategy
BinaryAnalysisPlatform/bap#960 new subroutine packing algorithm
BinaryAnalysisPlatform/bap#960 new incremental disassembler
BinaryAnalysisPlatform/bap#960 new knowledge representation library
BinaryAnalysisPlatform/bap#960 new representation of program semantics
BinaryAnalysisPlatform/bap#960 new bitvectors library
BinaryAnalysisPlatform/bap#948 disables Primus' taint GC by default
Bug fixes
BinaryAnalysisPlatform/bap#1013 resolves leaking files in the cache plugin
BinaryAnalysisPlatform/bap#1003 rectifies Primus semantics in case of exceptions
BinaryAnalysisPlatform/bap#1002 fixes bind operator in the Future library
BinaryAnalysisPlatform/bap#1000 fixes instruction properties computation for barriers
BinaryAnalysisPlatform/bap#985 fixes atexit Lisp stub
BinaryAnalysisPlatform/bap#980 fixes a bug in the configure script
BinaryAnalysisPlatform/bap#971 limits continuations at forks in the promiscuous mode
BinaryAnalysisPlatform/bap#970 fixes the argument evaluation order in call-return
BinaryAnalysisPlatform/bap#964 fixes Primus random generators
BinaryAnalysisPlatform/bap#962 fixes the semantics of signed division by zero in x86
BinaryAnalysisPlatform/bap#958 fixes Primus memory semantics with randomized memories
BinaryAnalysisPlatform/bap#955 improves stack handling in Primus for x86
BinaryAnalysisPlatform/bap#950 fixes the taint sanitization procedure
Changes that may affect/break your programs
Your plugins shall not perform any side-effects during evaluation except using the old Config.when_ready function or the new interface from the bap-main library.
4.If you were using custom command-line parsing in your plugins this won't work anymore, you have to use the new bap-main library to specify your configuration options or the old Config module from Bap.Std, which still works fine (it is implemented in terms of bap-main).