Naohiro Hayashibara

92 papers A 1B 13C 6Misc 5Journal 11Unranked 56
YearRankTypeTitle / Venue / Authors
2025 conf
NBiS (1)
Keigo Akashi, Naohiro Hayashibara
2025 conf
BWCCA
Kazuma Matsubara, Naohiro Hayashibara
2024 conf
DSN-W
Naohiro Hayashibara, Kazuaki Kawabata
2024 C conf
DASC
Kazuma Matsubara, Naohiro Hayashibara
2024 conf
NBiS
Keigo Akashi, Naohiro Hayashibara
2024 C conf
PRDC
Kazuaki Kawabata, Naohiro Hayashibara
2023 conf
BWCCA
Kazuma Matsubara, Naohiro Hayashibara
2022 conf
AINA (1)
Koichiro Sugihara, Naohiro Hayashibara
2022 conf
NBiS
Chisato Nishigami, Naohiro Hayashibara
2021 J jnl
Internet Things
Takeru Kurokawa, Naohiro Hayashibara
2021 conf
NBiS
Koichiro Sugihara, Naohiro Hayashibara
2021 conf
AINA (1)
Koichiro Sugihara, Naohiro Hayashibara
2021 conf
BWCCA
Koichiro Sugihara, Naohiro Hayashibara
2021 conf
EIDWT
Takeru Kurokawa, Naohiro Hayashibara
2020 conf
NBiS
Tomoyuki Sueda, Naohiro Hayashibara
2020 conf
BWCCA
Takeru Kurokawa, Naohiro Hayashibara
2020 conf
EIDWT
Tomoyuki Sueda, Naohiro Hayashibara
2020 J jnl
Evol. Intell.
Kenya Shinki, Kouichirou Sugihara, Naohiro Hayashibara
2020 B conf
AINA
Koichiro Sugihara, Naohiro Hayashibara
2020 J jnl
Internet Things
Takeru Kurokawa, Naohiro Hayashibara
2020 J jnl
Int. J. Grid Util. Comput.
Koichiro Sugihara, Naohiro Hayashibara
2019 conf
BWCCA
Takeru Kurokawa, Naohiro Hayashibara
2019 B conf
AINA
Takumu Hirooka, Naohiro Hayashibara
2019 Misc conf
CISIS
Koichiro Sugihara, Naohiro Hayashibara
2019 conf
NBiS
Tomoyuki Sueda, Naohiro Hayashibara
2019 J jnl
Int. J. Space Based Situated Comput.
Kengo Imae, Naohiro Hayashibara
2018 Misc conf
CISIS
Tasuku Takahashi, Kengo Imae, Naohiro Hayashibara
2018 conf
BWCCA
Takuro Nakagawa, Naohiro Hayashibara
2018 conf
DASC/PiCom/DataCom/CyberSciTech
Tomoyuki Sueda, Naohiro Hayashibara
2018 conf
EIDWT
Kenya Shinki, Naohiro Hayashibara
2018 B conf
AINA
Kenya Shinki, Naohiro Hayashibara
2018 J jnl
Int. J. Space Based Situated Comput.
Takuro Nakagawa, Naohiro Hayashibara
2017 conf
DASC/PiCom/DataCom/CyberSciTech
Shigeki Yoneda, Naohiro Hayashibara
2017 conf
NBiS
Kouichirou Sugihara, Naohiro Hayashibara
2017 conf
NBiS
Takuro Nakagawa, Naohiro Hayashibara
2017 conf
NBiS
Takumu Hirooka, Daisuke Yamamasu, Naohiro Hayashibara
2017 conf
AINA Workshops
Yuta Yamamoto, Naohiro Hayashibara
2017 B conf
AINA
Kenya Shinki, Masahiko Nishida, Naohiro Hayashibara
2017 conf
BWCCA
Tasuku Takahashi, Kengo Imae, Naohiro Hayashibara
2016 conf
DASC/PiCom/DataCom/CyberSciTech
Kengo Imae, Naohiro Hayashibara
2014 B conf
ICPADS
Daisuke Yamamasu, Naohiro Hayashibara
2012 conf
UIC/ATC
Takeru Ujinawa, Naohiro Hayashibara
2011 conf
IPDPS Workshops
Naohiro Hayashibara
2009 J jnl
Int. J. High Perform. Comput. Netw.
Naohiro Hayashibara, Makoto Takizawa
2007 Misc conf
CISIS
Ailixier Aikebaier, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2007 B conf
AINA
Ailixier Aikebaier, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2007 Misc conf
CISIS
Kenichi Watanabe, Naohiro Hayashibara, Makoto Takizawa
2007 J jnl
Clust. Comput.
Youhei Tanaka, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2007 Misc conf
CISIS
Kiyohiro Morita, Kenichi Watanabe, Naohiro Hayashibara, Makoto Takizawa
2007 conf
FTDCS
Tomoya Enokido, Naohiro Hayashibara, Makoto Takizawa
2007 conf
ICDCS Workshops
Kenichi Watanabe, Yoshio Nakajima, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2007 conf
AINA Workshops (1)
Keiji Ozaki, Naohiro Hayashibara, Makoto Takizawa
2007 C conf
ISORC
Kiyohiro Morita, Kenichi Watanabe, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2007 conf
AINA Workshops (2)
Kiyohiro Morita, Keiji Ozaki, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2007 B conf
AINA
Youhei Tanaka, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2007 B conf
ARES
Keiji Ozaki, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2007 conf
ICDCS Workshops
Naohiro Hayashibara, Makoto Takizawa
2007 conf
ICDCS Workshops
Kenichi Watanabe, Naohiro Hayashibara, Makoto Takizawa
2007 conf
NBiS
Kiyohiro Morita, Keiji Ozaki, Kenichi Watanabe, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2006 conf
AINA (2)
Keiji Ozaki, Kenichi Watanabe, Satoshi Itaya, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2006 C conf
ISORC
Keiji Ozaki, Kenichi Watanabe, Satoshi Itaya, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2006 conf
AINA (2)
Youhei Tanaka, Naohiro Hayashibara, Makoto Takizawa, Tomoya Enokido
2006 C conf
ISORC
Youhei Tanaka, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2006 conf
AINA (2)
Ashraf Uddin Ahmed, Satoshi Itaya, Keiji Ozaki, Naohiro Hayashibara, Makoto Takizawa
2006 conf
AINA (1)
Naohiro Hayashibara, Makoto Takizawa
2006 B conf
ICPP
Satoshi Itaya, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2006 conf
ICPADS (1)
Satoshi Itaya, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2006 conf
ICDCS Workshops
Satoshi Itaya, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2006 conf
DEXA Workshops
Youhei Tanaka, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2006 conf
AINA (1)
Satoshi Itaya, Naohiro Hayashibara, Makoto Takizawa, Tomoya Enokido
2006 J jnl
J. Comput. Syst. Sci.
Satoshi Itaya, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2006 conf
DEXA Workshops
Naohiro Hayashibara, Makoto Takizawa
2006 conf
ICDCS Workshops
Naohiro Hayashibara, Makoto Takizawa
2006 B conf
ARES
Yoshio Nakajima, Kenichi Watanabe, Naohiro Hayashibara, Makoto Takizawa, Tomoya Enokido, S. Misbah Deen
2006 conf
AINA (1)
Kenichi Watanabe, Yoshio Nakajima, Naohiro Hayashibara, Makoto Takizawa, Tomoya Enokido, S. Misbah Deen
2006 conf
SUTC (1)
Yoshio Nakajima, Kenichi Watanabe, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa, S. Misbah Deen
2006 conf
ICDCS Workshops
Kenichi Watanabe, Yoshio Nakajima, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa, S. Misbah Deen
2005 conf
DEXA Workshops
Kenichi Watanabe, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa, K. H. (Kane) Kim
2005 conf
DMS
Satoshi Itaya, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2005 conf
DEXA Workshops
Satoshi Itaya, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2005 conf
ICPADS (1)
Hiroyuki Yoshino, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2005 conf
ICPADS (2)
Takeshi Nishimura, Naohiro Hayashibara, Makoto Takizawa, Tomoya Enokido
2005 J jnl
J. Interconnect. Networks
Kenichi Watanabe, Naohiro Hayashibara, Makoto Takizawa
2005 A conf
DSN
Xavier Défago, Péter Urbán, Naohiro Hayashibara, Takuya Katayama
2005 J jnl
J. Mobile Multimedia
Yasutaka Nishimura, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2005 conf
DEXA Workshops
Hiroyuki Yoshino, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2005 conf
DEXA Workshops
Naohiro Hayashibara, Xavier Défago, Makoto Takizawa, Takuya Katayama
2005 conf
DMS
Yasutaka Nishimura, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2005 C conf
ISM
Satoshi Itaya, Naohiro Hayashibara, Tomoya Enokido, Makoto Takizawa
2004 B conf
SRDS
Péter Urbán, Naohiro Hayashibara, André Schiper, Takuya Katayama
2004 B conf
SRDS
Naohiro Hayashibara, Xavier Défago, Rami Yared, Takuya Katayama
2002 B conf
SRDS
Naohiro Hayashibara, Adel Cherif, Takuya Katayama
redb/extractor_registry.py
← Index redb/extractor_registry.py python
"""
Extractor registry with lazy loading by file type.

Groups extractors by file type (pe, elf, macho, apk) and only imports
the relevant group when that file type is first encountered. This avoids
loading heavy dependencies (pefile, lief, androguard, etc.) into workers
that don't need them.
"""
import importlib
import logging

