Naoki Hashimoto

84 papers A* 2A 1B 2C 10Misc 1Journal 10Unranked 58
YearRankTypeTitle / Venue / Authors
2026 conf
VISAPP (2)
Naoki Hashimoto, Ian Gomasaki, Ryosuke Saga
2026 Misc conf
ICNC
Shoma Nishigami, Eiji Nii, Naoki Hashimoto, Hiroyuki Yomo, Yasuhisa Takizawa
2025 conf
SIGGRAPH Posters
Haruki Kato, Naoki Hashimoto
2025 conf
SIGGRAPH Posters
Naoki Hashimoto, Yuki Inada
2025 C conf
CoG
Naoki Hashimoto, Soramichi Akiyama
2025 conf
SIGGRAPH Asia Posters
Hironobu Sakai, Naoki Hashimoto
2025 conf
SIGGRAPH Asia Posters
Naoki Hashimoto, Shota Yamagishi
2025 conf
SIGGRAPH Posters
Tomohiro Kamide, Naoki Hashimoto
2025 conf
SII
Ryuya Shuto, Pin-Chu Yang, Naoki Hashimoto, Mohammed Al-Sada, Tetsuya Ogata
2025 conf
SIGGRAPH Asia Posters
Kosei Tomioka, Naoki Hashimoto, Mie Sato
2025 conf
SIGGRAPH Asia Posters
Tsukasa Ebisawa, Naoki Hashimoto
2025 conf
SIGGRAPH Posters
Mie Sato, Kazuki Takeyama, Naoki Hashimoto
2025 conf
SIGGRAPH Asia Posters
Sakurako Uchiyama, Naoki Hashimoto, Mie Sato
2024 C conf
IV
Naoki Hashimoto, Ryosuke Saga
2024 conf
SIGGRAPH Asia Posters
Mari Shiina, Naoki Hashimoto
2024 conf
CogInfoCom
Kosei Tomioka, Naoki Hashimoto, Mie Sato
2023 conf
SIGGRAPH ASIA Posters
Naoki Hashimoto, Yuki Inada
2022 conf
VR Workshops
Yuta Halvorson, Takumi Saito, Naoki Hashimoto
2022 A conf
IROS
Naoki Hashimoto, Zhenzhi Ying, Koki Nakashima, Liming Shu, Naohiko Sugita
2022 conf
SIGGRAPH Posters
Mari Shiina, Naoki Hashimoto
2021 conf
SIGGRAPH Posters
Kazuma Yoshimura, Naoki Hashimoto
2021 conf
VR Workshops
Masumi Kiyokawa, Naoki Hashimoto
2021 conf
SIGGRAPH Posters
Taichi Watanabe, Naoki Hashimoto
2021 J jnl
Vis. Comput.
Naoki Hashimoto, Kazuma Yoshimura
2020 J jnl
Int. J. Inf. Sec.
Seiichi Ozawa, Tao Ban, Naoki Hashimoto, Junji Nakazato, Jumpei Shimamura
2020 B conf
VRST
Yuzuki Okubo, Naoki Hashimoto, Mie Sato
2020 conf
SIGGRAPH Posters
Naoki Hashimoto, Kota Murofushi
2019 J jnl
Frontiers Robotics AI
Naoki Hashimoto, Hiroki Shigemune, Ayato Minaminosono, Shingo Maeda, Hideyuki Sawada
2019 conf
SIGGRAPH Asia Posters
Masumi Kiyokawa, Shinichi Okuda, Naoki Hashimoto
2018 conf
INNS Conference on Big Data
Naoki Hashimoto, Seiichi Ozawa, Tao Ban, Junji Nakazato, Jumpei Shimamura
2018 conf
SIGGRAPH Posters
Naoki Hashimoto, Kyosuke Hamamoto
2018 C conf
CW
Mie Sato, Zentaro Kimura, Yuki Tanaka, Natsumi Motoura, Naoki Hashimoto, Arie E. Kaufman
2018 conf
SIGGRAPH ASIA Emerging Technologies
Yuki Morikubo, Eugene San Lorenzo, Daiki Miyazaki, Naoki Hashimoto
2018 J jnl
JSIAM Lett.
Naoki Hashimoto, Qi Wu, Limei Zhu, Koji Inui, Kazuo Kishimoto
2017 conf
SIGGRAPH Posters
Naoki Hashimoto, Koki Kosaka
2017 J jnl
Int. J. Comput. Games Technol.
Naoki Hashimoto, Ryo Koizumi, Daisuke Kobayashi
2017 A* conf
SIGGRAPH ASIA (Posters)
Yuki Morikubo, Naoki Hashimoto
2017 conf
SIGGRAPH Posters
Yuka Nakamura, Naoki Hashimoto
2016 conf
SIGGRAPH Posters
Naoki Hashimoto, Daisuke Kobayashi
2016 conf
SIGGRAPH Asia Posters
Naoki Hashimoto, Takamitsu Goto
2015 C conf
CW
Ryo Koizumi, Daisuke Kobayashi, Naoki Hashimoto
2015 C conf
CW
Ryotaro Takaoka, Naoki Hashimoto
2015 conf
AIM
Yasuharu Kunii, Naoki Hashimoto, Shunya Oishi
2015 conf
SIGGRAPH Posters
Naoki Hashimoto, Koki Kosaka
2014 C conf
IECON
Yasuharu Kunii, Naoki Hashimoto, Noriaki Mizukami
2014 conf
SIGGRAPH Posters
Naoki Hashimoto, Akane Tashiro, Hisanori Saito, Satoshi Ogawa
2014 conf
SIGGRAPH Posters
Daisuke Kobayashi, Naoki Hashimoto
2013 conf
SIGGRAPH Posters
Michimi Inoue, Mie Sato, Miyoshi Ayama, Naoki Hashimoto
2013 conf
SIGGRAPH ASIA Posters
Shohei Sakamaki, Naoki Hashimoto
2012 conf
VRCAI
Koichiro Suzuki, Naoki Hashimoto
2010 conf
SIGGRAPH Talks
Naoki Hashimoto, Akio Watanabe
2009 conf
VRCAI
Naoki Hashimoto, Kenji Honda, Makoto Sato, Mie Sato
2009 conf
VRCAI
Kenji Honda, Naoki Hashimoto, Mie Sato, Makoto Sato
2009 conf
IUCS
Naoki Hashimoto, Yuki Ishiwata, Makoto Sato
2009 A* conf
VR
Seunghyun Woo, Takafumi Aoki, Hironori Mitake, Naoki Hashimoto, Makoto Sato
2008 conf
SIGGRAPH Posters
Naoki Hashimoto, Yuichiro Iio, Makoto Sato
2008 J jnl
J. Adv. Comput. Intell. Intell. Informatics
Woong Choi, Naoki Hashimoto, Ross Walker, Kozaburo Hachimura, Makoto Sato
2008 conf
SIGGRAPH ASIA Art Gallery & Emerging Technologies
Seunghyun Woo, Takafumi Aoki, Hironori Mitake, Naoki Hashimoto, Makoto Sato
2008 conf
SIGGRAPH Posters
Seunghyun Woo, Takafumi Aoki, Hironori Mitake, Naoki Hashimoto, Makoto Sato
2008 J jnl
Inf. Media Technol.
Marc Salvati, Naoki Hashimoto, Makoto Sato
2007 conf
Shape Modeling International
Marc Salvati, Seung Zoo Jeong, Naoki Hashimoto, Makoto Sato
2007 J jnl
Syst. Comput. Jpn.
Naoki Hashimoto, Yoshihiko Ishida, Makoto Sato
2007 conf
SIGGRAPH Posters
Kenji Honda, Naoki Hashimoto, Makoto Sato
2007 conf
EGVE (Short Papers & Posters)
Kenji Honda, Naoki Hashimoto, Makoto Sato
2007 conf
SIGGRAPH Posters
Mie Sato, Makiko Sembon, Naoki Hashimoto, Masao Kasuga
2006 conf
Edutainment
Seung Zoo Jeong, Naoki Hashimoto, Makoto Sato
2006 J jnl
Comput. Entertain.
Shoichi Hasegawa, Ishikawa Toshiaki, Naoki Hashimoto, Marc Salvati, Hironori Mitake, Yasuharu Koike, Makoto Sato
2006 conf
SIGGRAPH Research Posters
Naoki Hashimoto, Mie Sato, Yu Takahashi, Masao Kasuga, Makoto Sato
2006 conf
SIGGRAPH Research Posters
Naoki Hashimoto, Seung Zoo Jeong, Makoto Sato
2005 conf
IPT/EGVE
Naoki Hashimoto, Yoshihiko Ishida, Makoto Sato
2005 conf
Advances in Computer Entertainment Technology
Shoichi Hasegawa, Ishikawa Toshiaki, Naoki Hashimoto
2005 conf
Advances in Computer Entertainment Technology
Shoichi Hasegawa, Ishikawa Toshiaki, Naoki Hashimoto
2005 J jnl
IEICE Trans. Inf. Syst.
Seung Zoo Jeong, Naoki Hashimoto, Makoto Sato
2005 C conf
CW
Jaeho Ryu, Naoki Hashimoto, Makoto Sato
2005 C conf
CW
Seung Zoo Jeong, Woong Choi, Naoki Hashimoto, Makoto Sato
2004 conf
FGR
Woong Choi, Seung Zoo Jeong, Naoki Hashimoto, Syouichi Hasegawa, Yasuharu Koike, Makoto Sato
2004 conf
Advances in Computer Entertainment Technology
Seung Zoo Jeong, Naoki Hashimoto, Makoto Sato
2004 conf
PCM (3)
Naoki Hashimoto, Jaeho Ryu, Seung Zoo Jeong, Makoto Sato
2004 C conf
CW
Naoki Hashimoto, Seung Zoo Jeong, Yasutoyo Takeyama, Makoto Sato
2004 conf
SIGGRAPH Computer Animation Festival
Naoki Hashimoto
2003 conf
HCI (4)
Makoto Sato, Jaeho Ryu, Hidenori Maruta, Katsuhito Akahane, Masaru Iwashita, Naoki Hashimoto, Shoichi Hasegawa
2002 conf
SIGGRAPH Abstracts and Applications
Laroussi Bouguila, Makoto Sato, Shoichi Hasegawa, Naoki Hashimoto, Naoki Matsumoto, Atsushi Toyama, Jelel Ezzine, Dalel Maghrebi
2001 C conf
ICANN
Yasuaki Kuroe, Naoki Hashimoto, Takehiro Mori
1999 B conf
IJCNN
Yasuaki Kuroe, Kenshu Koashi, Naoki Hashimoto, Takehiro Mori
tests/scripts/test_macho_extractors_local.py
← Index tests/scripts/test_macho_extractors_local.py python
#!/usr/bin/env python3
"""
Local MachO extractors test - test actual extractors without server connections
"""

