Xiaoguang Zhang

53 papers C 1Journal 36Unranked 16
YearRankTypeTitle / Venue / Authors
2026 J jnl
J. Frankl. Inst.
Zhou Yang, Xiaoguang Zhang, Haitao Liu
2026 J jnl
Adv. Eng. Informatics
Zhirong Zhong, Xiaoguang Zhang, Xuanhao Hua, Zhi Zhai, Meng Ma, Jinxin Liu
2026 J jnl
IEEE Trans. Veh. Technol.
Shihe Xu, Zahir Abbas, Xiaoguang Zhang, Xinming Zhang
2026 J jnl
Adv. Eng. Informatics
Chuang Liang, Xuelin Mu, Ende Wang, Xiaoguang Zhang, Chengcheng Wang, Yubo Shao
2025 J jnl
Neurocomputing
Zhou Yang, Xiaoguang Zhang, Haitao Liu
2025 conf
ECOC
Peiyun Ge, Yichao Wang, Tianrun Sun, Jiarun Zhao, Zili Fang, Lixia Xi, Hengying Xu, Chenglin Bai, Xiaoguang Zhang
2025 J jnl
Eng. Appl. Artif. Intell.
Haiyu Guo, Xingzheng Guo, Xiaoguang Zhang, Fanfan Lu, Chuang Liang
2025 J jnl
Comput. Commun.
Xiongjie Zhou, Xin Guan, Di Sun, Xiaoguang Zhang, Zhaogong Zhang, Tomoaki Ohtsuki
2025 J jnl
Future Internet
Xiaoyong Song, Danyuan Zhou, Kai Li, Jiayuan Chen, Hao Zhang, Xiaoguang Zhang, Xuxia Zhong
2025 conf
OFC
Chaoya Shan, Hu Zhang, Jiaqi Wang, Nan Cui, Lixia Xi, Xiaoguang Zhang
2024 J jnl
IEEE Trans. Instrum. Meas.
Jin Chen, Xiaoguang Zhang, Zhenyi Chen, Yanyang Zi, Yang Chen, Zhen Shi
2024 J jnl
Multim. Tools Appl.
Xiao Yun, Jiawang Chen, Xiaoguang Zhang, Kaiwen Dong, Song Li, Yanjing Sun
2024 J jnl
Comput. Biol. Medicine
Yan Fu, Chengzhao Wang, Zhimin Wu, Xiaoguang Zhang, Yan Liu, Xu Wang, Fangfang Liu, Yujuan Chen, Yang Zhang, Huanhuan Zhao, Qiao Wang
2024 J jnl
Ecol. Informatics
Mengqi Duan, Xiangyun Song, Zengqiang Li, Xiaoguang Zhang, Xiaodong Ding, Dejie Cui
2024 J jnl
Symmetry
Xing Liu, Yan Li, Miao Gu, Hailong Zhang, Xiaoguang Zhang, Junzhu Wang, Xindong Lv, Hongxia Deng
2023 conf
OFC
Linan Shan, Xiaoguang Zhang, Peng Sun, Guanghao Yao, Wanxin Zhao, Lixia Xi, Xiaosheng Xiao
2023 conf
ICCCS
Xiaoguang Zhang, Defu Liang, Yuheng Zhang, Zhenqian Liu
2023 J jnl
Sensors
Xiaoguang Zhang, Xuanhao Hua, Junjie Zhu, Meng Ma
2022 J jnl
Neurocomputing
Xuan Xia, Xizhou Pan, Nan Li, Xing He, Lin Ma, Xiaoguang Zhang, Ning Ding
2022 J jnl
Comput. Electron. Agric.
Mengqi Duan, Xiangyun Song, Xinwei Liu, Dejie Cui, Xiaoguang Zhang
2022 conf
CSAI
Defu Liang, Xiaoguang Zhang, Yuheng Zhang, Qing Liu
2021 J jnl
Comput. Appl. Math.
Xiaoguang Zhang, Hong Du
2021 J jnl
Complex.
Cheng Che, Yi Chen, Xiaoguang Zhang, Zhihong Zhang
2021 J jnl
Complex.
Cheng Che, Zhihong Zhang, Xiaoguang Zhang, Yi Chen
2021 J jnl
Comput. Electron. Agric.
Mengqi Duan, Xiaoguang Zhang
2020 conf
RCAR
Xiaoguang Zhang, Nan Li, Luzhen Ge, Xuan Xia, Ning Ding
2020 conf
IEEE BigData
Xiaoguang Zhang, Xuan Xia, Nan Li, Ma Lin, Junlin Song, Ning Ding
2020 J jnl
Comput. Phys. Commun.
Jie Gu, Jia Chen, Yang Wang, Xiaoguang Zhang
2019 J jnl
Int. J. Bifurc. Chaos
Xiaoguang Zhang, Zhen Jin, Pei Yu
2019 J jnl
IEEE Access
Ruirui Chen, Yanjing Sun, Yan Chen, Xiaoguang Zhang, Song Li, Zhi Sun
2019 J jnl
IEEE Access
Nan Li, Xiaoguang Zhang, Chunlong Zhang, Huiwen Guo, Zhe Sun, Xinyu Wu
2019 conf
ROBIO
Nan Li, Xiaoguang Zhang, Chunlong Zhang, Luzhen Ge, Yong He, Xinyu Wu
2018 J jnl
KSII Trans. Internet Inf. Syst.
Yanjing Sun, Shu Zhou, Qi Cao, Yanfen Wang, Wen Liu, Xiaoguang Zhang
2017 J jnl
KSII Trans. Internet Inf. Syst.
Haiwei Zuo, Yanjing Sun, Song Li, Qiang Ni, Xiaolin Wang, Xiaoguang Zhang
2017 J jnl
Appl. Math. Comput.
Jinna Lu, Lu Wang, Yi-Ling Wang, Xiaoguang Zhang
2017 conf
SINC
Weiyi Chen, Pingke Deng, Xiaoguang Zhang, Yi Qu, Yinkui Gong, Hongxia Wang
2016 J jnl
Int. J. Online Eng.
Xiaoguang Zhang, Yijie Zhao, Wei Zhao
2016 J jnl
Int. J. Online Eng.
Xiaoguang Zhang, Yijie Zhao, Wei Zhao, Weiwei Xu, Wen-chao Ji
2016 conf
URAI
Xiaoguang Zhang, Yi Zeng, Dennis W. Hong
2016 J jnl
CoRR
Xiaoguang Zhang, You-Qi Nie, Hongyi Zhou, Hao Liang, Xiongfeng Ma, Jun Zhang, Jian-Wei Pan
2016 C conf
SACMAT
Jianwei Niu, Yier Jin, Adam J. Lee, Ravi S. Sandhu, Wenyuan Xu, Xiaoguang Zhang
2015 J jnl
J. Commun. Networks
Shiyin Li, Shuyan Xiao, Maomao Zhang, Xiaoguang Zhang
2013 J jnl
CoRR
Yu-Xiao Zhu, Xiaoguang Zhang, Gui-Quan Sun, Ming Tang, Tao Zhou, Zi-Ke Zhang
2013 conf
AIM
Dongping Lu, Erbao Dong, Chunshan Liu, Zhirong Wang, Xiaoguang Zhang, Min Xu, Jie Yang
2013 J jnl
J. Multim.
Yue Chen, Xiaoguang Zhang, Jinying Zhang
2013 J jnl
J. Medical Syst.
Jing-song Li, Xiaoguang Zhang, Hua-Qiong Wang, Yu Wang, Jing-Ming Wang, Qing-Dong Shao
2012 J jnl
J. Medical Syst.
Jing-song Li, Xiaoguang Zhang, Jian Chu, Muneou Suzuki, Kenji Araki
2012 conf
BMEI
Long Guo, Xiaoguang Zhang, Yu Wang, Pengfei Li, Jing-song Li
2012 J jnl
J. Medical Syst.
Hai-Yan Yu, Jing-song Li, Xiaoguang Zhang, Yu Tian, Muneou Suzuki, Kenji Araki
2011 conf
ICDIP
Mingqin Liu, Xiaoguang Zhang
2011 conf
WPMC
Xiaoguang Zhang, Yonghua Li, Jiaru Lin, Jinhong Di, Rui Han
2011 conf
VTC Fall
Xiaoguang Zhang, Yonghua Li, Jiaru Lin, Li Guo, Zhiqiang He
2008 conf
ICNSC
Xiaoguang Zhang
docs/CODE_ANALYSIS_APPROACH.md
← Index docs/CODE_ANALYSIS_APPROACH.md markdown
# Code Analysis Approach

