Xiaohe Gu

49 papers C 17Journal 27Unranked 5
YearRankTypeTitle / Venue / Authors
2026 J jnl
Comput. Electron. Agric.
Zehua Fan, Cuiping Liu, Fengyuan Yu, Yongliang Lai, Qiang Wang, Zhiyong Zhang, Juanjuan Zhang, Jinpeng Cheng, Xinming Ma, Xiaohe Gu, Shuping Xiong
2025 J jnl
Int. J. Appl. Earth Obs. Geoinformation
Yanglin Cui, Chunjiang Zhao, Yuchun Pan, Kai Ma, Xiaojun Liu, Xiaohe Gu
2025 J jnl
Ecol. Informatics
Xingyu Liu, Yancang Wang, Xiaohe Gu, Mengjie Li, Wenxu Lv, Xuqing Li, Ruiyin Tang, Guangxin Chen, Baoyuan Zhang, Shuaifei Liu, Fajian Zong, Yongkun Ji, Xiaolong Yu, Tianen Chen
2025 J jnl
IEEE J. Sel. Top. Appl. Earth Obs. Remote. Sens.
Xuzhou Qu, Shuwen Jiang, Xiaohe Gu, Jingping Zhou, Yanan Tian, Xingyu Liu, Fajian Zong, Mengjie Li, Yalin Ji
2025 J jnl
IEEE Access
Guangxin Chen, Yancang Wang, Xiaohe Gu, Tianen Chen
2025 J jnl
Int. J. Appl. Earth Obs. Geoinformation
Mingzheng Zhang, Baoyuan Zhang, Chunjiang Zhao, Liping Chen, Yan Kuai, Cong Wang, Shuwen Jiang, Dong Chen, Qingzhen Zhu, Zhiyong Wang, Xiaohe Gu, Tian'en Chen
2024 J jnl
IEEE Trans. Geosci. Remote. Sens.
Mingzheng Zhang, Tian'en Chen, Xiaohe Gu, Jiuquan Zhang, Yan Kuai, Shuwen Jiang, Dong Chen, Qingzhen Zhu, Chunjiang Zhao
2024 J jnl
Comput. Electron. Agric.
Jingping Zhou, Xiaohe Gu, Cuiling Liu, Wenbiao Wu, Yuchun Pan, Qian Sun, Sen Zhang, Xuzhou Qu
2024 J jnl
Comput. Electron. Agric.
Baoyuan Zhang, Wenbiao Wu, Jingping Zhou, Menglei Dai, Qian Sun, Xuguang Sun, Zhen Chen, Xiaohe Gu
2024 C conf
IGARSS
Xiaohe Gu, Qian Sun, Jingping Zhou, Yuchun Pan
2024 J jnl
IEEE Trans. Geosci. Remote. Sens.
Yanglin Cui, Chunjiang Zhao, Xuzhou Qu, Kai Ma, Yuchun Pan, Gaoxiang Yang, Qian Sun, Xiaohe Gu
2024 J jnl
Int. J. Appl. Earth Obs. Geoinformation
Fu Xuan, Hui Liu, Jinghao Xue, Ying Li, Junming Liu, Xianda Huang, Zihao Tan, Mohamed A. M. Abd Elbasit, Xiaohe Gu, Wei Su
2023 J jnl
Comput. Electron. Agric.
Meiyan Shu, Jinyu Zhu, Xiaohong Yang, Xiaohe Gu, Baoguo Li, Yuntao Ma
2023 J jnl
Comput. Electron. Agric.
Xueqian Hu, Xiaohe Gu, Qian Sun, Yue Yang, Xuzhou Qu, Xin Yang, Rui Guo
2023 J jnl
Ecol. Informatics
Qian Sun, Liping Chen, Xiaohe Gu, Sen Zhang, Menglei Dai, Jingping Zhou, Limin Gu, Wenchao Zhen
2023 J jnl
Comput. Electron. Agric.
Xuzhou Qu, Jingping Zhou, Xiaohe Gu, Yancang Wang, Qian Sun, Yuchun Pan
2023 J jnl
Comput. Electron. Agric.
Mingzheng Zhang, Tian'en Chen, Xiaohe Gu, Yan Kuai, Cong Wang, Dong Chen, Chunjiang Zhao
2022 J jnl
Comput. Electron. Agric.
Qian Sun, Liping Chen, Xiaobin Xu, Xiaohe Gu, Xueqian Hu, Fentuan Yang, Yuchun Pan
2022 J jnl
IEEE J. Sel. Top. Appl. Earth Obs. Remote. Sens.
Xuzhou Qu, Dong Shi, Xiaohe Gu, Qian Sun, Xueqian Hu, Xin Yang, Yuchun Pan
2022 J jnl
Comput. Electron. Agric.
Qian Sun, Xiaohe Gu, Liping Chen, Xiaobin Xu, Zhonghui Wei, Yuchun Pan, Yunbing Gao
2022 J jnl
IEEE Access
Sen Zhang, Hebing Zhang, Xiaohe Gu, Jinbao Liu, Ziyan Yin, Qian Sun, Zhonghui Wei, Yuchun Pan
2021 J jnl
Remote. Sens.
Zhonghui Wei, Xiaohe Gu, Qian Sun, Xueqian Hu, Yunbing Gao
2021 J jnl
Remote. Sens.
Xueqian Hu, Lin Sun, Xiaohe Gu, Qian Sun, Zhonghui Wei, Yuchun Pan, Liping Chen
2020 J jnl
Remote. Sens.
Xiaobin Xu, Cong Teng, Yu Zhao, Ying Du, Chunqi Zhao, Guijun Yang, Xiuliang Jin, Xiaoyu Song, Xiaohe Gu, Raffaele Casa, Liping Chen, Zhenhai Li
2019 J jnl
Comput. Electron. Agric.
Xiaohe Gu, Yancang Wang, Qian Sun, Guijun Yang, Chao Zhang
2019 C conf
IGARSS
Xiaohe Gu, Qian Sun, Guijun Yang, Xiaoyu Song, Xingang Xu
2019 C conf
IGARSS
Xiaohe Gu, Meiyan Shu, Guijun Yang, Xiaoyu Song, Xingang Xu
2018 conf
Agro-Geoinformatics
Xiaoyu Song, Xiaohe Gu, Guijun Yang, Luo Chen, Qianqiu Ma, Zhenghai Li
2018 C conf
IGARSS
Shuang Zhu, Jinshui Zhang, Xiaohe Gu, Junwen Yang, Baolin Xian
2018 conf
Agro-Geoinformatics
Xiaohe Gu, Meiyan Shu, Guijun Yang, Xingang Xu, Xiaoyu Song
2018 C conf
IGARSS
Yaming Duan, Jinshui Zhang, Guanyuan Shuai, Shuang Zhu, Xiaohe Gu
2017 J jnl
IEEE Trans. Geosci. Remote. Sens.
Chunjiang Zhao, Heli Li, Pingheng Li, Guijun Yang, Xiaohe Gu, Yubin Lan
2016 C conf
IGARSS
Hao Yang, Lei Xie, Erxue Chen, Hong Zhang, Guijun Yang, Zhenhong Li, Xiaohe Gu
2016 C conf
IGARSS
Xiaohe Gu, Lei Wang, Lizhi Wang, Youbo Fan, Hao Yang, Huiling Long
2014 C conf
IGARSS
Xiaoyu Song, Xiaohe Gu, Jihua Wang, Hong Chang
2014 C conf
IGARSS
Huiling Long, Xiaohe Gu, Weiguo Li, Yancang Wang, Qingyun Xu
2013 C conf
IGARSS
Jinling Zhao, Lin Yuan, Linsheng Huang, Dongyan Zhang, Jingcheng Zhang, Xiaohe Gu
2013 C conf
IGARSS
Xiaohe Gu, Jingcheng Zhang, Guijun Yang, Xiaoyu Song, Jinling Zhao, Bei Cui
2012 C conf
IGARSS
Yansheng Dong, Hongping Chen, Xiaohe Gu, Jihua Wang, Bei Cui
2012 C conf
IGARSS
Xiaohe Gu, Yansheng Dong, Li Ma, Yingying Dong
2012 J jnl
Intell. Autom. Soft Comput.
Huifang Wang, Xiaohe Gu, Jihua Wang, Yingying Dong
2012 conf
CCTA (2)
Xiaohe Gu, Jingcheng Zhang, Peng Xu, Yingying Dong, Yansheng Dong
2011 J jnl
Math. Comput. Model.
Jingcheng Zhang, Jihua Wang, Xiaohe Gu, Juhua Luo, Wenjiang Huang, Kun Wang
2011 conf
CCTA (2)
Xiaohe Gu, Yuchun Pan, Xin He, Jihua Wang
2010 conf
CCTA (1)
Xingang Xu, Xiaohe Gu, Xiaoyu Song, Cunjun Li, Wenjiang Huang
2010 C conf
IGARSS
Xiaohe Gu, Jingcheng Zhang, Yaozhong Pan, Tangao Hu, Le Li, Chao Li
2006 C conf
IGARSS
Xiaohe Gu, Jinshui Zhang, Yaozhong Pan, Xiufang Zhu, Xinhua Pang
2005 C conf
IGARSS
Xiaohe Gu, Mingchuan Yang, Xiaoying Liu, Yaozhong Pan, Chunyang He
2005 C conf
IGARSS
Xiaohe Gu, Chunyang He, Mingchuan Yang, Yaozhong Pan, Xiaobing Li, Peijun Shi
docs/macho_extractors_README.md
← Index docs/macho_extractors_README.md markdown
# MachO Extractors for RedB