import sys
import os
import logging
import hashlib
from datetime import datetime, timezone
from typing import Dict, Any, Optional
from unittest.mock import Mock, patch

# Add the redb directory to the path so we can import the extractors
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'redb'))

# Mock settings to avoid database connections
with patch.dict('os.environ', {'REDB_ENV': 'test'}):
    # Import the actual extractors
    from redb.extractors.macho_extractors.macho_features import MachOFeaturesExtractor
    from redb.extractors.macho_extractors.macho_segments import MachOSegmentExtractor
    from redb.extractors.macho_extractors.macho_imports import MachOImportExtractor
    from redb.extractors.macho_extractors.macho_exports import MachOExportExtractor
    from redb.extractors.macho_extractors.macho_dylibs import MachODylibExtractor
    from redb.extractors.macho_extractors.macho_signature import MachOSignatureExtractor
    from redb.extractors.macho_extractors.macho_universal import MachOUniversalExtractor

def setup_logging():
    """Setup basic logging configuration."""
    logging.basicConfig(
        level=logging.INFO,
        format='%(asctime)s - %(levelname)s - %(message)s'
    )
    return logging.getLogger(__name__)

class MockLogger:
    """Mock logger for testing without RedB dependencies."""
    def __init__(self):
        self.logger = logging.getLogger(__name__)
    
    def debug(self, msg):
        self.logger.debug(msg)
    
    def info(self, msg):
        self.logger.info(msg)
    
    def warning(self, msg):
        self.logger.warning(msg)
    
    def error(self, msg):
        self.logger.error(msg)

