Hai Wan

170 papers A* 52A 8B 12C 4Misc 1Journal 66Unranked 27
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Trans. Cogn. Commun. Netw.
Junjie Chen, Suihua Cai, Hai Wan, Xiao Ma
2026 J jnl
CoRR
Dinghong Song, Zhiwei Xu, Hai Wan, Xibin Zhao, Pengfei Su, Dong Li
2026 A* conf
AAAI
Zhibin Ni, Chenghao Zhang, Hai Wan, Xibin Zhao
2026 J jnl
IEEE Trans. Dependable Secur. Comput.
Hao Xi, Hai Wan, Xibin Zhao, Mohsen Guizani
2026 A* conf
AAAI
Xiaoxiang Li, Xihe Xie, Hai Wan, Xibin Zhao
2026 A* conf
AAAI
Zhibin Ni, Hai Wan, Xibin Zhao
2026 J jnl
CoRR
Haoran Dang, Cuiling Lan, Hai Wan, Xibin Zhao, Yan Lu
2025 conf
WASA (2)
Junjie Chen, Hai Wan, Xiao Ma
2025 A conf
ICME
Xiaoxiang Li, Xinyu Jiang, Zining Wang, Chang Liu, Zhibin Ni, Hai Wan, Xibin Zhao
2025 J jnl
CoRR
Yihao Peng, Biao Ma, Hai Wan, Xibin Zhao
2025 J jnl
CoRR
Weilin Luo, Xueyi Liang, Haotian Deng, Yanan Liu, Hai Wan
2025 A* conf
USENIX Security Symposium
Yihao Peng, Tongxin Zhang, Jieshao Lai, Yuxuan Zhang, Yiming Wu, Hai Wan, Xibin Zhao
2025 J jnl
CoRR
Zhiwei Xu, Yujuan Wu, Shiheng Wang, Jiabao Gao, Tian Qiu, Ziqi Wang, Hai Wan, Xibin Zhao
2025 B conf
ICPADS
Hao Xi, Yibin Han, Xiaoxiang Li, Jingwei Song, Zhenwei Zhang, Hai Wan, Xibin Zhao
2025 A* conf
WWW
Zhibin Ni, Pan Fan, Shengzhuo Dai, Bo Zhang, Hai Wan, Xibin Zhao
2025 J jnl
Frontiers Comput. Sci.
Zhibin Ni, Chenghao Zhang, Hai Wan, Xibin Zhao
2025 J jnl
IEEE Trans. Ind. Informatics
Jiashuo Lin, Weichao Li, Xingbo Feng, Shuangping Zhan, Lewei Ning, Yi Wang, Tao Wang, Hai Wan, Bo Tang, Xiaofeng Tao
2025 J jnl
Inf. Sci.
Yanan Liu, Hai Wan, Jianfeng Du, Yao Wang, Kunxun Qi, Weilin Luo
2025 J jnl
Proc. ACM Softw. Eng.
Weilin Luo, Tingchen Han, Junming Qiu, Hai Wan, Jianfeng Du, Bo Peng, Guohui Xiao, Yanan Liu
2025 A conf
CIKM
Junming Qiu, Rongzhen Ye, Weilin Luo, Kunxun Qi, Hai Wan, Yue Yu
2025 A* conf
AAAI
Zhibin Ni, Chang Liu, Hai Wan, Xibin Zhao
2025 J jnl
IEEE Trans. Inf. Forensics Secur.
Xiaoxiang Li, Xinyu Jiang, Hai Wan, Xinbin Zhao
2024 B conf
WCNC
Junjie Chen, Qianfan Wang, Hai Wan, Xiao Ma
2024 J jnl
IEEE Trans. Knowl. Data Eng.
Qinliang Su, Bowen Tian, Hai Wan, Jian Yin
2024 conf
ICCNS
Zhaobao Yang, Lejia Yang, Huizhen Chen, Bianlong Wu, Hai Wan
2024 A conf
CIKM
Kunxun Qi, Jianfeng Du, Hai Wan
2024 A* conf
ICML
Wenxi Lv, Qinliang Su, Hai Wan, Hongteng Xu, Wenchao Xu
2024 A* conf
ICSE
Zhiwei Xu, Shaohua Qiang, Dinghong Song, Min Zhou, Hai Wan, Xibin Zhao, Ping Luo, Hongyu Zhang
2024 conf
DASFAA (2)
Jiayang Chen, Qinliang Su, Zetong Li, Hai Wan, Defu Lian
2024 A* conf
AAAI
Hai Wan, Pingjia Liang, Jianfeng Du, Weilin Luo, Rongzhen Ye, Bo Peng
2024 conf
ACL (1)
Kunxun Qi, Jianfeng Du, Hai Wan
2024 B conf
WCNC
Junjie Chen, Yinchu Wang, Qianfan Wang, Hai Wan, Xiao Ma
2024 conf
ECML/PKDD (6)
Fan Xu, Nan Wang, Hao Wu, Xuezhi Wen, Dalin Zhang, Siyang Lu, Binyong Li, Wei Gong, Hai Wan, Xibin Zhao
2024 J jnl
CoRR
Fan Xu, Nan Wang, Hao Wu, Xuezhi Wen, Dalin Zhang, Siyang Lu, Binyong Li, Wei Gong, Hai Wan, Xibin Zhao
2024 J jnl
J. Syst. Softw.
Weilin Luo, Polong Chen, Hai Wan, Hongzhen Zhong, Shaowei Cai, Zhanhao Xiao
2024 J jnl
IEEE Trans. Cogn. Commun. Netw.
Tingting Zhu, Bo Peng, Jifan Liang, Tingchen Han, Hai Wan, Jingqiao Fu, Junjie Chen
2024 conf
NIER@ICSE
Weilin Luo, Weiyuan Fang, Junming Qiu, Hai Wan, Yanan Liu, Rongzhen Ye
2024 J jnl
CoRR
Zhiyang Cheng, Zizhen Zhu, Haoran Dang, Hai Wan, Xibin Zhao
2024 A conf
ISSTA
Weilin Luo, Pingjia Liang, Junming Qiu, Polong Chen, Hai Wan, Jianfeng Du, Weiyuan Fang
2024 A* conf
IJCAI
Liangda Fang, Tong Zhu, Quanlong Guan, Junming Qiu, Zhao-Rong Lai, Weiqi Luo, Hai Wan
2024 A* conf
AAAI
Xingqiang Zhao, Hai Wan, Kunxun Qi
2024 A* conf
AAAI
Fan Xu, Nan Wang, Hao Wu, Xuezhi Wen, Xibin Zhao, Hai Wan
2024 J jnl
IEEE Trans. Inf. Forensics Secur.
Changhua Chen, Tingzhen Yan, Chenxuan Shi, Hao Xi, Zhirui Fan, Hai Wan, Xibin Zhao
2024 A* conf
ASE
Yuanlin Li, Zhiwei Xu, Min Zhou, Hai Wan, Xibin Zhao
2023 A* conf
AAAI
Rongzhen Ye, Tianqu Zhuang, Hai Wan, Jianfeng Du, Weilin Luo, Pingjia Liang
2023 J jnl
CoRR
Zonghui Li, Wenlin Zhu, Kang G. Shin, Hai Wan, Xiaoyu Song, Dong Yang, Bo Ai
2023 conf
ACM Great Lakes Symposium on VLSI
Yan Pi, Hongji Zou, Tun Li, WanXia Qu, Hai Wan
2023 J jnl
IEEE Trans. Knowl. Data Eng.
Zhe Wang, Peng Xiao, Kewen Wang, Zhiqiang Zhuang, Hai Wan
2023 J jnl
IEEE Trans. Image Process.
Jiaxuan Lu, Hai Wan, Peiyan Li, Xibin Zhao, Nan Ma, Yue Gao
2023 A* conf
IJCAI
Kebing Jin, Hankz Hankui Zhuo, Zhanhao Xiao, Hai Wan, Subbarao Kambhampati
2023 J jnl
CoRR
Tingting Zhu, Bo Peng, Jifan Liang, Tingchen Han, Hai Wan, Jingqiao Fu, Junjie Chen
2023 J jnl
Quantum Inf. Process.
Xingqiang Zhao, Hai Wan, Lv-Zhou Li
2023 A* conf
NeurIPS
Kunxun Qi, Jianfeng Du, Hai Wan
2023 A* conf
ASE
Bo Peng, Pingjia Liang, Tingchen Han, Weilin Luo, Jianfeng Du, Hai Wan, Rongzhen Ye, Yuhang Zheng
2023 J jnl
CoRR
Chao Yu, Xuejing Zheng, Hankz Hankui Zhuo, Hai Wan, Weilin Luo
2023 A* conf
ASE
Weilin Luo, Yuhang Zheng, Rongzhen Ye, Hai Wan, Jianfeng Du, Pingjia Liang, Polong Chen
2023 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Hai Wan, Xinwei Zhang, Yubo Zhang, Xibin Zhao, Shihui Ying, Yue Gao
2023 A* conf
SP
Ruihua Wang, Yihao Peng, Yilun Sun, Xuancheng Zhang, Hai Wan, Xibin Zhao
2023 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Zhuowei Wang, Xiaoyu Song, Lianglun Cheng, Hai Wan, Wuqing Zhao, Tao Wang
2022 J jnl
CoRR
Rongzhen Ye, Tianqu Zhuang, Hai Wan, Jianfeng Du, Weilin Luo, Pingjia Liang
2022 J jnl
Phys. Commun.
Xinyuanmeng Yao, Hai Wan, Xiao Ma
2022 J jnl
CoRR
Xingqiang Zhao, Hai Wan, Hao Chen, Li-Ling Su, Zi-Ling Huang, Lv-Zhou Li
2022 A* conf
AAAI
Weilin Luo, Pingjia Liang, Jianfeng Du, Hai Wan, Bo Peng, Delong Zhang
2022 A* conf
ASE
Weilin Luo, Hai Wan, Delong Zhang, Jianfeng Du, Hengdi Su
2022 conf
ACL (1)
Kunxun Qi, Hai Wan, Jianfeng Du, Haolan Chen
2022 J jnl
Artif. Intell.
Kebing Jin, Hankz Hankui Zhuo, Zhanhao Xiao, Hai Wan, Subbarao Kambhampati
2022 A* conf
NeurIPS
Xinwei Zhang, Jianwen Jiang, Yutong Feng, Zhi-Fan Wu, Xibin Zhao, Hai Wan, Mingqian Tang, Rong Jin, Yue Gao
2022 J jnl
CoRR
Xinwei Zhang, Jianwen Jiang, Yutong Feng, Zhi-Fan Wu, Xibin Zhao, Hai Wan, Mingqian Tang, Rong Jin, Yue Gao
2022 A* conf
AAAI
Weilin Luo, Rongzhen Ye, Hai Wan, Shaowei Cai, Biqing Fang, Delong Zhang
2022 J jnl
CoRR
Kebing Jin, Zhanhao Xiao, Hankz Hankui Zhuo, Hai Wan, Jiaran Cai
2022 A* conf
IJCAI
Weilin Luo, Hai Wan, Jianfeng Du, Xiaoda Li, Yuze Fu, Rongzhen Ye, Delong Zhang
2022 J jnl
Big Data Min. Anal.
Hang Zhao, Haicheng Chen, Leilai Li, Hai Wan
2021 B conf
GLOBECOM
Sukun Zhang, Hai Wan, Xibin Zhao
2021 conf
ACL/IJCNLP (1)
Hai Wan, Haicheng Chen, Jianfeng Du, Weilin Luo, Rongzhen Ye
2021 J jnl
Artif. Intell.
Hai Wan, Biqing Fang, Yongmei Liu
2021 A conf
ICCAD
Weilin Luo, Hai Wan, Hongzhen Zhong, Ou Wei, Biqing Fang, Xiaotong Song
2021 B conf
ICCCN
Chunmeng Zhong, Hongyu Jia, Hai Wan, Xibin Zhao
2021 conf
ACL/IJCNLP (Findings)
Hai Wan, Jinxia Lin, Jianfeng Du, Dawei Shen, Manrong Zhang
2021 A* conf
AAAI
Hai Wan, Manrong Zhang, Jianfeng Du, Ziling Huang, Yufei Yang, Jeff Z. Pan
2021 J jnl
IEEE Trans. Ind. Informatics
Zaiyu Pang, Xiao Huang, Zonghui Li, Sukun Zhang, Yanfen Xu, Hai Wan, Xibin Zhao
2021 J jnl
CoRR
Kebing Jin, Hankz Hankui Zhuo, Zhanhao Xiao, Hai Wan, Subbarao Kambhampati
2021 A* conf
ICSE
Weilin Luo, Hai Wan, Xiaotong Song, Binhao Yang, Hongzhen Zhong, Yin Chen
2021 J jnl
CoRR
Weilin Luo, Hai Wan, Xiaotong Song, Binhao Yang, Hongzhen Zhong, Yin Chen
2021 J jnl
Big Data Res.
Hai Wan, Jinrui Liang, Jianfeng Du, Yanan Liu, Jialing Ou, Baoyi Wang, Jeff Z. Pan, Juan Zeng
2021 J jnl
IEEE Trans. Reliab.
Weilin Luo, Ou Wei, Hai Wan
2021 J jnl
CoRR
Hongzhen Zhong, Hai Wan, Weilin Luo, Zhanhao Xiao, Jia Li, Biqing Fang
2021 conf
ISPA/BDCloud/SocialCom/SustainCom
Xiao Huang, Yu Jiang, Hao Fan, Huayun Tang, Yiping Wang, Jin Jin, Hai Wan, Xibin Zhao
2021 B conf
GLOBECOM
Hongyu Jia, Yu Jiang, Chunmeng Zhong, Hai Wan, Xibin Zhao
2021 A* conf
CVPR
Xuancheng Zhang, Yutong Feng, Siqi Li, Changqing Zou, Hai Wan, Xibin Zhao, Yandong Guo, Yue Gao
2021 J jnl
CoRR
Xuancheng Zhang, Yutong Feng, Siqi Li, Changqing Zou, Hai Wan, Xibin Zhao, Yandong Guo, Yue Gao
2020 J jnl
IEEE Trans. Ind. Electron.
Zonghui Li, Hai Wan, Yangdong Deng, Xibin Zhao, Yue Gao, Ming Gu, Xiaoyu Song
2020 J jnl
CCF Trans. Netw.
Zonghui Li, Hai Wan, Yangdong Deng, Ke Xiong, Xiaoyu Song
2020 J jnl
CCF Trans. Netw.
Wei Peng, Yi Wang, Tao Huang, Hai Wan, David Dai, Jianping Wang
2020 A* conf
AAAI
Yubo Zhang, Nan Wang, Yufeng Chen, Changqing Zou, Hai Wan, Xibin Zhao, Yue Gao
2020 A* conf
AAAI
Peilin Chen, Hai Wan, Shaowei Cai, Jia Li, Haicheng Chen
2020 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Zonghui Li, Hai Wan, Yangdong Deng, Xibin Zhao, Yue Gao, Xiaoyu Song, Ming Gu
2020 J jnl
IEEE Trans. Ind. Informatics
Qinghan Yu, Hai Wan, Xibin Zhao, Yue Gao, Ming Gu
2020 A* conf
IJCAI
Zhe Wang, Peng Xiao, Kewen Wang, Zhiqiang Zhuang, Hai Wan
2020 A* conf
AAAI
Hai Wan, Guohui Xiao, Chenglin Wang, Xianqiao Liu, Junhong Chen, Zhe Wang
2020 A* conf
AAAI
Zhanhao Xiao, Hai Wan, Hankz Hankui Zhuo, Andreas Herzig, Laurent Perrussel, Peilin Chen
2020 A* conf
IJCAI
Jian Sun, Hongyu Jia, Bo Hu, Xiao Huang, Hao Zhang, Hai Wan, Xibin Zhao
2020 C conf
APSEC
Hongzhen Zhong, Hai Wan, Weilin Luo, Zhanhao Xiao, Jia Li, Biqing Fang
2020 A* conf
AAAI
Hai Wan, Yufei Yang, Jianfeng Du, Yanan Liu, Kunxun Qi, Jeff Z. Pan
2020 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Zonghui Li, Hai Wan, Yangdong Deng, Xibin Zhao, Yue Gao, Xiaoyu Song, Ming Gu
2019 J jnl
IEEE Trans. Ind. Informatics
Ningchen Wang, Qinghan Yu, Hai Wan, Xiaoyu Song, Xibin Zhao
2019 J jnl
IEEE/ACM Trans. Netw.
Zonghui Li, Hai Wan, Zaiyu Pang, Qiubo Chen, Yangdong Deng, Xibin Zhao, Yue Gao, Xiaoyu Song, Ming Gu
2019 J jnl
CoRR
Weilin Luo, Hai Wan, Hongzhen Zhong, Ou Wei
2019 J jnl
CoRR
Peilin Chen, Hai Wan, Shaowei Cai, Weilin Luo, Jia Li
2019 conf
ICIT
Chunmeng Zhong, Haifeng Zhang, Yidong Yuan, Sukun Zhang, Hai Wan
2019 conf
NEAT@SIGCOMM
Zonghui Li, Hai Wan, Boxu Zhao, Yangdong Deng, Ming Gu
2019 A* conf
IJCAI
Wanshan Zheng, Zibin Zheng, Hai Wan, Chuan Chen
2019 conf
JIST
Hai Wan, Jialing Ou, Baoyi Wang, Jianfeng Du, Jeff Z. Pan, Juan Zeng
2019 J jnl
CoRR
Zhanhao Xiao, Hai Wan, Hankz Hankui Zhuo, Andreas Herzig, Laurent Perrussel, Peilin Chen
2019 J jnl
CoRR
Zhanhao Xiao, Hai Wan, Hankz Hankui Zhuo, Jinxia Lin, Yanan Liu
2019 J jnl
IEEE Trans. Ind. Electron.
Lifan Su, Hai Wan, Yufang Qin, Xibin Zhao, Yue Gao, Xiaoyu Song, Chenyang Lu, Ming Gu
2019 A conf
ICCAD
Liangda Fang, Biqing Fang, Hai Wan, Zeqi Zheng, Liang Chang, Quan Yu
2018 A* conf
IJCAI
Zhou Yin, Wei-Shi Zheng, Ancong Wu, Hong-Xing Yu, Hai Wan, Xiaowei Guo, Feiyue Huang, Jianhuang Lai
2018 conf
ICCBN
Shiqian Zhang, Zonghui Li, Ningchen Wang, Hai Wan, Xibin Zhao
2018 A* conf
AAAI
Liangda Fang, Hai Wan, Xianqiao Liu, Biqing Fang, Zhao-Rong Lai
2018 A* conf
AAAI
Xibin Zhao, Nan Wang, Heyuan Shi, Hai Wan, Jin Huang, Yue Gao
2018 conf
ICSE (Companion Volume)
Zonghui Li, Hai Wan, Yangdong Deng, Qinghan Yu, Tianchi Li, Kang Wei, Ming Gu
2018 J jnl
Comput. Networks
Heyuan Shi, Xibin Zhao, Hai Wan, Huihui Wang, Jian Dong, Kun Tang, Anfeng Liu
2018 A* conf
IJCAI
Hai Wan, Yonghao Luo, Bo Peng, Wei-Shi Zheng
2018 A conf
RTAS
Zonghui Li, Hai Wan, Yangdong Deng, Ming Gu
2017 A* conf
IJCAI
Xiao Huang, Biqing Fang, Hai Wan, Yongmei Liu
2017 conf
JIST
Jianfeng Du, Kunxun Qi, Hai Wan, Bo Peng, Shengbin Lu, Yuming Shen
2017 B conf
IWQoS
Qinghan Yu, Xibin Zhao, Hai Wan, Yue Gao, Chenyang Lu, Ming Gu
2017 A* conf
IJCAI
Zhanhao Xiao, Andreas Herzig, Laurent Perrussel, Hai Wan, Xiaoheng Su
2017 A* conf
AAAI
Jianfeng Du, Hai Wan, Huaguan Ma
2017 J jnl
J. Vis. Commun. Image Represent.
Ronglu Yang, Lifan Su, Xibin Zhao, Hai Wan, Jiaguang Sun
2017 A* conf
IJCAI
Lifan Su, Yue Gao, Xibin Zhao, Hai Wan, Ming Gu, Jiaguang Sun
2016 A* conf
IJCAI
Jianmin Ji, Hai Wan, Kewen Wang, Zhe Wang, Chuhan Zhang, Jiangtao Xu
2016 A conf
ECAI
Quan Yu, Hai Wan, Jiangtao Xu, Freddy Lécué, Liang Chang
2016 conf
JIST
Xiaoheng Su, Hai Wan, Ruibin Chen, Qi Liu, Wenxuan Zhang, Jianfeng Du
2016 A* conf
AAAI
Hai Wan, Heng Zhang, Peng Xiao, Haoran Huang, Yan Zhang
2016 J jnl
CoRR
Hai Wan, Heng Zhang, Peng Xiao, Haoran Huang, Yan Zhang
2015 A* conf
IJCAI
Hai Wan, Rui Yang, Liangda Fang, Yongmei Liu, Huada Xu
2015 A* conf
EMNLP
Huaping Zhong, Jianwen Zhang, Zhen Wang, Hai Wan, Zheng Chen
2015 A* conf
AAAI
Jianmin Ji, Hai Wan, Peng Xiao
2015 A* conf
IJCAI
Jianmin Ji, Hai Wan, Ziwei Huo, Zhenfeng Yuan
2015 A* conf
AAAI
Jianmin Ji, Hai Wan, Ziwei Huo, Zhenfeng Yuan
2014 A* conf
AAAI
Hai Wan, Zhanhao Xiao, Zhenfeng Yuan, Heng Zhang, Yan Zhang
2014 A* conf
AAAI
Jianmin Ji, Hai Wan, Peng Xiao, Ziwei Huo, Zhanhao Xiao
2014 J jnl
J. Appl. Math.
Hai Wan, Anping He, Zhiyang You, Xibin Zhao
2014 conf
CIVTS
Jin Huang, Lei Sun, Fangyu Du, Hai Wan, Xibin Zhao
2014 J jnl
J. Appl. Math.
Zhen Cheng, De-chen Zhan, Xibin Zhao, Hai Wan
2013 J jnl
J. Appl. Math.
Xibin Zhao, Zhiyang You, Hai Wan
2013 B conf
COMPSAC
Min Zhou, Hai Wan, Chen Su, Liangze Yin, Lianyi Zhang, Fei He, Ming Gu
2013 J jnl
Int. J. Ad Hoc Ubiquitous Comput.
Hai Wan, Yang Yu, Jian-Tian Zheng
2013 J jnl
Comput. Ind.
Min Zhou, Hai Wan, Rui Wang, Xiaoyu Song, Chen Su, Ming Gu, Jiaguang Sun
2013 B conf
ICECCS
Chen Su, Min Zhou, Liangze Yin, Hai Wan, Ming Gu
2012 J jnl
Int. J. Softw. Eng. Knowl. Eng.
Yunxiang Zheng, Tianxiang Zheng, Yanfen Zhang, Hai Wan
2012 B conf
PRICAI
Hai Wan, Yu Ma, Zhanhao Xiao, Yuping Shen
2011 J jnl
Math. Comput. Model.
Zhiyang You, Xibin Zhao, Hai Wan, William N. N. Hung, Yuke Wang, Ming Gu
2011 C conf
DASC
Hai Wan, Yang Yu, Jian-Tian Zheng
2011 J jnl
IET Softw.
Hai Wan, Gang Chen, Xiaoyu Song, Ming Gu
2011 C conf
DASC
Hai Wan, Yang Yu
2010 conf
QSIC
Hai Wan, Xiaoyu Song, Gang Chen, Ming Gu
2010 Misc conf
TASE
Hai Wan, Xiaoyu Song, Ming Gu
2010 B conf
JELIA
Yin Chen, Hai Wan, Yan Zhang, Yi Zhou
2009 B conf
ICECCS
Rui Wang, Ming Gu, Xiaoyu Song, Hai Wan
2009 J jnl
Math. Comput. Model.
Hai Wan, Ming Gu, Xiaoyu Song
2009 conf
COMPSAC (1)
Hai Wan, Gang Chen, Xiaoyu Song, Ming Gu
2007 C conf
CSCWD
Zhifang Li, Lei Li, Hao Cui, Hai Wan
2007 conf
ICIC (1)
Hankui Zhuo, Lei Li, Rui Bian, Hai Wan
2007 conf
COMPSAC (1)
Yunxiang Zheng, Lei Li, Hai Wan
2006 conf
SPW/ProSim
Hai Wan, Yunxiang Zheng, Yin Chen, Lei Li
2005 conf
APPT
Hai Wan, Lei Li
2005 conf
ICEBE
Hai Wan, Lei Li
2004 conf
GCC
Hai Wan, Xiao-Wei Hao, Tao Zhang, Lei Li
APK_FEATURES_PDD.md
← Index APK_FEATURES_PDD.md markdown
# APK Extractor — Product Design Document

