Naushin Nower

24 papers B 1C 3Misc 1Journal 12Unranked 7
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Access
Nazmus Sakib Ahmed, Naushin Nower
2025 B conf
KES
Nazmus Sakib Ahmed, Naushin Nower
2025 C conf
VEHITS
Manash Sarker, Kazi Sakib, Naushin Nower
2025 C conf
VEHITS
Ashraful Islam Shanto Sikder, Naushin Nower
2024 J jnl
Appl. Intell.
Atkia Akila Karim, Naushin Nower
2024 C conf
EANN
Atkia Akila Karim, Naushin Nower
2023 conf
ICMLT
Md. Moshiur Rahman, Naushin Nower
2023 J jnl
Knowl. Eng. Data Sci.
Atkia Akila Karim, Naushin Nower
2022 J jnl
Int. J. Intell. Transp. Syst. Res.
Abu Rafe Md Jamil, Naushin Nower
2022 J jnl
Int. J. Softw. Innov.
Iftekhar Hossain, Naushin Nower
2021 J jnl
Knowl. Eng. Data Sci.
Abu Rafe Md Jamil, Naushin Nower
2020 J jnl
Public Transp.
Sakhawat Hossan, Naushin Nower
2017 conf
ICC
Naushin Nower, Sakhawat Hossan
2017 J jnl
CoRR
Md. Masudur Rahman, Naushin Nower
2016 conf
ISCSLP
Yang Liu, Naushin Nower, Shota Morita, Masashi Unoki
2016 J jnl
Speech Commun.
Yang Liu, Naushin Nower, Shota Morita, Masashi Unoki
2015 conf
ICUFN
Naushin Nower, Yasuo Tan, Yuto Lim
2015 conf
EUSIPCO
Yang Liu, Naushin Nower, Yonghong Yan, Masashi Unoki
2015 J jnl
Speech Commun.
Naushin Nower, Yang Liu, Masashi Unoki
2014 conf
SOSE
Naushin Nower, Yasuo Tan, Azman Osman Lim
2014 Misc conf
ICASSP
Naushin Nower, Yang Liu, Masashi Unoki
2014 J jnl
IEICE Trans. Fundam. Electron. Commun. Comput. Sci.
Naushin Nower, Yasuo Tan, Azman Osman Lim
2013 conf
CPSNA
Naushin Nower, Yasuo Tan, Azman Osman Lim
2012 J jnl
CoRR
Md. Golam Rabiul Alam, Chayan Biswas, Naushin Nower, Mohammed Shafiul Alam Khan
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())