class MockExporter:
    """Mock exporter that does nothing."""
    def export(self, data):
        pass

def create_mock_extractor(extractor_class, filepath):
    """Create an extractor instance with mocked dependencies."""
    log = MockLogger()
    
    # Mock the exporters to avoid database connections
    mock_exporters = [MockExporter()]
    
    # Create the extractor with mocked dependencies
    extractor = extractor_class(
        filepath=filepath,
        log=log,
        exporters=mock_exporters,
        index_prefix="test",
        elastic_index="test_macho",
        known_benign=False,
        known_malicious=False
    )
    
    return extractor

def test_extractor(extractor_class, filepath, extractor_name):
    """Test a specific extractor."""
    log = setup_logging()
    log.info(f"Testing {extractor_name}...")
    
    try:
        # Create the extractor with mocked dependencies
        extractor = create_mock_extractor(extractor_class, filepath)
        
        if not extractor.macho:
            log.error(f"{extractor_name}: No MachO object created")
            return False

        # Test the actual extract method
        result = extractor.extract()
        
        if result:
            log.info(f"{extractor_name}: Successfully extracted data")
            print(f"\n{'='*60}")
            print(f"=== {extractor_name.upper()} RESULTS ===")
            print(f"{'='*60}")
            
            if isinstance(result, list):
                print(f"📊 Extracted {len(result)} items")
                print()
                for i, item in enumerate(result):
                    print(f"📦 Item {i+1}:")
                    print(f"   {'─'*40}")
                    # Handle dataclass objects in lists
                    if hasattr(item, '__dataclass_fields__'):
                        from dataclasses import asdict
                        item_dict = asdict(item)
                        for key, value in item_dict.items():
                            if isinstance(value, (list, dict)):
                                if isinstance(value, list):
                                    print(f"   🔹 {key}: List with {len(value)} items")
                                    print(f"      {value}")
                                elif isinstance(value, dict):
                                    print(f"   🔹 {key}: Dict with {len(value)} keys")
                                    for k, v in value.items():
                                        print(f"      {k}: {v}")
                            else:
                                print(f"   🔹 {key}: {value}")
                    else:
                        # Regular dict
                        for key, value in item.items():
                            if isinstance(value, (list, dict)):
                                if isinstance(value, list):
                                    print(f"   🔹 {key}: List with {len(value)} items")
                                    print(f"      {value}")
                                elif isinstance(value, dict):
                                    print(f"   🔹 {key}: Dict with {len(value)} keys")
                                    for k, v in value.items():
                                        print(f"      {k}: {v}")
                            else:
                                print(f"   🔹 {key}: {value}")
                    print()
            else:
                print("📊 Extracted data:")
                print()
                # Handle dataclass objects
                if hasattr(result, '__dataclass_fields__'):
                    # It's a dataclass, use dataclasses.asdict
                    from dataclasses import asdict
                    result_dict = asdict(result)
                    for key, value in result_dict.items():
                        if isinstance(value, (list, dict)):
                            if isinstance(value, list):
                                print(f"🔹 {key}: List with {len(value)} items")
                                print(f"   {value}")
                            elif isinstance(value, dict):
                                print(f"🔹 {key}: Dict with {len(value)} keys")
                                for k, v in value.items():
                                    print(f"   {k}: {v}")
                        else:
                            print(f"🔹 {key}: {value}")
                        print()
                else:
                    # It's a regular dict
                    for key, value in result.items():
                        if isinstance(value, (list, dict)):
                            if isinstance(value, list):
                                print(f"🔹 {key}: List with {len(value)} items")
                                print(f"   {value}")
                            elif isinstance(value, dict):
                                print(f"🔹 {key}: Dict with {len(value)} keys")
                                for k, v in value.items():
                                    print(f"   {k}: {v}")
                        else:
                            print(f"🔹 {key}: {value}")
                        print()
        else:
            log.warning(f"{extractor_name}: No data extracted")
            print(f"\n❌ {extractor_name}: No data extracted")
        
        return True
        
    except Exception as e:
        log.error(f"{extractor_name}: Error during extraction: {e}")
        import traceback
        traceback.print_exc()
        return False