**Author:** Engineering Team
**Date:** 2026-02-21
**Status:** Draft
**Target:** redb ingestor pipeline

---

## 1. Overview

This document describes the design for adding APK (Android Package) static analysis to the redb ingestor pipeline. The APK extractor will follow the same architecture used by the existing PE, ELF, and Mach-O extractors: a format-specific base class (`APKExtractor`) with specialized sub-extractors for each analysis dimension.

### 1.1 Goals

- Extract comprehensive static metadata from Android APK files, comparable in depth to our PE/ELF/Mach-O analysis
- Follow the established extractor architecture (base class, sub-extractors, dataclasses, dual-export to Elasticsearch and ClickHouse)
- Enable clustering, hunting, and pivoting on APK-specific fields (permissions, certificates, DEX API usage, package names)
- Integrate with the existing format-agnostic extractors (BasicProperties, Hashes, DIE, CAPA, YARA, Strings, IOC)

### 1.2 Non-Goals

- Dynamic analysis / sandbox execution (out of scope)
- Full DEX decompilation to Java/smali (out of scope; may be a future extension)
- Deep analysis of embedded native `.so` libraries (inventory only; full ELF pipeline deferred)
- Recursive ingestion of APKs embedded inside other APKs (flag only; full recursive ingestion deferred)

