{"id":48498291,"url":"https://github.com/backengineering/binstats","last_synced_at":"2026-04-07T13:15:28.500Z","repository":{"id":263502666,"uuid":"887752812","full_name":"backengineering/binstats","owner":"backengineering","description":"Statistics from our binary transformation framework","archived":false,"fork":false,"pushed_at":"2025-01-16T00:21:34.000Z","size":80549,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-27T13:51:43.491Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/backengineering.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-13T08:17:39.000Z","updated_at":"2026-01-01T13:38:49.000Z","dependencies_parsed_at":"2024-12-19T09:35:48.497Z","dependency_job_id":null,"html_url":"https://github.com/backengineering/binstats","commit_stats":null,"previous_names":["backengineering/binstats"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/backengineering/binstats","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backengineering%2Fbinstats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backengineering%2Fbinstats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backengineering%2Fbinstats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backengineering%2Fbinstats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/backengineering","download_url":"https://codeload.github.com/backengineering/binstats/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/backengineering%2Fbinstats/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31513728,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":"2026-04-07T13:15:27.070Z","updated_at":"2026-04-07T13:15:28.492Z","avatar_url":"https://github.com/backengineering.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# binstats\n\nStatistics from our binary transformation framework. All files in this repo are Win64 binaries. No source code was altered in order to achieve these statistics. Furthermore no debug information (PDB, Map file, etc) was used to aid in the coverage statistics. Binaries in this repo were compiled with a wide range of compiler options (/O2, /GL, etc).\n\n### Layout\n\n- `asn1_dsa_internal_test/` - An OpenSSL test, you can find source [here](https://gitlab.softgenetics.com/libs/openssl/-/blob/f510d614a7e981cbf69f11ae186c97d3fa00dda9/test/asn1_dsa_internal_test.c)\n- `chrome` - Main module for chrome (chrome.dll). This is the same binary as this one [here in bintests](https://github.com/backengineering/bintests/blob/master/misc/chrome/win64-121.0.6167.85/chrome-win64/chrome.dll)\n- `clang-repl` - clang's repl, [read more here](https://clang.llvm.org/docs/ClangRepl.html)\n- `Discord` - 64bit [Discord](https://discord.com/) 1.0.9157\n- `engine2` - Engine module from [Counter-Strike 2](https://www.counter-strike.net/cs2)\n- `Fibonacci` - LLVM JIT example, [source here](https://github.com/llvm-mirror/llvm/blob/master/examples/Fibonacci/fibonacci.cpp)\n- `hvix64` - Microsoft's Hyper-V Intel module\n- `libcrypto-3-x64` - OpenSSL (3.1.0) shared library\n- `LLJITWithOptimizingIRTransform` - LLVM JIT example with optimizations, [source here](https://gitlab.eecs.wsu.edu/44373/t/-/blob/59cd45e5ae2920f2287d2b9df4ec0dc94e48c39d/llvm/examples/OrcV2Examples/LLJITWithOptimizingIRTransform/LLJITWithOptimizingIRTransform.cpp)\n- `mpengine` - Microsoft Windows Defender module. [Alexei Bulazel reverse engineering of it](https://www.youtube.com/watch?v=2NawGCUOYT4)\n- `MultiWorldDemo` - Unreal Engine 5 demo game. Repo for the [source is here.](https://github.com/UNAmedia/ue5-multiworld-demo) This is the same file as [this one here](https://github.com/backengineering/bintests/blob/master/misc/MultiWorldDemo/MultiWorldDemo/Binaries/Win64/MultiWorldDemo.exe).\n- `notepad++` - Main executable for notepad++ (8.4.8.0)\n- `ntdll.dll` - ntdll version 10.0.19041.4522\n- `ntoskrnl` - ntoskrnl version 10.0.10240.16384\n- `nvlddmkm` - NVIDIA's GPU Driver 25.21.14.2591\n- `OrcV2CBindingsIRTransforms` - Another LLVM JIT example, [source here](https://code.ornl.gov/llvm-doe/llvm-project/-/blob/f756d38abf2ec40ee06ee5aa668db444e5d6f485/llvm/examples/OrcV2Examples/OrcV2CBindingsIRTransforms/OrcV2CBindingsIRTransforms.c)\n- `Signal` - [Signal](https://signal.org/) main executable, version 7.4.0.0\n- `Telegram` - [Telegram](https://telegram.org/) main executable, version 5.7.2.0\n- `x64dbg` - [mrexodia (Duncan Ogilvie)](https://github.com/mrexodia) x64dbg dll\n- `x64gui` - [mrexodia (Duncan Ogilvie)](https://github.com/mrexodia) x64gui dll\n- `xul` - [Tor (aka Firefox)](https://gitlab.torproject.org/tpo/applications/tor-browser) main dll xul, version 115.15.0.9012\n\nEach folder contains the following files:\n\n- `func-info.csv` - This is a CSV file that contains function and basic block information, including reference counts.\n- `func-leaaf.csv` - Tells you the [leaf status](https://learn.microsoft.com/en-us/cpp/build/stack-usage?view=msvc-170#function-types) of every function we identified. \n- `results.png` - Statistic results for the binary.\n- `[file name]-coverage.svg` - The coverage statistics. ***Any function within the \"transformed\" catagory of the piechart can be obfuscated.***\n- `[file name]` - The binary file name, same as the folder name.\n\n### Generating Results\n\n***Requires python 3.x***\n\n```bash\npip install -r requirements.txt\npython script.py\n```\n\n### Special Thanks\n\nSpecial thanks to [mrexodia (Duncan Ogilvie)](https://github.com/mrexodia) and the rest of the people who maintain [x64dbg](https://github.com/x64dbg/x64dbg). We have spent thousands of hours building this binary transformation framework, many of those hours we spent in x64dbg.\n\n### TODO\n\n- [ ] Size of the most referenced basic block\n- [ ] Number of basic blocks in the largest function\n- [ ] number of instructions in the largest function\n- [ ] average function size\n- [ ] add UEFI files (bootmgfw)\n- [ ] Executable env column\n- [ ] Extend data set and make visuals (1 and 2 var visuals)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbackengineering%2Fbinstats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbackengineering%2Fbinstats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbackengineering%2Fbinstats/lists"}