Kai Jiang

11 papers Journal 9Unranked 2
YearRankTypeTitle / Venue / Authors
2024 J jnl
IEEE Trans. Intell. Transp. Syst.
Kai Jiang, Hui Zhang, Fei-Yue Wang
2024 J jnl
Signal Image Video Process.
Kai Jiang, Zhi Qi, Chaojie Zhu, Hengkai Sun, Hui Zhang
2024 conf
ICPS
Kai Jiang, Yun Lu, Rong Su
2023 conf
CDC
Kai Jiang, Zhiyang Ju, Lingying Huang, Rong Su
2020 J jnl
IEEE Trans. Ind. Electron.
Kai Jiang, Fengjun Yan, Hui Zhang
2020 J jnl
IEEE Trans. Ind. Electron.
Kai Jiang, Fengjun Yan, Hui Zhang
2020 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Kai Jiang, Hui Zhang, Hamid Reza Karimi, Jing Lin, Lingjun Song
2020 J jnl
J. Syst. Control. Eng.
Kai Jiang, Shizhu Shi, Hosein Moazanigoodarzi, Chuan Hu, Souvik Pal, Fengjun Yan
2018 J jnl
IEEE Trans. Veh. Technol.
Kai Jiang, Hui Zhang, Jing Lin
2016 J jnl
Neurocomputing
Erming Cao, Kai Jiang
2016 J jnl
Neurocomputing
Kai Jiang, Peng Geng, Fei Meng, Hui Zhang
redb/extractors/decompiler/bninja/run.py
← Index redb/extractors/decompiler/bninja/run.py python
import argparse
import json

from decompiler import BinaryNinjaDecompiler
from utils.json_encoder import BinaryNinjaEncoder


def run_from_command_line():
    parser = argparse.ArgumentParser(description="Binary Ninja Decompiler")
    parser.add_argument("filepath", help="Path to the binary file to analyze")
    parser.add_argument(
        "--output", "-o", help="Output JSON file path (default: stdout)"
    )
    parser.add_argument(
        "--timeout",
        "-t",
        type=int,
        default=1200,
        help="Analysis timeout in seconds (default: 1200)",
    )
    args = parser.parse_args()

    with BinaryNinjaDecompiler(args.filepath, args.timeout) as decompiler:
        success = decompiler.extract()

        if not success:
            decompiler.log.error("Analysis failed")
            return 1

        # Output results
        if args.output:
            with open(args.output, "w") as f:
                json.dump(decompiler.analysis_results, f, cls=BinaryNinjaEncoder)
            decompiler.log.info(f"Results written to {args.output}")
        else:
            print(json.dumps(decompiler.analysis_results, cls=BinaryNinjaEncoder))

    return 0


if __name__ == "__main__":
    run_from_command_line()