Hanjung Song

21 papers Journal 19Unranked 2
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Access
Md Turiqul Islam, Abdey Munaf, Gaurav Mehra, Alaaddin Al-Shidaifat, Sung Kwon Kim, Hanjung Song
2026 J jnl
Circuits Syst. Signal Process.
Tika Ram Pokhrel, Alaaddin Al-Shidaifat, Hanjung Song, Alak Majumder
2025 J jnl
Int. J. Circuit Theory Appl.
Naga Ganesh Akuri, Kunal Kumar, Sandeep Kumar, K. S. Nikhil, Hanjung Song
2025 J jnl
Circuits Syst. Signal Process.
Md. Tarikul Islam, Aswini Kumar Samantaray, Pradeep Gorre, Deepak Naik Jatoth, Sandeep Kumar, Alaaddin Al-Shidaifat, Hanjung Song
2025 J jnl
IEEE Access
Rubina Akter Rabeya, Md Turiqul Islam, Shah Muhammad Imtiyaj Uddin, Alaaddin Al-Shidaifat, Hanjung Song, Heung-Kook Choi, Hee-Cheol Kim
2023 J jnl
Int. J. Circuit Theory Appl.
Pradeep Gorre, R. Vignesh, Sandeep Kumar, Hanjung Song, Gunjan Mittal Roy
2023 J jnl
Microelectron. J.
Md. Nazmul Haque, Pradeep Gorre, Deepak Naik Jatoth, Sandeep Kumar, Ala'aDdin Al-Shidaifat, Hanjung Song
2023 J jnl
IEEE Access
Mohammad Khaleqi Qaleh Jooq, Mostafa Rahimi Azghadi, Fereshteh Behbahani, Alaaddin Al-Shidaifat, Hanjung Song
2022 J jnl
IEEE Access
R. Vignesh, Pradeep Gorre, Hanjung Song, Sandeep Kumar
2021 J jnl
Microelectron. J.
Pradeep Gorre, R. Vignesh, Hanjung Song, Sandeep Kumar
2021 J jnl
IEEE Access
Mohammad Hossein Moaiyeri, Mohammad Khaleqi Qaleh Jooq, Alaaddin Al-Shidaifat, Hanjung Song
2021 J jnl
Int. J. Circuit Theory Appl.
R. Vignesh, Pradeep Gorre, Hanjung Song, Sandeep Kumar
2020 conf
NorCAS
Madhusudan Maiti, Shubhro Chakrabartty, Alaaddin Al-Shidaifat, Hanjung Song, Bidyut K. Bhattacharyya, Alak Majumder
2020 J jnl
Comput. Electr. Eng.
Mainak Biswas, Shubhro Chakrabartty, Jasjit S. Suri, Hanjung Song
2020 conf
ISOCC
Alaaddin Al-Shidaifat, Chamindra Jayawickrama, Yechan Jung, Songwook Lee, Hanjung Song, Nihan Kahraman
2020 J jnl
Microelectron. J.
Madhusudan Maiti, Alak Majumder, Shubhro Chakrabartty, Hanjung Song, Bidyut K. Bhattacharyya
2020 J jnl
IET Circuits Devices Syst.
Rajesh Kumar, Santanu Dwari, Binod Kumar Kanaujia, Sandeep Kumar, Hanjung Song
2020 J jnl
IET Circuits Devices Syst.
Gunjan Mittal Roy, Binod Kumar Kanaujia, Santanu Dwari, Sandeep Kumar, Hanjung Song
2020 J jnl
Comput. Biol. Medicine
Mainak Biswas, Luca Saba, Shubhro Chakrabartty, Narender N. Khanna, Hanjung Song, Harman S. Suri, Petros P. Sfikakis, Sophie Mavrogeni, Klaudija Viskovic, John R. Laird, Elisa Cuadrado Godia, Andrew Nicolaides, Aditya Sharma, Vijay Viswanathan, Athanasios Protogerou, George D. Kitas, Gyan Pareek, Martin Miner, Jasjit S. Suri
2019 J jnl
IEEE Access
Shubhro Chakrabartty, Suvojit Acharjee, Alaaddin Al-Shidaifat, Mainak Biswas, Hanjung Song
2018 J jnl
Sensors
Minjeong Park, Joohee Kim, Hanjung Song, Seonpil Kim, Minhyon Jeon
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())