logger = logging.getLogger(__name__)

# Registry: group name -> list of (module_path, class_names)
_REGISTRY = {
    "pe": [
        ("redb.extractors.pe_extractors", [
            "PEFeaturesExtractor",
            "PEImportExtractor",
            "PEResourceExtractor",
            "PEOverlayExtractor",
            "PESectionExtractor",
            "PESignatureExtractor",
            "PEExtraFindings",
            "PEInconstistencyTestsExtractor",
            "PEDotNetExtractor",
        ]),
    ],
    "elf": [
        ("redb.extractors.elf_extractors", [
            "ELFFeaturesExtractor",
            "ELFSegmentExtractor",
            "ELFSectionExtractor",
            "ELFDependencyExtractor",
            "ELFSymbolExtractor",
            "ELFImportExtractor",
            "ELFExportExtractor",
            "ELFRelocationExtractor",
            "ELFNotesExtractor",
        ]),
    ],
    "macho": [
        ("redb.extractors.macho_extractors", [
            "MachOFeaturesExtractor",
            "MachOSegmentExtractor",
            "MachOImportExtractor",
            "MachOExportExtractor",
            "MachODylibExtractor",
            "MachOSignatureExtractor",
        ]),
    ],
    "apk": [
        ("redb.extractors.apk_extractors", [
            "APKFeaturesExtractor",
            "APKManifestExtractor",
            "APKPermissionsExtractor",
            "APKSignatureExtractor",
            "APKDexExtractor",
            "APKResourceExtractor",
            "APKNativeLibExtractor",
            "APKInconsistencyTestsExtractor",
        ]),
        ("redb.extractors.decompiler.DecompileAPK", [
            "DecompileAPK",
        ]),
    ],
    "js": [
        ("redb.extractors.js_extractors", [
            "JSFeaturesExtractor",
            "JSSuspiciousAPIsExtractor",
            "JSStringsExtractor",
            "JSDeobfuscationExtractor",
            "JSContentExtractor",
        ]),
    ],
}

