Wei-Cheng Lai

33 papers A* 7A 3B 2Misc 2Journal 11Unranked 7
YearRankTypeTitle / Venue / Authors
2026 J jnl
Multim. Tools Appl.
Wei-Cheng Lai, Fay Huang
2026 J jnl
CoRR
Masoumeh Javanbakhat, Piotr Komorowski, Dilyara Bareeva, Wei-Cheng Lai, Wojciech Samek, Christoph Lippert
2025 J jnl
Appl. Intell.
Christoffer Löffler, Wei-Cheng Lai, Dario Zanca, Lukas Schmidt, Björn M. Eskofier, Christopher Mutschler
2024 conf
MIDL
Hadya Yassin, Jana Fehr, Wei-Cheng Lai, Alina Krichevsky, Alexander Rakowski, Christoph Lippert
2024 conf
MIDL
Wei-Cheng Lai, Matthias Kirchler, Hadya Yassin, Jana Fehr, Alexander Rakowski, Hampus Olsson, Ludger Starke, Jason Michael Millward, Sonia Waiczies, Christoph Lippert
2022 J jnl
CoRR
Christoffer Löffler, Wei-Cheng Lai, Bjoern M. Eskofier, Dario Zanca, Lukas Schmidt, Christopher Mutschler
2022 J jnl
CoRR
Pritom Saha Akash, Wei-Cheng Lai, Po-Wen Lin
2020 A* conf
ACM Multimedia
Wei-Cheng Lai, Zi-Xiang Xia, Hao-Siang Lin, Lien-Feng Hsu, Hong-Han Shuai, I-Hong Jhuo, Wen-Huang Cheng
2020 J jnl
CoRR
Wei-Cheng Lai, Hendrik Schröter
2019 A conf
IROS
Yung-Shan Su, Lap-Fai Yu, Hsueh-Cheng Wang, Shao-Huang Lu, Po-Sheng Ser, Wei-Ting Hsu, Wei-Cheng Lai, Biao Xie, Hong-Ming Huang, Teng-Yok Lee, Hung-Wen Chen
2017 J jnl
Soft Comput.
Yung-Fa Huang, Tan-Hsu Tan, Chia-Hsin Cheng, Wei-Cheng Lai, Hsing-Chung Chen
2007 J jnl
J. Inf. Sci. Eng.
Li-Der Chou, Wei-Cheng Lai, Chen-Han Lin, Yen-Cheng Lin, Chin-Min Huang
2006 conf
IAT Workshops
Li-Der Chou, Wei-Cheng Lai, Chen-Han Lin, Yen-Cheng Lin, Chin-Min Huang
2006 B conf
SMC
Yung-Fa Huang, Tan-Hsu Tan, Wei-Cheng Lai
2005 J jnl
Int. J. Internet Protoc. Technol.
Li-Der Chou, Sung-Ming Yen, Bo-Ching Wu, Chi-Hau Chung, Kuo-Chih Hung, Shang-Jie Chen, Wei-Cheng Lai
2004 A conf
ICME
Edward Y. Chang, Wei-Cheng Lai
2004 B conf
KES
Wen-Lung Shu, Chen-Cheng Wu, Wei-Cheng Lai
2004 A* conf
ACM Multimedia
Kingshy Goh, Edward Y. Chang, Wei-Cheng Lai
2004 conf
CVDB
Wei-Cheng Lai, Kingshy Goh, Edward Y. Chang
2003 ch.
Web Document Analysis
Wei-Cheng Lai, Edward Y. Chang, Kwang-Ting (Tim) Cheng
2002 conf
OTM
Wei-Cheng Lai, Gerard Sychay, Edward Y. Chang
2002 J jnl
IEEE Des. Test Comput.
Angela Krstic, Wei-Cheng Lai, Kwang-Ting Cheng, Li Chen, Sujit Dey
2002 A* conf
DAC
Angela Krstic, Wei-Cheng Lai, Kwang-Ting Cheng, Li Chen, Sujit Dey
2002 conf
IEEE Pacific Rim Conference on Multimedia
Wei-Cheng Lai, Edward Y. Chang, Kwang-Ting Cheng
2002 conf
IEEE Pacific Rim Conference on Multimedia
Yi-Leh Wu, Edward Y. Chang, Kwang-Ting Cheng, Chengwei Chang, Chen-Cha Hsu, Wei-Cheng Lai, Ching-Tung Wu
2002 A* conf
ACM Multimedia
Wei-Cheng Lai, Chengwei Chang, Edward Y. Chang, Kwang-Ting Cheng, Michael Crandell
2001 Misc conf
VTS
Wei-Cheng Lai, Jing-Reng Huang, Kwang-Ting (Tim) Cheng
2001 A* conf
DAC
Wei-Cheng Lai, Kwang-Ting Cheng
2001 A* conf
ICDM
Beitao Li, Wei-Cheng Lai, Edward Y. Chang, Kwang-Ting Cheng
2001 A* conf
ACM Multimedia
Edward Y. Chang, Kwang-Ting Cheng, Wei-Cheng Lai, Ching-Tung Wu, Chengwei Chang, Yi-Leh Wu
2000 J jnl
IEEE Des. Test Comput.
Wei-Cheng Lai, Angela Krstic, Kwang-Ting (Tim) Cheng
2000 Misc conf
VTS
Wei-Cheng Lai, Angela Krstic, Kwang-Ting Cheng
2000 A conf
ITC
Wei-Cheng Lai, Angela Krstic, Kwang-Ting Cheng
redb/extractors/decompiler/bninja/analysis/medium_level_normalization.py
← Index redb/extractors/decompiler/bninja/analysis/medium_level_normalization.py python
from binaryninja import (
    MediumLevelILInstruction,
    Variable, SSAVariable,
    ILIntrinsic,
)


class MediumLevelNormalization:
    def __init__(self):
        return

    def _collect_ops(self, il, ops):
        if il is None:
            return
        ops.append(int(il.operation))
        operands = getattr(il, "operands", None)
        if not operands:
            return
        for op in operands:
            if isinstance(op, MediumLevelILInstruction):
                self._collect_ops(op, ops)
            elif isinstance(op, (list, tuple)):
                for sub in op:
                    if isinstance(sub, MediumLevelILInstruction):
                        self._collect_ops(sub, ops)

    def normalize_instruction_all_levels(self, instr_il):
        ops = []
        self._collect_ops(instr_il, ops)
        return ops

    def _leaf_type(self, val):
        if isinstance(val, SSAVariable):
            return "SSA_VAR"
        if isinstance(val, Variable):
            return "VAR"
        if isinstance(val, ILIntrinsic):
            return "INTRINSIC"
        if isinstance(val, bool):
            return "BOOL"
        if isinstance(val, float):
            return "FLOAT_CONST"
        if isinstance(val, int):
            return "CONST"
        if isinstance(val, str):
            return "STR"
        return type(val).__name__.upper()

    def _collect(self, il, out_op):
        if il is None:
            return
        out_op.append(int(il.operation))
        operands = getattr(il, "operands", None)
        if not operands:
            return
        for op in operands:
            if isinstance(op, MediumLevelILInstruction):
                self._collect(op, out_op)
            elif isinstance(op, (list, tuple)):
                for sub in op:
                    if isinstance(sub, MediumLevelILInstruction):
                        self._collect(sub, out_op)
                    else:
                        out_op.append(self._leaf_type(sub))
            else:
                out_op.append(self._leaf_type(op))

    def normalize_instr_with_operands(self, instr_il):
        ops = []
        self._collect(instr_il, ops)
        return ops