Hajime Machida

64 papers Journal 21Unranked 43
YearRankTypeTitle / Venue / Authors
2025 conf
ISMVL
Hajime Machida
2024 conf
ISMVL
Hajime Machida
2023 J jnl
Sci. Ann. Comput. Sci.
Hajime Machida
2023 conf
ISMVL
Hajime Machida
2022 conf
ISMVL
Hajime Machida
2021 J jnl
J. Multiple Valued Log. Soft Comput.
Hajime Machida, Péter P. Pálfy
2020 J jnl
J. Multiple Valued Log. Soft Comput.
Hajime Machida
2020 conf
ISMVL
Mike Behrisch, Hajime Machida
2019 conf
ISMVL
Mike Behrisch, Hajime Machida
2019 J jnl
J. Multiple Valued Log. Soft Comput.
Hajime Machida, Jovanka Pantovic
2018 conf
ISMVL
Hajime Machida, Ivo G. Rosenberg
2018 J jnl
J. Multiple Valued Log. Soft Comput.
Hajime Machida
2018 J jnl
J. Multiple Valued Log. Soft Comput.
Hajime Machida, Jovanka Pantovic
2018 conf
ISMVL
Hajime Machida, Jovanka Pantovic
2017 conf
ISMVL
Hajime Machida, Ivo G. Rosenberg
2017 J jnl
J. Multiple Valued Log. Soft Comput.
Hajime Machida
2017 conf
ISMVL
Hajime Machida, Jovanka Pantovic
2016 conf
ISMVL
Hajime Machida, Ivo G. Rosenberg
2016 conf
ISMVL
Hajime Machida, Jovanka Pantovic
2015 conf
ISMVL
Hajime Machida, Tamás Waldhauser
2015 conf
ISMVL
Martin Goldstern, Hajime Machida, Ivo G. Rosenberg
2015 J jnl
J. Multiple Valued Log. Soft Comput.
Jelena Colic, Hajime Machida, Jovanka Pantovic
2014 conf
ISMVL
Hajime Machida, Ivo G. Rosenberg
2014 J jnl
J. Multiple Valued Log. Soft Comput.
Jelena Colic, Hajime Machida, Jovanka Pantovic
2013 conf
ISMVL
Hajime Machida, Ivo G. Rosenberg
2013 conf
ISMVL
Jelena Colic, Hajime Machida, Jovanka Pantovic
2012 conf
ISMVL
Hajime Machida, Ivo G. Rosenberg
2012 conf
ISMVL
Jelena Colic, Hajime Machida, Jovanka Pantovic
2012 J jnl
J. Multiple Valued Log. Soft Comput.
Hajime Machida
2012 conf
ISMVL
Hajime Machida, Teruo Hikita
2012 J jnl
J. Multiple Valued Log. Soft Comput.
Hajime Machida, Jovanka Pantovic, Ivo G. Rosenberg
2012 J jnl
J. Multiple Valued Log. Soft Comput.
Hajime Machida, Ivo G. Rosenberg
2012 J jnl
J. Multiple Valued Log. Soft Comput.
Hajime Machida, Jovanka Pantovic
2011 J jnl
J. Multiple Valued Log. Soft Comput.
Ivan Chajda, Radomír Halas, Hajime Machida
2011 conf
ISMVL
Hajime Machida, Lucien Haddad, Jovanka Pantovic
2011 conf
ISMVL
Hajime Machida, Ivo G. Rosenberg
2011 conf
ISMVL
Jelena Colic, Hajime Machida, Jovanka Pantovic
2010 conf
ISMVL
Hajime Machida, Ivo G. Rosenberg
2010 conf
ISMVL
Hajime Machida, Jovanka Pantovic, Ivo G. Rosenberg
2010 J jnl
Ann. Math. Artif. Intell.
Léonard Kwuida, Hajime Machida
2009 conf
ISMVL
Hajime Machida, Jovanka Pantovic
2009 J jnl
J. Multiple Valued Log. Soft Comput.
Hajime Machida, Jovanka Pantovic
2009 conf
ISMVL
Hajime Machida, Ivo G. Rosenberg
2008 conf
ISMVL
Hajime Machida, Tamás Waldhauser
2008 conf
ISMVL
Hajime Machida, Jovanka Pantovic
2007 conf
ISMVL
Lucien Haddad, Hajime Machida, Ivo G. Rosenberg
2007 conf
ISMVL
Hajime Machida, Michael Pinsker
2007 J jnl
J. Multiple Valued Log. Soft Comput.
Hajime Machida, Michael Pinsker
2006 conf
ISMVL
Hajime Machida, Michael Pinsker
2006 conf
ISMVL
Lucien Haddad, Hajime Machida, Ivo G. Rosenberg
2005 conf
ISMVL
Hajime Machida, Ivo G. Rosenberg
2004 conf
ISMVL
Hajime Machida, Ivo G. Rosenberg
2003 conf
ISMVL
Hajime Machida, Ivo G. Rosenberg
2002 J jnl
J. Autom. Lang. Comb.
Lucien Haddad, Hajime Machida, Ivo G. Rosenberg
2002 conf
ISMVL
Hajime Machida, Masahiro Miyakawa, Ivo G. Rosenberg
2001 conf
ISMVL
Hajime Machida, Masahiro Miyakawa, Ivo G. Rosenberg
2000 conf
ISMVL
Lucien Haddad, Hajime Machida, Ivo G. Rosenberg
2000 conf
Words, Languages & Combinatorics
Hajime Machida
1999 conf
ISMVL
Ivo G. Rosenberg, Hajime Machida
1998 conf
ISMVL
Hajime Machida
1995 conf
ISMVL
Hajime Machida
1988 J jnl
J. Inf. Process. Cybern.
Masahiro Miyakawa, Ivan Stojmenovic, Teruo Hikita, Hajime Machida, Rusins Freivalds
1982 J jnl
J. Comput. Syst. Sci.
Hajime Machida, Takumi Kasai
1978 J jnl
Inf. Process. Lett.
Kohei Noshita, Etsuo Masuda, Hajime Machida
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())