# Map filetype labels (from Magika) to registry group names
FILETYPE_TO_GROUP = {
    "pebin": "pe",
    "elf": "elf",
    "macho": "macho",
    "apk": "apk",
    "javascript": "js",
}

# Cache: group name -> {class_name: class}
_group_cache = {}


def _load_group(group_name):
    """Import all extractors for a group. Cached after first call."""
    if group_name in _group_cache:
        return _group_cache[group_name]

    logger.debug(f"Loading extractor group: {group_name}")

    # Suppress androguard logging before importing APK extractors
    if group_name == "apk":
        from loguru import logger as loguru_logger
        loguru_logger.disable("androguard")

    classes = {}
    for module_path, class_names in _REGISTRY[group_name]:
        mod = importlib.import_module(module_path)
        for name in class_names:
            classes[name] = getattr(mod, name)

    _group_cache[group_name] = classes
    return classes


def get_filetype_modules(filetype):
    """Get the list of format-specific extractor classes for a filetype.

    Returns only analysis extractors (excludes decompilers like DecompileAPK).
    """
    group = FILETYPE_TO_GROUP.get(filetype)
    if not group:
        return []
    classes = _load_group(group)
    return [cls for name, cls in classes.items() if not name.startswith("Decompile")]


def get_extractor_class(name):
    """Look up a single extractor class by name across all groups.

    Checks cached groups first, then loads groups on demand.
    """
    # Check already-loaded groups first
    for group_classes in _group_cache.values():
        if name in group_classes:
            return group_classes[name]

    # Search all groups (triggers lazy loading)
    for group_name in _REGISTRY:
        classes = _load_group(group_name)
        if name in classes:
            return classes[name]

    return None