This document explains the code analysis methodologies used in the REDB malware analysis framework.

## Disassembly Normalization

The framework implements a sophisticated three-level normalization strategy for disassembled code that provides different levels of abstraction for similarity detection and feature extraction.

### Overall Normalization Strategy

The framework implements a **hierarchical abstraction approach** where each instruction is normalized at three different levels simultaneously:

1. **Level 0 (fully_normalized)**: Maximum abstraction - reduces operands to broad categories
2. **Level 1 (api_normalized)**: Medium abstraction - preserves semantic meaning while normalizing details  
3. **Level 2 (category_normalized)**: Minimum abstraction - maintains architectural specificity

This multi-level approach allows analysts to perform similarity analysis at different granularities depending on their specific detection goals.

### Implementation Architecture

The normalization process follows this workflow:

1. **Token Parsing**: Each instruction is parsed from Binary Ninja's instruction tokens to extract the mnemonic and operands
2. **Multi-Level Processing**: Each operand is processed through all three normalization functions
3. **Instruction Reconstruction**: Normalized instructions are rebuilt with the mnemonic plus normalized operands
4. **Control Flow Tagging**: Control flow instructions get a `<TARGET>` suffix for easier pattern matching

### Level 0: Fully Normalized (Maximum Abstraction)

**Purpose**: Creates the most abstract representation for broad pattern detection across different malware families.

**Transformations**:
- **Registers**: All registers normalized to semantic categories via `normalize_register()`:
  - General purpose registers (EAX, EBX, R8, etc.) → `GPR`
  - Stack/Base pointers (ESP, EBP, RSP) → `PTR` 
  - SIMD registers (XMM0, XMM1) → `XMM`
  - FPU registers (ST0, ST1) → `FPU`
