Wei Huang

29 papers B 1C 3Journal 25
YearRankTypeTitle / Venue / Authors
2026 J jnl
Inf. Process. Manag.
Gang-Feng Ma, Xilin Wen, Xu-Hua Yang, Yanbo Zhou, Wei Huang, Xiao-Xin Li, Peng Jiang
2025 J jnl
Biomed. Signal Process. Control.
Taotao Lu, Sihui Qian, Xia Tao, Wei Huang, Xin-Wei Yao, Jiang Zhu
2025 J jnl
Neurocomputing
Wei Huang, Zhaonan Xu, Rongchun Wan, Xuhua Yang, Bingyang Zhang
2025 J jnl
Expert Syst. Appl.
Kaituo Zhang, Bingyang Zhang, Wei Huang, Hua Gao, Ning Xu, Rongchun Wan
2024 J jnl
Biomed. Signal Process. Control.
Zhenqin Chen, Mengying Wang, Meiyu Zhang, Wei Huang, Yan Feng, Jinshan Xu
2024 B conf
ICMR
Hua Gao, Chenchen Hu, Guang Han, Jiafa Mao, Wei Huang, Kaiyuan Wan
2024 J jnl
IEEE Trans. Instrum. Meas.
Wei Huang, Bingyang Zhang, Kaituo Zhang, Hua Gao, Rongchun Wan
2024 J jnl
Image Vis. Comput.
Hua Gao, Chenchen Hu, Guang Han, Jiafa Mao, Wei Huang, Qiu Guan
2024 J jnl
IEEE Trans. Netw. Sci. Eng.
Gang-Feng Ma, Xu-Hua Yang, Yanbo Zhou, Haixia Long, Wei Huang, Weihua Gong, Sheng Liu
2023 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Wei Huang, Haojie Shan, Jinshan Xu, Xin-Wei Yao
2023 J jnl
Biomed. Signal Process. Control.
Zhenqin Chen, Mengying Wang, Meiyu Zhang, Wei Huang, HanJie Gu, Jinshan Xu
2023 J jnl
CoRR
Kaituo Zhang, Wei Huang, Bingyang Zhang, Jinshan Xu, Xuhua Yang
2022 J jnl
IEEE Trans. Circuits Syst. II Express Briefs
Wei Huang, Wei Cheng
2022 J jnl
IEEE J. Biomed. Health Informatics
Jinshan Xu, Mengting Wang, Jinpeng Zhang, Zhenqin Chen, Wei Huang, Guojiang Shen, Meiyu Zhang
2021 J jnl
IEEE Trans. Circuits Syst. II Express Briefs
Wei Huang, Chao Chen
2021 J jnl
Signal Process.
Wei Huang, Haojie Shan, Jinshan Xu, Xinwei Yao
2020 J jnl
Signal Process.
Wei Huang, Chao Chen, Xinwei Yao, Qiang Li
2019 J jnl
IET Signal Process.
Wei Huang, Lin Dong Li, Xin-Wei Yao
2019 J jnl
Inf. Sci.
Wei Huang, Lindong Li, Zhongyuan Ruan
2019 C conf
CDVE
Xin-Wei Yao, Ye-Chen-Ge Wu, Yuan Yao, Chu-Feng Qi, Wei Huang
2019 J jnl
Nano Commun. Networks
Xin-Wei Yao, Ye-Chen-Ge Wu, Wei Huang
2019 J jnl
Soft Comput.
Tinglong Tang, Shengyong Chen, Meng Zhao, Wei Huang, Jake Luo
2018 J jnl
IEEE Access
Wei Huang, Lindong Li, Qiang Li, Xinwei Yao
2018 C conf
CDVE
Xin-Wei Yao, Mengna Zhang, Hang-Jie Zhang, Chao-Chao Wang, Qiang Li, Wei Huang
2017 J jnl
Inf. Sci.
Wei Huang, Xi Yang, Guojiang Shen
2016 J jnl
IET Signal Process.
Wei Huang, Xi Yang, Duanyang Liu, Shengyong Chen
2016 C conf
INDIN
Wei Huang, Xiaolong Deng, Yuzhu Ji, Shengyong Chen
2016 J jnl
IEEE Trans. Autom. Control.
Xi Yang, Wei Huang, Yong Wang
2013 J jnl
Neurocomputing
Xiaole Xu, Shengyong Chen, Wei Huang, Lixin Gao
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())