Walter D. Morris Jr.

22 papers B 1Journal 20
YearRankTypeTitle / Venue / Authors
2022 J jnl
Eur. J. Comb.
Walter D. Morris Jr.
2021 J jnl
Discret. Comput. Geom.
John Mackenzie Gallagher, Walter D. Morris Jr.
2016 J jnl
Discret. Comput. Geom.
Rachel E. Locke, Walter D. Morris Jr.
2016 ch.
Open Problems in Mathematics
Walter D. Morris Jr., Valeriu Soltan
2015 J jnl
Math. Program.
Walter D. Morris Jr.
2014 J jnl
Discret. Math.
Jonathan E. Beagley, Walter D. Morris Jr.
2009 J jnl
Discret. Comput. Geom.
Jim Lawrence, Walter D. Morris Jr.
2008 J jnl
Algorithmica
Bernd Gärtner, Walter D. Morris Jr., Leo Rüst
2006 J jnl
Discret. Appl. Math.
Walter D. Morris Jr.
2005 B conf
IPCO
Bernd Gärtner, Walter D. Morris Jr., Leo Rüst
2002 J jnl
Math. Program.
Walter D. Morris Jr.
2001 J jnl
Discret. Comput. Geom.
Walter D. Morris Jr.
1999 J jnl
Math. Program.
Jesús A. De Loera, Walter D. Morris Jr.
1999 J jnl
Discret. Math.
Serkan Hosten, Walter D. Morris Jr.
1995 J jnl
Math. Methods Oper. Res.
Walter D. Morris Jr.
1994 J jnl
Discret. Appl. Math.
Jon Lee, Walter D. Morris Jr.
1994 J jnl
SIAM J. Matrix Anal. Appl.
Walter D. Morris Jr.
1994 J jnl
Math. Oper. Res.
Walter D. Morris Jr.
1993 J jnl
SIAM Rev.
Walter D. Morris Jr.
1992 J jnl
Discret. Appl. Math.
Walter D. Morris Jr.
1990 J jnl
Math. Oper. Res.
Walter D. Morris Jr.
1988 J jnl
Eur. J. Comb.
Walter D. Morris Jr., Michael J. Todd
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()