Kai Lars Polsterer

15 papers B 4C 1Misc 1Journal 5Unranked 4
YearRankTypeTitle / Venue / Authors
2024 B conf
ESANN
Ondrej Podsztavek, Alexander I. Jordan, Pavel Tvrdík, Kai Lars Polsterer
2024 J jnl
CoRR
Kai Lars Polsterer, Bernd Doser, Andreas Fehlner, Sebastian Trujillo-Gomez
2022 J jnl
CoRR
Sebastian Lerch, Kai Lars Polsterer
2017 conf
SSCI
Fabian Gieseke, Kai Lars Polsterer, Ashish Mahabal, Christian Igel, Tom Heskes
2017 B conf
ESANN
Antonio D'Isanto, Kai Lars Polsterer
2016 conf
SSCI
Sven Dennis Kügler, Nikolaos Gianniotis, Kai Lars Polsterer
2016 conf
Astroinformatics
Kai Lars Polsterer
2016 J jnl
CoRR
Nikolaos Gianniotis, Sven Dennis Kügler, Peter Tiño, Kai Lars Polsterer
2016 J jnl
Neurocomputing
Nikolaos Gianniotis, Sven Dennis Kügler, Peter Tiño, Kai Lars Polsterer
2016 B conf
ESANN
Kai Lars Polsterer, Fabian Gieseke, Christian Igel, Bernd Doser, Nikolaos Gianniotis
2015 conf
CSE
Maximilian Hoecker, Kai Lars Polsterer, Sven Dennis Kügler, Vincent Heuveline
2014 B conf
ESANN
Fabian Gieseke, Kai Lars Polsterer, Cosmin Eugen Oancea, Christian Igel
2013 J jnl
Expert Syst. Appl.
Oliver Kramer, Fabian Gieseke, Kai Lars Polsterer
2013 Misc conf
KI
Justin Heinermann, Oliver Kramer, Kai Lars Polsterer, Fabian Gieseke
2010 C conf
ICMLA
Fabian Gieseke, Kai Lars Polsterer, Andreas Thom, Peter Zinn, Dominik Bomanns, Ralf-Jurgen Dettmar, Oliver Kramer, Jan Vahrenhold
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()