{"push_id":545365608,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"5c88397bb5d55171226e5b0ec8da251246aa7159","before":"76c7cf2b25593538bdee21106b0105715944a7a8","commits":[{"sha":"ab190ebb4b1658fc78eace0926e37714e605058a","author":{"email":"f3bc570231618d80ad00b7e09ba8c6a7454670b4@ieee.org","name":"Ivan Gotovchits"},"message":"BAP Public API\n==============\n\nAbstract\n--------\n\nThis patch adds JSON Public API to BAP. It also introduces some bug\nfixes and extensions. As an example of API usage a small python binding\nis provided.\n\nInfrastructure Changes\n----------------------\n\nSince BAP now has more that 50 dependencies (most are optional), opam\nneeds further guidance, otherwise it can't find a proper solution. This\npatch adds such guidance, properly specifying packages versions.\n\nAlso, this patch fixes warnings issued by a build system on a newer\ncompiler version.\n\nCore Lwt library\n----------------\n\nThis patch introduces a Core Lwt library, that is a thin wrapper around\nLwt library to provide a concise Core-like interface. I'm going to\nremove this library from BAP sooner or later, and push it to opam as a\nseparate entity.\n\nConsistent Constructor Names\n----------------------------\n\nIn order to satisfy the requirements of ADT data format, and for\nconsistency purposes, I've title-cased all constructor names. This is a\nbreaking change.\n\nDebugging Support\n-----------------\n\nMany were extended to support `sexp_of` or `sexp` protocols. Also, all\nregular types got a plethora of new primitives, that can be used with\ndifferent format specifiers.\n\nChanges to Bitvector\n--------------------\n\nFunctions `of_int32` and `of_int64` now accepts optional `width`\nparameter. Also, a new `string_of_value` function was added, that\nconverts to string only vector value, dropping information about the\nsize.\n\nChanges to Image\n----------------\n\nSwitched to bap's size type instead of core's.\n\nPython Bindings\n---------------\n\nThis PR introduces a python binding to BAP. This binding allows one to\ndisassemble arbitrary strings, and to load and analyze binary files. The\nlibrary is packed with distutils, that means, that in order to use, you\ncan just `pip install` it. The binding is rather deep, that means that\ninstead of textly typed dictionaries you will get first-class python\nvalue of the appropriate type. All known to us ARM operands, registers\nand instructions are lifted to python classes. See documentation for\nmore info.\n\nPublic API\n----------\n\nBAP now can be called from any language, using JSON API. This API is\nimplemented in a new program called `bap-server`. The server will also\ntake care on storage and persistence problems, i.e., it will store date\nfor you. Currently, the following set of protocols are implemented:\n\n- http\n- mmap\n- file\n- zmq\n\nThis set allows to use the following physical media for interaction:\n\n- tcp and udp sockets\n- unix sockets\n- regular files\n- shared memory","distinct":true,"url":"https://api.github.com/repos/BinaryAnalysisPlatform/bap/commits/ab190ebb4b1658fc78eace0926e37714e605058a"},{"sha":"5c88397bb5d55171226e5b0ec8da251246aa7159","author":{"email":"f3bc570231618d80ad00b7e09ba8c6a7454670b4@ieee.org","name":"Ivan Gotovchits"},"message":"Merge pull request #61 from ivg/public-API\n\nBAP Public API\r\n\r\nresolves #4 and #11","distinct":true,"url":"https://api.github.com/repos/BinaryAnalysisPlatform/bap/commits/5c88397bb5d55171226e5b0ec8da251246aa7159"}]}