Natesh Ganesh

11 papers Journal 6Unranked 5
YearRankTypeTitle / Venue / Authors
2023 J jnl
CoRR
Adam N. McCaughan, Bakhrom G. Oripov, Natesh Ganesh, Sae Woo Nam, Andrew M. Dienstfrey, Sonia M. Buckley
2021 J jnl
CoRR
Natesh Ganesh
2020 J jnl
CoRR
Natesh Ganesh
2020 J jnl
CoRR
Natesh Ganesh
2020 conf
ICRC
Natesh Ganesh
2020 J jnl
CoRR
Natesh Ganesh
2019 J jnl
CoRR
Tom Conte, Erik DeBenedictis, Natesh Ganesh, Todd Hylton, John Paul Strachan, R. Stanley Williams, Alexander A. Alemi, Lee Altenberg, Gavin E. Crooks, James P. Crutchfield, Lídia del Rio, Josh Deutsch, Michael Robert DeWeese, Khari Douglas, Massimiliano Esposito, Michael P. Frank, Robert Fry, Peter Harsha, Mark D. Hill, Christopher T. Kello, Jeff Krichmar, Suhas Kumar, Shih-Chii Liu, Seth Lloyd, Matteo Marsili, Ilya Nemenman, Alex Nugent, Norman H. Packard, Dana Randall, Peter Sadowski, Narayana Santhanam, Robert Shaw, Adam Z. Stieg, Elan Stopnitzky, Christof Teuscher, Chris Watkins, David H. Wolpert, J. Joshua Yang, Yan Yufik
2018 conf
ICRC
Natesh Ganesh
2017 conf
ICRC
Natesh Ganesh
2016 conf
ICRC
Erik P. DeBenedictis, Michael P. Frank, Natesh Ganesh, Neal G. Anderson
2013 conf
DFTS
Natesh Ganesh, Neal G. Anderson
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()