- **Memory Operations**: All memory references → `MEM`
- **Constants**: All immediate values → `CONST`  
- **Data References**: All symbols/data references → `DATA_REF`

**Example**:
```
mov eax, [ebp+8]     → MOV GPR MEM
call CreateFileW     → CALL DATA_REF <TARGET>
add ecx, 0x10        → ADD GPR CONST
```

### Level 1: API Normalized (Medium Abstraction)

**Purpose**: Preserves semantic distinctions while normalizing architectural details. Focuses on behavioral patterns and API usage.

**Transformations**:
- **Registers**: Categorized by functional role:
  - Data registers → `GPR_DATA`
  - Index registers (ESI, EDI) → `GPR_INDEX`  
  - Stack registers (ESP, EBP) → `GPR_STACK`
  - SIMD registers → `XMM_REG`
- **Memory Operations**: Classified by access pattern:
  - Stack access → `MEM_STACK`
  - String operations → `MEM_STRING` 
  - General access → `MEM_GENERAL`
- **Constants**: Categorized by range:
  - Small constants (-16 to 16) → `CONST_{value}`
  - Large constants → `CONST_LARGE`
- **API Calls**: Resolved to specific API names:
  - `CreateFileW` → `API_CreateFileW`
  - Other symbols → `DATA_SYM`

**Example**:
```
mov eax, [ebp+8]     → MOV GPR_DATA MEM_STACK
call CreateFileW     → CALL API_CreateFileW <TARGET>
add ecx, 0x10        → ADD GPR_DATA CONST_LARGE
```

### Level 2: Category Normalized (Minimum Abstraction)

**Purpose**: Maintains architectural specificity while normalizing specific values. Best for detecting variants with similar implementation details.

**Transformations**:
- **Registers**: Architecture-specific categories:
  - 64-bit registers → `REG_64`, with special cases for `REG_64_SP`, `REG_64_BP`
  - 32-bit registers → `REG_32`
  - 16/8-bit registers → `REG_16_8`
- **Memory Operations**: Detailed addressing mode classification:
  - Complex addressing → `MEM_SCALED_INDEX`
  - Base + offset → `MEM_BASE_OFFSET`
  - Direct addressing → `MEM_DIRECT`
- **Constants**: Type-specific classification:
  - Hexadecimal → `CONST_HEX`
  - Decimal → `CONST_DEC`
- **API Calls**: Categorized by functional group:
  - File operations → `API_FILE_OP`
  - Memory operations → `API_MEMORY_OP`
  - Network operations → `API_NETWORK_OP`

**Example**:
```
mov eax, [ebp+8]     → MOV REG_32 MEM_BASE_OFFSET
call CreateFileW     → CALL API_FILE_OP <TARGET>
add ecx, 0x10        → ADD REG_32 CONST_HEX
```

### Key Features and Benefits

#### 1. Multi-Granularity Similarity Detection
- **Level 0**: Detects broad behavioral patterns across malware families
- **Level 1**: Identifies API usage patterns and semantic similarities
- **Level 2**: Finds variants with similar implementation approaches

#### 2. Robust Pattern Matching
- Control flow instructions tagged with `<TARGET>` for easier CFG analysis
- Handles edge cases with fallback mechanisms
- Consistent uppercase normalization prevents case sensitivity issues

#### 3. API-Aware Analysis
The framework includes sophisticated API recognition through the `ApiCategory` enum and resolution methods:
- **File Operations**: CreateFile, ReadFile, WriteFile, etc.
- **Memory Operations**: VirtualAlloc, HeapAlloc, VirtualProtect, etc.  
- **Registry Operations**: RegOpenKey, RegSetValue, etc.
- **Network Operations**: WSASocket, send, recv, etc.
- **Process Operations**: CreateProcess, OpenProcess, etc.

#### 4. Scalable Feature Extraction
Each level produces different hash values for the same function:
- `fully_normalized_disassembly_hash`
- `api_normalized_disassembly_hash`  
- `category_normalized_disassembly_hash`

This enables efficient similarity searches at different abstraction levels in the ClickHouse database.

### Practical Applications for Malware Analysis

#### Threat Hunting Scenarios:

1. **Family Detection** (Level 0): Find samples using similar algorithmic approaches regardless of specific implementation
2. **Variant Analysis** (Level 1): Identify samples with similar API usage patterns and behavioral semantics
3. **Code Reuse Detection** (Level 2): Discover samples sharing specific implementation techniques or code fragments

#### Similarity Metrics Integration:
- Each normalization level can be used with different fuzzy hashing algorithms (ssdeep, TLSH, etc.)
- Level 0 works well with structural similarity metrics
- Level 1 optimal for behavioral similarity analysis  
- Level 2 suitable for implementation-specific pattern matching

This three-tiered approach provides malware analysts with flexible tools for detecting similarities across the threat landscape while maintaining the precision needed for detailed variant analysis.



---

*More code analysis approaches will be documented in additional sections as they are implemented.*