Chang Wen

32 papers Journal 30Unranked 2
YearRankTypeTitle / Venue / Authors
2025 J jnl
CoRR
Ruonan Li, Chang Wen, Mingyu Yan, Congcong Wu, Ahmed Lotfy Elrefai, Xiaotong Zhang, Sahban Wael Saeed Alnaser
2024 J jnl
Sensors
Zihan Yu, Kai Xie, Chang Wen, Jianbiao He, Wei Zhang
2024 J jnl
Int. J. Mach. Learn. Cybern.
Qi Fu, Kai Xie, Chang Wen, Jianbiao He, Wei Zhang, Hongling Tian, Sheng Yang
2024 J jnl
Sensors
Zhengming Hu, Xuepeng Zeng, Kai Xie, Chang Wen, Jianbiao He, Wei Zhang
2023 J jnl
Signal Image Video Process.
Sheng-Tao He, Chang Wen, Kai Xie, Zi-Han Chen, Bin-Yu Wang, Jian-Biao He
2023 J jnl
Sensors
Haonan Dong, Kai Xie, An Xie, Chang Wen, Jianbiao He, Wei Zhang, Dajiang Yi, Sheng Yang
2023 J jnl
Signal Image Video Process.
Kai Tao, Kai Xie, Chang Wen, Jian-Biao He
2023 J jnl
Signal Image Video Process.
Mei-Ran Li, Kai Xie, Hua-Quan Chen, Chang Wen, Jian-Biao He
2023 J jnl
Sensors
Mingxuan Cao, Kai Xie, Feng Liu, Bohao Li, Chang Wen, Jianbiao He, Wei Zhang
2022 J jnl
IET Signal Process.
Lu-Qiao Li, Kai Xie, Xiaolong Guo, Chang Wen, Jian-Biao He
2022 J jnl
IEEE Access
Hua-Quan Chen, Kai Xie, Mei-Ran Li, Chang Wen, Jian-Biao He
2022 J jnl
IEEE Access
Yu-Hang Zhang, Chang Wen, Min Zhang, Kai Xie, Jian-Biao He
2022 J jnl
IEEE Access
Min Zhang, Kai Xie, Yu-Hang Zhang, Chang Wen, Jian-Biao He
2022 J jnl
IEEE Access
Xin-Yu Zhang, Kai Xie, Mei-Ran Li, Chang Wen, Jian-Biao He
2022 J jnl
IEEE Access
Bin-Yu Wang, Kai Xie, Sheng-Tao He, Chang Wen, Jian-Biao He
2022 J jnl
J. Chem. Inf. Model.
Penglei Wang, Shuangjia Zheng, Yize Jiang, Chengtao Li, Junhong Liu, Chang Wen, Atanas Patronov, Dahong Qian, Hongming Chen, Yuedong Yang
2021 J jnl
IEEE Access
Yunfeng Zhou, Kai Xie, Xin-Yu Zhang, Chang Wen, Jian-Biao He
2021 J jnl
IEEE Access
Huan Cheng, Kai Xie, Chang Wen, Jian-Biao He
2021 J jnl
IEEE Access
Hao Fang, Jun-Qing Liu, Kai Xie, Peng Wu, Xin-Yu Zhang, Chang Wen, Jian-Biao He
2021 J jnl
IEEE Access
Zhuang-Zhuang Wang, Kai Xie, Xin-Yu Zhang, Hua-Quan Chen, Chang Wen, Jian-Biao He
2021 J jnl
IEEE Access
Lei Yang, Kai Xie, Chang Wen, Jian-Biao He
2020 J jnl
IEEE Access
Zi-Zhuang Zou, Kai Xie, Yi-Fei Zhao, Jing Wan, Lan Lan, Chang Wen
2020 J jnl
Sensors
Kai Chen, Kai Xie, Chang Wen, Xin-Gong Tang
2019 J jnl
Sensors
Fei Yi, Yi-Fei Zhao, Guanqun Sheng, Kai Xie, Chang Wen, Xin-Gong Tang, Xuan Qi
2019 J jnl
IET Image Process.
Tao Qiu, Chang Wen, Kai Xie, Fangqing Wen, Guanqun Sheng, Xin-Gong Tang
2019 J jnl
IET Biom.
Fu-Mei Chen, Chang Wen, Kai Xie, Fangqing Wen, Guan-Qun Sheng, Xin-Gong Tang
2018 J jnl
Sensors
Yuxin Yang, Chang Wen, Kai Xie, Fang-Qing Wen, Guanqun Sheng, Xin-Gong Tang
2018 J jnl
IET Signal Process.
Chang Wen, Kai Xie, Yu Hu, Jianbiao He
2018 J jnl
Sensors
Jing Li, Tao Qiu, Chang Wen, Kai Xie, Fang-Qing Wen
2018 J jnl
Sensors
Cunwei Sun, Yuxin Yang, Chang Wen, Kai Xie, Fangqing Wen
2016 conf
CCKS
Chang Wen, Yu Liu, Jinguang Gu, Jing Chen, Yingping Zhang
2014 conf
BIC-TA
Chang Wen, Kai Xie
redb/extractors/decompiler/bninja/analysis/low_level_normalization.py
← Index redb/extractors/decompiler/bninja/analysis/low_level_normalization.py python
from binaryninja import (
    ILRegister, ILRegisterStack, ILFlag,
    ILIntrinsic, ILSemanticFlagGroup,
)

class LowLevelNormalization:
    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 hasattr(op, "operation"):
                self._collect_ops(op, ops)
            elif isinstance(op, (list, tuple)):
                for sub in op:
                    if hasattr(sub, "operation"):
                        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, ILRegister):
            return "REG"
        if isinstance(val, ILRegisterStack):
            return "REG_STACK"
        if isinstance(val, ILFlag):
            return "FLAG"
        if isinstance(val, ILSemanticFlagGroup):
            return "FLAG_GROUP"
        if isinstance(val, ILIntrinsic):
            return "INTRINSIC"
        if isinstance(val, bool):
            return "BOOL"
        if isinstance(val, int):
            return "CONST"
        return type(val).__name__.upper()

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

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