def main():
    """Main function."""
    if len(sys.argv) < 2:
        print("Usage: python test_macho_extractors_local.py <macho_file> [extractor_name]")
        print("\nAvailable extractors:")
        print("  features    - Basic MachO header and metadata")
        print("  segments    - Segment information and analysis")
        print("  imports     - Imported functions and libraries")
        print("  exports     - Exported symbols")
        print("  dylibs      - Dynamic library dependencies")
        print("  signature   - Code signing information")
        print("  universal   - FAT/Universal binary information")
        print("  all         - Test all extractors")
        sys.exit(1)
    
    filepath = sys.argv[1]
    extractor_name = sys.argv[2] if len(sys.argv) > 2 else "all"
    
    if not os.path.exists(filepath):
        print(f"File not found: {filepath}")
        sys.exit(1)
    
    # Define extractors
    extractors = {
        'features': (MachOFeaturesExtractor, "MachO Features"),
        'segments': (MachOSegmentExtractor, "MachO Segments"),
        'imports': (MachOImportExtractor, "MachO Imports"),
        'exports': (MachOExportExtractor, "MachO Exports"),
        'dylibs': (MachODylibExtractor, "MachO Dylibs"),
        'signature': (MachOSignatureExtractor, "MachO Code Signature"),
        'universal': (MachOUniversalExtractor, "MachO Universal/FAT"),
    }
    
    if extractor_name == "all":
        print(f"Testing all extractors with file: {filepath}")
        success_count = 0
        for name, (extractor_class, display_name) in extractors.items():
            if test_extractor(extractor_class, filepath, display_name):
                success_count += 1
            print("-" * 50)
        
        print(f"\n✅ {success_count}/{len(extractors)} extractors completed successfully")
        
    elif extractor_name in extractors:
        extractor_class, display_name = extractors[extractor_name]
        success = test_extractor(extractor_class, filepath, display_name)
        
        if success:
            print(f"\n✅ {display_name} testing completed successfully")
        else:
            print(f"\n❌ {display_name} testing failed")
            sys.exit(1)
    else:
        print(f"Unknown extractor: {extractor_name}")
        print("Available extractors:", ", ".join(extractors.keys()) + ", all")
        sys.exit(1)

if __name__ == "__main__":
    main()