This document describes the MachO extractors implementation for the RedB binary analysis framework.

## Overview

The MachO extractors provide comprehensive analysis capabilities for Mach-O binaries (macOS, iOS, watchOS, tvOS executables) following the same pattern as the existing PE extractors. The implementation uses the `machofile` library located in the `docs/` folder.

## Architecture

### Main Components

1. **MachOExtractor** (`redb/extractors/macho_extractor.py`)
   - Abstract base class for all MachO extractors
   - Handles MachO file parsing and common functionality
   - Supports both single-architecture and Universal/FAT binaries

2. **Individual Extractors** (`redb/extractors/macho_extractors/`)
   - `macho_features.py` - Basic MachO header and metadata
   - `macho_segments.py` - Segment information and analysis
   - `macho_imports.py` - Imported functions and libraries
   - `macho_exports.py` - Exported symbols
   - `macho_dylibs.py` - Dynamic library dependencies
   - `macho_signature.py` - Code signing information

3. **Data Models** (`redb/models/dataclasses.py`)
   - MachO-specific dataclasses for structured data storage
   - Compatible with Elasticsearch and ClickHouse exporters

## Features

### Supported Binary Types
- Single-architecture Mach-O binaries (32-bit and 64-bit)
- Universal/FAT binaries with multiple architectures
- All major CPU architectures (x86, x86_64, ARM, ARM64)

