Hai-Lun Tu

12 papers A 1B 2Journal 4Unranked 5
YearRankTypeTitle / Venue / Authors
2025 B conf
ICALT
Wei-Chin Lee, Kai-Wen Tuan, Cheng-En Hsu, Jo-Chi Hsiao, Hai-Lun Tu, Jason S. Chang
2024 conf
EMNLP (System Demonstrations)
Kai-Wen Tuan, Hai-Lun Tu, Jason S. Chang
2024 conf
HCI (37)
Kai-Wen Tuan, Alison Chi, Hai-Lun Tu, Zi-Han Liao, Jason S. Chang
2021 conf
ROCLING
Kai-Wen Tuan, Yi-Jyun Chen, Yi-Chien Lin, Chun-Ho Kwok, Hai-Lun Tu, Jason S. Chang
2019 conf
IEEE BigData
Jhih-Jie Chen, Yi-Dong Wu, Yu-Chuan Tai, Ching-Yu Helen Yang, Hai-Lun Tu, Jason S. Chang
2019 J jnl
Algorithmica
Mong-Jen Kao, Hai-Lun Tu, D. T. Lee
2019 conf
IEEE BigData
Hai-Lun Tu, Peichen Ho, Jason S. Chang, Li-Guang Chen
2018 A conf
ICS
Hai-Lun Tu, Mong-Jen Kao, D. T. Lee
2016 B conf
ISAAC
Mong-Jen Kao, Hai-Lun Tu, D. T. Lee
2016 J jnl
CoRR
Mong-Jen Kao, Hai-Lun Tu, D. T. Lee
2015 J jnl
Theor. Comput. Sci.
Ching-Chi Lin, Hai-Lun Tu
2014 J jnl
CoRR
Ching-Chi Lin, Hai-Lun Tu
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()