---

## 2. Background

### 2.1 What Is an APK

An APK is a ZIP archive containing an Android application. Its internal structure:

| Path | Contents |
|------|----------|
| `AndroidManifest.xml` | Binary Android XML — package name, permissions, components, SDK versions, intent filters |
| `classes.dex` (+ `classes2.dex`, ...) | Dalvik bytecode — compiled Java/Kotlin code |
| `resources.arsc` | Compiled resource table (strings, dimensions, styles) |
| `res/` | Layouts, drawables, raw resources |
| `lib/<abi>/` | Native shared libraries (`.so`) per CPU architecture |
| `META-INF/` | JAR signing (v1 scheme), CERT.RSA/DSA certificates |
| `assets/` | Arbitrary files bundled by the developer |

### 2.2 Current State

The ingestor already detects APK files via Magika (`ingestor.py:1668`), but the handler is a no-op — it logs `"APK file detected"` and returns without running any extractors. All infrastructure for registration, dispatch, and export is already in place.

### 2.3 Industry Reference

This design was informed by analysis of existing platforms:

- **VirusTotal** — Extracts: hashes (MD5, SHA-1, SHA-256, SSDEEP, TLSH, Permhash), Android metadata (package name, SDK versions, main activity), certificate attributes, permissions with danger flags, full component lists (activities, services, receivers, providers), intent filters, and capability indicators ("performs reflection calls", "makes use of telephony related APIs")
- **Koodous** (https://docs.koodous.com/) — Powered by Androguard for static analysis. Extracts: package name, app name, activities, services, receivers, providers, permissions, intent filters, certificate (SHA-1, issuer, subject), hardcoded URLs, SDK versions. Supports YARA rules with an Androguard module for matching on all these fields
- **APKiD** (https://github.com/rednaga/APKiD) — "PEiD for Android". Signature-based identification of compilers, packers, obfuscators, protectors, anti-VM/debug/root techniques. Uses YARA rules on DEX/APK/ELF. Available under GPL or commercial perpetual license (https://github.com/rednaga/APKiD/blob/master/LICENSE.COMMERCIAL)
- **APKDetect** (https://www.apkdetect.com/) — Malware family identification (30+ families), configuration extraction, loader recognition, shared code detection

---

## 3. Architecture

### 3.1 Existing Extractor Pattern

All extractors in redb follow this hierarchy:

```
Extractor (abstract base — redb/extractors/extractor.py)
├── PEExtractor (redb/extractors/pe_extractor.py)
│   ├── PEFeaturesExtractor
│   ├── PEImportExtractor
│   ├── PESectionExtractor
│   └── ...
├── ELFExtractor (redb/extractors/elf_extractor.py)
│   ├── ELFFeaturesExtractor
│   ├── ELFImportExtractor
│   └── ...
├── MachOExtractor (redb/extractors/macho_extractor.py)
│   ├── MachOFeaturesExtractor
│   ├── MachOImportExtractor
│   └── ...
└── [Format-agnostic extractors]
    ├── BasicPropertiesExtractor
    ├── HashExtractor
    ├── DIEExtractor
    ├── CAPAExtractor
    ├── YaraExtractor
    └── StringsExtractor
```

Each concrete extractor implements:
- `tag()` — returns a `Tag` enum value identifying the extraction category
- `extract()` — performs the analysis, returns a dataclass instance or `None`
- `prepare_export_data(exporter_type)` — formats data for Elasticsearch or ClickHouse
- `get_clickhouse_table()` — returns the target ClickHouse table name

The format-specific base class (e.g., `PEExtractor`) handles:
- Accepting a pre-parsed object (e.g., `pe=`) to avoid redundant parsing
- Providing shared helper methods used by multiple sub-extractors
- Passing `precomputed_hashes` to the parent `Extractor.__init__()` when available

The ingestor dispatches extractors by filetype detected via Magika, running format-agnostic extractors (BasicProperties, Hashes, DIE, CAPA, YARA) followed by the format-specific list.

### 3.2 APK Extractor Architecture

```
Extractor
└── APKExtractor (NEW — redb/extractors/apk_extractor.py)
    ├── APKFeaturesExtractor      (redb/extractors/apk_extractors/apk_features.py)
    ├── APKManifestExtractor      (redb/extractors/apk_extractors/apk_manifest.py)
    ├── APKPermissionsExtractor   (redb/extractors/apk_extractors/apk_permissions.py)
    ├── APKSignatureExtractor     (redb/extractors/apk_extractors/apk_signature.py)
    ├── APKDexExtractor           (redb/extractors/apk_extractors/apk_dex.py)
    ├── APKResourceExtractor      (redb/extractors/apk_extractors/apk_resources.py)
    ├── APKNativeLibExtractor     (redb/extractors/apk_extractors/apk_native_libs.py)
    └── APKInconsistencyTestsExtractor (redb/extractors/apk_extractors/apk_inconsistency_tests.py)
```

The `APKExtractor` base class will:
- Accept an optional pre-parsed `androguard.core.apk.APK` object (`apk=`) to share across sub-extractors
- Parse the APK once in `__init__` if not provided
- Provide shared helpers: `_get_manifest()`, `_get_certificates()`, `_list_files()`, `_is_valid_apk()`

### 3.3 Ingestor Integration

In `ingestor.py:process_binary_file()`, the `elif filetype == "apk"` branch will be expanded to:

1. Parse the APK once using Androguard (`APK(filepath)`)
2. Run format-agnostic extractors (BasicProperties, Hashes, DIE, YARA) — same as PE/ELF/Mach-O
3. Run APK-specific extractors with the shared `apk` object
4. Run Strings + IOC extractors if applicable

---

## 4. Extractor Specifications

### 4.1 APKFeaturesExtractor

**Purpose:** Core APK metadata — the equivalent of `PEFeaturesExtractor` or `ELFFeaturesExtractor`.

**Extracted fields:**
- `package_name` — Android package identifier (e.g., `com.example.app`)
- `app_name` — Human-readable application name
- `version_code` — Internal integer version
- `version_name` — Display version string (e.g., `"1.2.3"`)
- `min_sdk_version` — Minimum Android API level
- `target_sdk_version` — Target Android API level
- `compile_sdk_version` — Compile SDK (if available)
- `main_activity` — Launcher activity class name
- `is_debuggable` — Whether `android:debuggable="true"`
- `allow_backup` — Whether `android:allowBackup="true"`
- `uses_cleartext_traffic` — Whether `android:usesCleartextTraffic="true"`
- `supported_abis` — List of ABIs from `lib/` directory (e.g., `["arm64-v8a", "armeabi-v7a"]`)
- `dex_count` — Number of DEX files
- `total_dex_size` — Combined DEX file size in bytes
- `total_file_count` — Total number of files in the APK archive
- `has_native_code` — Whether `lib/` contains `.so` files
- `has_assets` — Whether `assets/` directory is non-empty
- `uses_libraries` — Declared `<uses-library>` entries
- `earliest_content_modification` — Earliest timestamp from ZIP entry metadata
- `latest_content_modification` — Latest timestamp from ZIP entry metadata
- `contains_embedded_apk` — Whether the archive contains nested APK files (flag only)

**Tag:** `APK_FEATURES`
**ClickHouse table:** `redb_apk_features`

### 4.2 APKManifestExtractor

**Purpose:** Full AndroidManifest.xml component enumeration, mirroring what VirusTotal and Koodous display.

**Extracted fields:**
- `activities` — List of Activity class names with `exported` flag
- `services` — List of Service class names with `exported` flag
- `receivers` — List of BroadcastReceiver class names with `exported` flag
- `providers` — List of ContentProvider class names with `exported` flag
- `intent_filters_by_action` — Aggregated list of all intent filter actions
- `intent_filters_by_category` — Aggregated list of all intent filter categories
- `uses_features` — Declared hardware/software features (e.g., `android.hardware.camera`)
- `meta_data` — Key-value pairs from `<meta-data>` elements
- `manifest_xml` — Full decompiled AndroidManifest.xml as plain text

**Tag:** `APK_MANIFEST`
**ClickHouse table:** `redb_apk_manifest` (one row per APK for aggregated data), `redb_apk_components` (one row per component)

### 4.3 APKPermissionsExtractor

**Purpose:** Dedicated permission analysis with protection-level classification and permhash computation.

**Extracted fields:**
- `permissions` — List of requested permissions with protection level (`normal`, `dangerous`, `signature`, `signatureOrSystem`)
- `dangerous_permissions` — Filtered list of dangerous permissions only
- `dangerous_permission_count` — Count of dangerous permissions
- `custom_permissions` — Permissions defined by the app itself (`<permission>` declarations)
- `total_permission_count` — Total number of requested permissions
- `permhash` — SHA-256 of sorted permission list (Mandiant/Google permhash — https://github.com/google/permhash)

The `permhash` value will also be added to the `Hashes` dataclass in `redb/models/dataclasses.py` so it appears alongside `imphash`, `symhash`, etc. in the unified hash record.

**Tag:** `APK_PERMISSIONS`
**ClickHouse table:** `redb_apk_permissions` (one row per permission per APK)

### 4.4 APKSignatureExtractor

**Purpose:** Certificate and signing scheme analysis, analogous to `PESignatureExtractor` and `MachOSignatureExtractor`.

**Extracted fields:**
- `signature_scheme_versions` — Which signing schemes are present (v1 JAR, v2, v3, v4)
- `is_signed` — Whether the APK has a valid signature
- `number_of_certificates` — Certificate count in the chain
- `x509_certificates` — List of certificate details:
  - `subject` (Distinguished Name)
  - `issuer` (Distinguished Name)
  - `serial_number`
  - `valid_from` / `valid_to`
  - `thumbprint_sha1`
  - `thumbprint_sha256`
  - `algorithm`
  - `key_size`
  - `is_self_signed`
- `signer_subject` — Primary signer's subject DN (convenience field)
- `signer_issuer` — Primary signer's issuer DN

**Tag:** `APK_SIGNATURE`
**ClickHouse table:** `redb_apk_signature`

### 4.5 APKDexExtractor

**Purpose:** DEX file analysis — summarized with categorized API usage (not full method enumeration).

**Output structure (per DEX file):**

- `filename` — DEX filename (e.g., `classes.dex`)
- `sha256` — SHA-256 of the DEX file
- `class_count` — Total number of classes
- `method_count` — Total number of methods
- `string_count` — Total number of string constants
- `top_packages` — List of `{package, class_count}` for top-level Java packages
- `api_usage` — Categorized sensitive API calls:
  - `reflection` — `java.lang.reflect.*`, `Class.forName`, etc.
  - `crypto` — `javax.crypto.*`, `java.security.*`
  - `dynamic_loading` — `DexClassLoader`, `PathClassLoader`, `InMemoryDexClassLoader`
  - `telephony` — `TelephonyManager` methods
  - `sms` — `SmsManager`, `SmsReceiver`
  - `network` — `HttpURLConnection`, `OkHttp`, `Volley`, `Retrofit`
  - `native` — `System.loadLibrary`, `Runtime.exec`
  - `device_info` — `Build.*`, `Settings.Secure.ANDROID_ID`, IMEI/IMSI access
  - `file_io` — `FileOutputStream`, `SharedPreferences`, `SQLiteDatabase`
  - `ipc` — `ContentResolver`, `BroadcastReceiver`, `Binder`
- `obfuscation_indicators`:
  - `short_class_names_pct` — Percentage of classes with names <= 2 chars
  - `short_method_names_pct` — Percentage of methods with names <= 2 chars
  - `non_ascii_identifiers` — Count of identifiers with non-ASCII characters
  - `avg_class_name_length` — Average class name length

**Tag:** `APK_DEX`
**ClickHouse table:** `redb_apk_dex` (one row per DEX file), `redb_apk_dex_api_usage` (one row per API category per DEX)

### 4.6 APKResourceExtractor

**Purpose:** Inventory of embedded resources with filetype detection for suspicious content.

**Extracted fields:**
- `total_resource_count` — Total files in `res/` and `assets/`
- `total_resource_size` — Combined size
- `resource_inventory` — List of `{path, size, sha256, filetype_magika}` for each file
- `suspicious_files` — Files detected as ELF, PE, DEX, APK, ZIP, script, or other executable types
- `suspicious_file_count` — Count of suspicious files

**Tag:** `APK_RESOURCES`
**ClickHouse table:** `redb_apk_resources`

### 4.7 APKNativeLibExtractor

**Purpose:** Inventory of native `.so` libraries per ABI. No deep ELF analysis (inventory only).

**Extracted fields:**
- `native_lib_count` — Total `.so` file count
- `abis` — List of ABI directories present (e.g., `["arm64-v8a", "x86"]`)
- `native_libs` — List of `{abi, filename, size, sha256}` per `.so` file
- `known_packer_libs` — Any `.so` files matching known packer/protector library names (e.g., `libjiagu.so`, `libsecexe.so`, `libDexHelper.so`, `libprotectClass.so`)

**Tag:** `APK_NATIVE_LIBS`
**ClickHouse table:** `redb_apk_native_libs`

### 4.8 APKInconsistencyTestsExtractor

**Purpose:** Anomaly and anti-analysis detection, analogous to `PEInconsistencyTestsExtractor`.

**Extracted fields:**
- `test_zip_bomb` — Compression ratio exceeds threshold
- `test_zip_duplicate_entries` — ZIP contains duplicate filenames
- `test_zip_path_traversal` — ZIP entries with `../` path traversal
- `test_zip_suspicious_timestamps` — Timestamps in the future or at epoch (1980-01-01)
- `test_hidden_dex_files` — DEX files outside standard `classes*.dex` naming or in unexpected locations
- `test_manifest_component_mismatch` — Declared components that don't exist in DEX, or undeclared code
- `test_debuggable_release` — `android:debuggable="true"` combined with a release signature
- `test_emulator_detection_strings` — Presence of Build.FINGERPRINT/MANUFACTURER emulator check strings in DEX
- `test_debugger_detection` — Presence of `Debug.isDebuggerConnected()` calls
- `test_root_detection` — Presence of root detection patterns (su binary checks, Superuser.apk)

**Tag:** `APK_INCONSISTENCY_TESTS`
**ClickHouse table:** `redb_apk_inconsistency_tests`

---

## 5. New Dependencies

### 5.1 Required

| Library | Version | License | Purpose |
|---------|---------|---------|---------|
| **androguard** | >=4.1 | Apache 2.0 | Core APK parsing: binary XML manifest, DEX analysis, certificate extraction, permissions |
| **permhash** | latest | Apache 2.0 | Compute permhash (SHA-256 of sorted permissions) for APK clustering |

### 5.2 Already Available (no changes)

| Library | Current Version | Usage |
|---------|----------------|-------|
| `zipfile` (stdlib) | — | APK archive traversal, ZIP anomaly detection |
| `pyelftools` | 0.32 | Could be used for native .so analysis if scope expands |
| `lief` | 0.17.3 | Has `lief.DEX` module; complement to androguard for DEX class/method enumeration |
| `cryptography` | 43.0.3 | Certificate chain validation (used by PE/Mach-O signature extractors) |
| `Pillow` | 10.4.0 | Icon extraction if needed |
| `magika` | 1.0.1 | Filetype detection for embedded resources |

### 5.3 Future Consideration

| Library | License | Purpose | Notes |
|---------|---------|---------|-------|
| **APKiD** | GPL-3.0 or Commercial (perpetual, royalty-free) | Packer/protector/obfuscator identification | "PEiD for Android". Detects compilers (dx, dexlib, r8), packers (AppGuard, DingXiang, JiaguK), obfuscators (DexGuard, BlackObfuscator), protectors (DexProtector, DxShield), anti-VM/debug/root. Commercial license is perpetual and allows binary redistribution: https://github.com/rednaga/APKiD/blob/master/LICENSE.COMMERCIAL |
| **apksigtool** | MIT | APK Signature Scheme v2/v3/v4 verification | androguard handles v1 well; apksigtool provides more thorough v2+ support |
| **quark-engine** | GPL-3.0 | Behavioral analysis scoring | Similar to CAPA but for Android. Stretch goal |

---

## 6. Data Model Changes

### 6.1 New Dataclasses

Add to `redb/models/dataclasses.py`:
- `APKFeatures`
- `APKManifestComponent`
- `APKPermission`
- `APKCertificate`
- `APKCodeSigningInfo`
- `APKDexFile`
- `APKDexApiUsage`
- `APKResource`
- `APKNativeLib`
- `APKInconsistencyTests`

See Tech Annex for full field definitions.

### 6.2 Existing Dataclass Changes

**`Hashes` dataclass** — add:
```python
permhash: Optional[str] = None  # APK: SHA-256 of sorted permissions (Mandiant/Google)
```

### 6.3 Tag Enum Additions

Add to `redb/extractors/enum.py`:
```python
# APK
APK_FEATURES = "apk_features"
APK_MANIFEST = "apk_manifest"
APK_PERMISSIONS = "apk_permissions"
APK_SIGNATURE = "apk_signature"
APK_DEX = "apk_dex"
APK_RESOURCES = "apk_resources"
APK_NATIVE_LIBS = "apk_native_libs"
APK_INCONSISTENCY_TESTS = "apk_inconsistency_tests"
```

---

## 7. Implementation Phases

### Phase 1 — Core Extractors

1. `APKExtractor` base class + `APKFeaturesExtractor`
2. `APKManifestExtractor`
3. `APKPermissionsExtractor` (including permhash)
4. `APKSignatureExtractor`
5. `APKDexExtractor`
6. `APKResourceExtractor`
7. `APKNativeLibExtractor`
8. Ingestor integration (wire up dispatch in `process_binary_file()`)
9. Hashes dataclass update (add `permhash`)

### Phase 2 — Detection and Anomalies

10. `APKInconsistencyTestsExtractor`
11. Wire up existing format-agnostic extractors for APK (YARA, Strings, IOC)

### Phase 3 — Future (out of scope for this PDD)

- APKiD integration for packer/protector detection
- Deep native library analysis (run ELF pipeline on extracted `.so` files)
- Recursive APK ingestion
- androguard-yara module integration for YARA rules matching on APK metadata

---

## 8. Testing Strategy

- Unit tests per extractor using known APK samples (benign + malicious)
- Validate output against VirusTotal reports for the same samples (cross-reference fields)
- Edge cases: split APKs, obfuscated APKs, packed APKs, APKs with no native code, APKs with no DEX, corrupted APKs
- Integration test: full pipeline run (ingest APK, verify all extractors produce output, verify ClickHouse/ES export)