### Extracted Information

#### MachO Features
- Header information (magic, CPU type, file type, flags)
- Architecture detection
- Entry point information
- UUID
- Version information
- Signing status
- Encryption status
- Counts (segments, dylibs, imports, exports)

#### Segments
- Segment names and properties
- Virtual addresses and sizes
- File offsets and sizes
- Protection flags
- Entropy calculation
- Segment hashes (MD5, SHA256)

#### Imports
- Imported function names
- Library dependencies
- Import counts and statistics

#### Exports
- Exported symbol names
- Export counts and statistics

#### Dynamic Libraries
- Dylib names and paths
- Version information
- Timestamps
- Load command types

#### Code Signing
- Signing status
- Certificate information
- Entitlements
- Code directory details

## Usage

### Basic Usage

```python
from redb.extractors.macho_extractors import MachOFeaturesExtractor

# Create extractor
extractor = MachOFeaturesExtractor(
    filepath="/path/to/macho/binary",
    log=logger
)

# Extract data
features = extractor.extract()

# Export to databases
extractor.export_data()
```

### Testing

Use the provided test script to verify functionality:

```bash
python test_macho_extractors.py /path/to/macho/binary
```

## Implementation Details

### Universal Binary Support

The extractors handle Universal/FAT binaries by:
1. Detecting FAT binary format
2. Extracting individual architectures
3. Providing unified interface for both single and multi-arch binaries
4. Supporting architecture-specific extraction

### Error Handling

- Graceful handling of malformed binaries
- Comprehensive logging for debugging
- Fallback mechanisms for missing data
- Exception handling for corrupted files

### Performance Considerations

- Lazy parsing of MachO structures
- Efficient memory usage for large binaries
- Cached property access for repeated queries
- Optimized data extraction patterns

## Integration

### Database Exporters

The extractors support both Elasticsearch and ClickHouse exporters:

- **Elasticsearch**: JSON document storage with full-text search
- **ClickHouse**: Columnar storage for analytical queries

### Schema Compatibility

All extractors follow the established schema patterns:
- Consistent field naming
- Proper data types
- Timestamp handling
- Hash field inclusion

## Future Enhancements

Potential areas for improvement:

1. **Additional Extractors**
   - MachO resources extraction
   - Symbol table analysis
   - Relocation information
   - Thread state analysis

2. **Enhanced Analysis**
   - Malware detection patterns
   - Behavioral analysis
   - Similarity hashing
   - YARA rule integration

3. **Performance Optimizations**
   - Parallel processing for multi-arch binaries
   - Streaming data processing
   - Memory-mapped file access

## Dependencies

- `machofile` library (included in `docs/`)
- Standard Python libraries (hashlib, datetime, etc.)
- RedB framework components

## Contributing

When adding new MachO extractors:

1. Follow the established pattern in existing extractors
2. Add appropriate dataclasses to `dataclasses.py`
3. Update the enum tags in `enum.py`
4. Include comprehensive error handling
5. Add tests for new functionality
6. Update this documentation

## Troubleshooting

### Common Issues

1. **Import Errors**: Ensure `machofile` library is accessible
2. **Memory Issues**: Large Universal binaries may require significant memory
3. **Corrupted Files**: Malformed MachO files may cause parsing errors
4. **Architecture Mismatch**: Some features may not be available for all architectures

### Debugging

Enable debug logging to see detailed extraction process:

```python
import logging
logging.basicConfig(level=logging.DEBUG)
```

## License

This implementation follows the same license as the main RedB project.