Wei Lu

33 papers A 1B 1Journal 31
YearRankTypeTitle / Venue / Authors
2025 J jnl
IEEE Signal Process. Lett.
Wei Lu, Xinjie Ding, Yang Jiang, Jinghui Chu
2025 J jnl
IEEE Trans. Instrum. Meas.
Jinghui Chu, Yongpeng Wang, Qi Tian, Wei Lu
2025 J jnl
Neural Networks
Wei Lu, He Zhao, Dubuke Ma, Peiguang Jing
2025 J jnl
IEEE Open J. Commun. Soc.
Rongyu Li, Wei Lu, Jinghui Chu
2025 J jnl
IEEE Trans. Multim.
Yu Qiao, Wei Lu, Peiguang Jing, Weiming Wang, Yuting Su
2025 J jnl
IEEE J. Biomed. Health Informatics
Jinghui Chu, Wangtao Liu, Qi Tian, Wei Lu
2025 J jnl
IEEE Access
Runnan Zhang, Qi Tian, Jinghui Chu, Wei Lu
2024 J jnl
J. Syst. Archit.
Zhipeng Wu, Yue Hu, Ning Li, Wei Lu, Yu Liu
2024 J jnl
IEEE Trans. Multim.
Wei Lu, Yujia Zhai, Jiaze Han, Peiguang Jing, Yu Liu, Yuting Su
2023 J jnl
IEEE Signal Process. Lett.
Wei Lu, Jiaxin Lin, Peiguang Jing, Yuting Su
2023 A conf
ICME
Wei Lu, Yang Jiang, Peiguang Jing, Jinghui Chu, Fugui Fan
2023 J jnl
Comput. Biol. Medicine
Wenxue Li, Wei Lu, Jinghui Chu, Qi Tian, Fugui Fan
2023 J jnl
IEEE Trans. Instrum. Meas.
Wenxue Li, Wei Lu, Jinghui Chu, Fugui Fan
2023 J jnl
IEEE Trans. Multim.
Wei Lu, Desheng Li, Liqiang Nie, Peiguang Jing, Yuting Su
2022 J jnl
Multidimens. Syst. Signal Process.
Xiangdong Huang, Xuecheng Zhao, Wei Lu
2021 J jnl
IEEE Signal Process. Lett.
Fugui Fan, Yuting Su, Peiguang Jing, Wei Lu
2021 J jnl
J. Vis. Commun. Image Represent.
Chunxu Jiang, Yu Liu, Jinglin Sun, Jichang Guo, Wei Lu
2021 B conf
ICIP
Jinghui Chu, Jiawei Feng, Peiguang Jing, Wei Lu
2021 J jnl
IEEE Wirel. Commun. Lett.
Xiangdong Huang, Xiaoqing Yang, Lu Cao, Wei Lu
2020 J jnl
Biomed. Signal Process. Control.
Wei Lu, Zhijin Song, Jinghui Chu
2020 J jnl
IEICE Electron. Express
Zi-Kai Yang, Sheng Zhao, Xiangdong Huang, Wei Lu
2020 J jnl
Sensors
Xiangdong Huang, Lu Cao, Wei Lu
2020 J jnl
Neurocomputing
Jinghui Chu, Xiaochuan Li, Jiaqi Zhang, Wei Lu
2019 J jnl
IEEE Internet Things J.
Wei Lu, Fugui Fan, Jinghui Chu, Peiguang Jing, Yuting Su
2018 J jnl
IEEE Access
Wei Lu, Hongbo Sun, Jinghui Chu, Xiangdong Huang, Jiexiao Yu
2018 J jnl
IEEE Signal Process. Lett.
Jinghui Chu, Jiaqi Zhang, Wei Lu, Xiangdong Huang
2018 J jnl
Multim. Tools Appl.
Xiangdong Huang, Lin Yang, Runan Song, Wei Lu
2018 J jnl
Biomed. Signal Process. Control.
Wei Lu, Honghui Hou, Jinghui Chu
2017 J jnl
Comput. Biol. Medicine
Wei Lu, Zhe Li, Jinghui Chu
2017 J jnl
J. Syst. Softw.
Wei Lu, Zhe Li, Jinghui Chu
2017 J jnl
KSII Trans. Internet Inf. Syst.
Jinghui Chu, Hailan Liang, Zheng Tong, Wei Lu
2016 J jnl
IEEE Signal Process. Lett.
Wei Lu, Zheng Tong, Jinghui Chu
2016 J jnl
IEEE Trans. Signal Process.
Xiangdong Huang, Yiwen Han, Ziyang Yan, Hongyu Xian, Wei Lu
redb/extractors/decompiler/bninja/analysis/strings.py
← Index redb/extractors/decompiler/bninja/analysis/strings.py python
from collections import Counter
import math

class StringAnalysis:
    def __init__(self, bv, functions):
        self.bv = bv
        self.functions = functions

    def entropy(self, s: str) -> float:
        """Compute Shannon entropy of a string."""
        if not s:
            return 0.0
        freq = Counter(s)
        length = len(s)
        return -sum((count / length) * math.log2(count / length) for count in freq.values())

    def analyze(self):
        """
        Extract unique strings from the binary.

        Deduplicates by (string, encoding) within the same binary, keeping the
        first occurrence (lowest offset). Cross-binary deduplication and
        aggregation is handled by ClickHouse materialized views.
        """
        strings = {}

        # Sort strings by their starting address
        sorted_entries = sorted(self.bv.strings, key=lambda e: e.start)

        for entry in sorted_entries:
            # Key is the string and its encoding
            key = (entry.value, entry.type.name)

            # Skip if this string (value + encoding) was already added.
            # Because entries are sorted by address, the first one is always kept.
            if key in strings:
                continue

            # Store only the first occurrence with schema-matching field names
            # entry.length is the raw byte length, len(entry.value) is decoded string length
            string_entry = {
                "string": entry.value,
                "string_raw": entry.raw,
                "string_encoding": entry.type.name,
                "string_offset": entry.start,
                "string_length": len(entry.value),
                "string_raw_length": entry.length,
                "string_entropy": self.entropy(entry.value),
            }

            strings[key] = string_entry

        # Return as list for export compatibility
        return list(strings.values())