Han-Gyu Kim

32 papers A* 3A 2B 4C 1Journal 12Unranked 10
YearRankTypeTitle / Venue / Authors
2025 J jnl
CoRR
Young-Jun Lee, Byung-Kwan Lee, Jianshu Zhang, Yechan Hwang, Byungsoo Ko, Han-Gyu Kim, Dongyu Yao, Xuankun Rong, Eojin Joo, Seung-Ho Han, Bowon Ko, Ho-Jin Choi
2024 conf
NAACL-HLT
Young-Jun Lee, Byungsoo Ko, Han-Gyu Kim, Jonghwan Hyeon, Ho-Jin Choi
2024 J jnl
CoRR
Young-Jun Lee, Byungsoo Ko, Han-Gyu Kim, Yechan Hwang, Ho-Jin Choi
2023 A* conf
ICRA
Dongkun Lee, Han-Gyu Kim, Ho-Jin Choi
2022 J jnl
CoRR
Young-Jun Lee, Byungsoo Ko, Han-Gyu Kim, Ho-Jin Choi
2022 J jnl
CoRR
Byungsoo Ko, Han-Gyu Kim, Byeongho Heo, Sangdoo Yun, Sanghyuk Chun, Geonmo Gu, Wonjae Kim
2021 J jnl
CoRR
Namkyu Jung, Geonmin Kim, Han-Gyu Kim
2021 A* conf
ICCV
Byungsoo Ko, Geonmo Gu, Han-Gyu Kim
2021 J jnl
CoRR
Byungsoo Ko, Geonmo Gu, Han-Gyu Kim
2021 A* conf
AAAI
Geonmo Gu, Byungsoo Ko, Han-Gyu Kim
2021 J jnl
CoRR
Geonmo Gu, Byungsoo Ko, Han-Gyu Kim
2020 J jnl
J. Supercomput.
Han-Gyu Kim, Gil-Jin Jang, Yung-Hwan Oh, Ho-Jin Choi
2019 C conf
ICCE
Chan Yong Park, Han-Gyu Kim, Ho-Jin Choi
2018 conf
BigComp
Chan Yong Park, Han-Gyu Kim, Dongkeon Lee, Zhun Li, Seung-Ho Han, Ho-Jin Choi
2018 A conf
CIKM
Minsu Kwon, Han-Gyu Kim, Ho-Jin Choi
2017 B conf
MDM
Seung-Ho Han, Han-Gyu Kim, Ho-Jin Choi
2017 conf
MedInfo
You Jin Kim, Han-Gyu Kim, Zhun Li, Ho-Jin Choi
2017 conf
BigComp
You Jin Kim, Han-Gyu Kim, Jonghwan Hyeon, Ho-Jin Choi
2017 conf
BigComp
Byungsoo Ko, Han-Gyu Kim, Kyo-Joong Oh, Ho-Jin Choi
2017 B conf
SMC
Byungsoo Ko, Han-Gyu Kim, Ho-Jin Choi
2017 conf
MedInfo
Seung-Ho Han, Han-Gyu Kim, Chan Yong Park, Ho-Jin Choi
2017 conf
BigComp
Han-Gyu Kim, Seung-Ho Han, Ho-Jin Choi
2017 J jnl
Int. J. Data Min. Bioinform.
Han-Gyu Kim, Gil-Jin Jang, Ho-Jin Choi, Myungeun Lim, Jaehun Choi
2017 B conf
MDM
You Jin Kim, Han-Gyu Kim, Ho-Jin Choi
2017 J jnl
BMC Medical Informatics Decis. Mak.
Zae Myung Kim, Hyungrai Oh, Han-Gyu Kim, Chae-Gyun Lim, Kyo-Joong Oh, Ho-Jin Choi
2017 conf
BigComp
Han-Gyu Kim, Gil-Jin Jang, Ho-Jin Choi, Minho Kim, Young-Won Kim, Jaehun Choi
2017 conf
BigComp
Seung-Ho Han, Han-Gyu Kim, Ho-Jin Choi
2016 conf
EDB
Han-Gyu Kim, Gil-Jin Jang, Ho-Jin Choi, Minho Kim, Young-Won Kim, Jaehun Choi
2014 J jnl
CoRR
Gil-Jin Jang, Han-Gyu Kim, Yung-Hwan Oh
2013 A conf
INTERSPEECH
Han-Gyu Kim, Gil-Jin Jang, Jeong-Sik Park, Yung-Hwan Oh
2013 J jnl
Int. J. Imaging Syst. Technol.
Han-Gyu Kim, Gil-Jin Jang, Jeong-Sik Park, Ji-Hwan Kim, Yung-Hwan Oh
2012 B conf
SMC
Han-Gyu Kim, Jeong-Sik Park, Gil-Jin Jang, Yung-Hwan Oh
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())