{"id":42870099,"url":"https://github.com/chnzzh/batch-ida","last_synced_at":"2026-01-30T12:58:02.873Z","repository":{"id":65601789,"uuid":"594926493","full_name":"chnzzh/batch-ida","owner":"chnzzh","description":"A python library for generate ida pro files (*.idb/*.i64) in batch mode \u0026 compare executable files use bindiff in batch mode.","archived":false,"fork":false,"pushed_at":"2025-07-09T03:16:18.000Z","size":474,"stargazers_count":29,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-11-27T17:27:31.316Z","etag":null,"topics":["bindiff","ida","ida-plugin","ida-pro"],"latest_commit_sha":null,"homepage":"","language":"Python","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/chnzzh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-01-30T02:30:47.000Z","updated_at":"2025-11-11T09:02:55.000Z","dependencies_parsed_at":"2023-02-16T17:45:46.136Z","dependency_job_id":"ee393b92-3f9b-4ced-9c1b-8a54cfce4c7c","html_url":"https://github.com/chnzzh/batch-ida","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chnzzh/batch-ida","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chnzzh%2Fbatch-ida","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chnzzh%2Fbatch-ida/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chnzzh%2Fbatch-ida/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chnzzh%2Fbatch-ida/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chnzzh","download_url":"https://codeload.github.com/chnzzh/batch-ida/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chnzzh%2Fbatch-ida/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28913162,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T12:13:43.263Z","status":"ssl_error","status_checked_at":"2026-01-30T12:13:22.389Z","response_time":66,"last_error":"SSL_read: 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":["bindiff","ida","ida-plugin","ida-pro"],"created_at":"2026-01-30T12:58:02.180Z","updated_at":"2026-01-30T12:58:02.867Z","avatar_url":"https://github.com/chnzzh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Batch-IDA\n\n![GitHub License](https://img.shields.io/github/license/chnzzh/batch-ida)\n![GitHub top language](https://img.shields.io/github/languages/top/chnzzh/batch-ida)\n![Pepy Total Downlods](https://img.shields.io/pepy/dt/batch-ida)\n\n![PyPI - Version](https://img.shields.io/pypi/v/batch-ida)\n![PyPI - Wheel](https://img.shields.io/pypi/wheel/batch-ida)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/batch-ida)\n\n![Windows](https://custom-icon-badges.demolab.com/badge/Windows-0078D6?logo=windows11\u0026logoColor=white)\n![macOS](https://img.shields.io/badge/macOS-000000?logo=apple\u0026logoColor=F0F0F0)\n![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux\u0026logoColor=black)\n\n\nA python library for generate ida pro files in batch mode \u0026 compare executable files use bindiff in batch mode.\n\n\n## Features\n\n1. Fast generate idb/i64 files from binary files in batch mode (Multiprocess supported)\n    ![generate_idb](images/generate_idb.gif)\n2. IDA Pro Plugin Script support\n3. Use Bindiff for batch comparison of idb files\n4. Roughly read the comparison results\n   ![bia_result](images/bia_result.png)\n\n## Requirements\n\n+ Windows / macOS / Linux / Linux (wine)\n+ IDA pro 7.7/8.3/9.1\n+ BinDiff 7/8 (Optional, used to compare executable files in batch mode)\n\n## Install\n\n```\npip install --upgrade batch-ida\n```\n\n## Usage\n\n### BI_IDA\n\nGenerate .idb/.i64 files (and run plugin) in batch mode.\n\n```python\nfrom batch_ida import BI_IDA\n\n\n# create a BI_IDA object with ida pro path\nbi = BI_IDA('C:\\Tools\\IDA Pro')\n# if you use wine in linux, you can set use_wine=True\n# bi = BI_IDA('\\home\\Tools\\IDA Pro', use_wine=True)\n\n# optional\n# bi.set_script(r'.\\example_script.py')   # run IDA script\n# bi.max_subprocess = 8                   # set max subprocess\n\nbi.batch_idb_fromdir('your/binary/files/dir')   # generate idb files from binary files\n```\n\n\n### BI_Dircmp\n\nCompare files in dir_a \u0026 dir_b, and move different files to dst_a \u0026 dst_b.\n\n```python\nfrom batch_ida import BI_Dircmp\n\n\ndir_a = r'ver_A.rom/squashfs-root/usr/lib/'\ndir_b = r'ver_B.rom/squashfs-root/usr/lib/'\n\ndst_a = r'compare/ver_A'\ndst_b = r'compare/ver_B'\n\nbid = BI_Dircmp(dir_a, dir_b, dst_a, dst_b)\nbid.cmp()\n```\n\n### BI_Bindiff\n\nGenerate .idb and .bindiff files in batch mode. (Windows only)\n\n```python\nfrom batch_ida import BI_Bindiff\n\n\nbib = BI_Bindiff()\n\n# Set ida pro and bindiff path\nbib.set_ida_path('C:\\Tools\\IDA Pro')\nbib.set_bindiff_path('C:\\Program Files\\BinDiff')\n\ndst_a = r'compare/ver_A'\ndst_b = r'compare/ver_B'\n# dst_a and dst_b are the directories where the binary files to be compared are located\noutput = bib.batch_bindiff(dst_a, dst_b)\n# output is a directory containing bindiff files(sqlite3)\n```\n\n### BI_Analyzer\n\nAnalyze Bindiff files (sqlite3 file format) in batch mode and print the results.\n\n```python\nfrom batch_ida import BI_Analyzer\n\n\nbia = BI_Analyzer(r'path\\to\\output_dir')\nbia.print_base_info()\n\n# let's print the diff files with similarity \u003c 0.95 and != 0.0\nprint(\"%s\\t%s\\t%s\\t%s\\t%s\\t%s\" % (\"SIM\", \"CONF\", \"TOTAL\", \"FUNC\", \"LIBFUNC\", \"NAME\"))\ninfo_list = bia.get_info_list()\nfor i in info_list:\n    if i['total_func'] \u0026 i['func_dif'] \u0026 i['libfunc_dif']:\n        print(\"%.02f\\t%.2f\\t%d\\t%d\\t%d\\t%s\" % (i['similarity'], i['confidence'], i['total_func'], i['func_dif'], i[\n            \"libfunc_dif\"], i['name']))\n    elif i['similarity'] \u003c 0.95 and i['similarity'] != 0.0:\n        print(\"%.02f\\t%.2f\\t%d\\t%d\\t%d\\t%s\" % (i['similarity'], i['confidence'], i['total_func'], i['func_dif'], i[\n            \"libfunc_dif\"], i['name']))\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchnzzh%2Fbatch-ida","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchnzzh%2Fbatch-ida","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchnzzh%2Fbatch-ida/lists"}