Omar Chakroun

13 papers B 4C 1Journal 2Unranked 6
YearRankTypeTitle / Venue / Authors
2016 conf
VTC Fall
Omar Chakroun, Soumaya Cherkaoui
2016 B conf
LCN
Omar Chakroun, Soumaya Cherkaoui
2016 conf
ICC
Omar Chakroun, Soumaya Cherkaoui
2015 conf
ANT/SEIT
Omar Chakroun, Soumaya Cherkaoui
2014 J jnl
Int. J. Auton. Adapt. Commun. Syst.
Jihene Rezgui, Soumaya Cherkaoui, Omar Chakroun
2014 J jnl
Veh. Commun.
Omar Chakroun, Soumaya Cherkaoui
2014 conf
ICC
Omar Chakroun, Soumaya Cherkaoui
2013 conf
LCN Workshops
Omar Chakroun, Soumaya Cherkaoui
2013 conf
ICC
Mohamed Amine Abid, Omar Chakroun, Soumaya Cherkaoui
2012 B conf
IWCMC
Omar Chakroun, Soumaya Cherkaoui, Jihene Rezgui
2011 B conf
IWCMC
Jihene Rezgui, Soumaya Cherkaoui, Omar Chakroun
2011 B conf
GLOBECOM
Jihene Rezgui, Soumaya Cherkaoui, Omar Chakroun
2010 C conf
ICOST
Omar Chakroun, Bessam Abdulrazak, Mauricio Chiazzaro, Mounir Frikha
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()