{"id":33098385,"url":"https://github.com/openpreserve/bitwiser","last_synced_at":"2026-02-14T18:34:04.751Z","repository":{"id":2466774,"uuid":"3439125","full_name":"openpreserve/bitwiser","owner":"openpreserve","description":"Bitwise analysis tools","archived":false,"fork":false,"pushed_at":"2019-02-05T12:02:44.000Z","size":372,"stargazers_count":15,"open_issues_count":0,"forks_count":11,"subscribers_count":11,"default_branch":"master","last_synced_at":"2026-01-14T04:13:12.100Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openpreserve.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-02-14T11:04:31.000Z","updated_at":"2025-04-17T15:11:49.000Z","dependencies_parsed_at":"2022-09-11T03:41:15.063Z","dependency_job_id":null,"html_url":"https://github.com/openpreserve/bitwiser","commit_stats":null,"previous_names":["openplanets/bitwiser"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/openpreserve/bitwiser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpreserve%2Fbitwiser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpreserve%2Fbitwiser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpreserve%2Fbitwiser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpreserve%2Fbitwiser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openpreserve","download_url":"https://codeload.github.com/openpreserve/bitwiser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpreserve%2Fbitwiser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29452371,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-11-14T21:00:20.451Z","updated_at":"2026-02-14T18:34:04.732Z","avatar_url":"https://github.com/openpreserve.png","language":"Java","funding_links":[],"categories":["SoftwareTools"],"sub_categories":["Bitwiser"],"readme":"Bitwiser\n========\n\nThis is a small suite of tools used to perform bitwise analysis of data and processes related to digital preservation.\n\nTools\n-----\nThere are Python and Java tools, both held under ```bitwiser-core/src/main```.\n\n\n### Python Bitwise Analysis Tools ###\n\nThe best and most recent version of the main tools for bitwise analysis are written in Python. The BitwiseAnalyser is designed to run a given command (those in the ```tools``` directory) on every possible bitwise permutation of an input file, and record whether and how the given process responds to the bit-level modification. There is also an additional Python tool to aid in the visualisation of those results.\n\nMore information about these tools, and about the kind of results that can be generated using them, see:\n\n * [Understanding Tools \u0026 Formats Via Bitwise Analysis](http://anjackson.github.io/keeping-codes/experiments/Understanding%20Tools%20and%20Formats%20Via%20Bitwise%20Analysis.html)\n * [Improvements to Jpylyzer based on that analysis.](https://github.com/openpreserve/jpylyzer/issues/31)\n\n\n### Java Tools ###\n\nThe Java codebase contains an older version of the bitwise analysis tools, but these have been largely superseded by the Python implementation. However, apart from that, the Java codebase contains utilities when performing low-level analysis of bitstreams, in particular:\n\n* An Entropy class, based on the [ent command source code](http://www.fourmilab.ch/random/), that calculates the Shannon entropy of a bitstream.\n* An SSDeep class, based on the [ssdeep source code](http://ssdeep.sourceforge.net/), that can calculate the [ssdeep fuzzy hash](http://www.forensicswiki.org/wiki/Ssdeep) of a bitstream.\n\nIdeas\n-----\n* [Tools to help reverse engineer binary file formats](http://stackoverflow.com/questions/492751/tools-to-help-reverse-engineer-binary-file-formats)\n* [Tupni: Automatic Reverse Engineering of Input Formats](http://research.microsoft.com/en-us/um/people/wdcui/papers/tupni-ccs08.pdf)\n* Follow up on http://www.openplanetsfoundation.org/comment/428#comment-428\n* Merge in [the shotgun](https://github.com/mcarden/shotgun) approach, and make a UI/web tool?\n\nBranches\n--------\n* master - Main release branch.\n* python - Old python development branch, now folded into master.\n\nSupport\n-------\nThese tools were initially developed as part of the SCAPE Project: http://www.scape-project.eu/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenpreserve%2Fbitwiser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenpreserve%2Fbitwiser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenpreserve%2Fbitwiser/lists"}