Hai Jiang

218 papers A* 2B 19Misc 5Journal 165Unranked 25
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Trans. Veh. Technol.
Zhong Shen, Hai Jiang, Hongxing Guo
2026 J jnl
IEEE Trans. Commun.
Seyedkhashayar Hashemi, Masoud Ardakani, Hai Jiang
2025 J jnl
IEEE Trans. Commun.
Yuhan Yi, Guanglin Zhang, Hai Jiang
2025 A* conf
ICLR
Yilin Wang, Chuan Guo, Yuxuan Mu, Muhammad Gohar Javed, Xinxin Zuo, Juwei Lu, Hai Jiang, Li Cheng
2025 J jnl
CoRR
Yilin Wang, Chuan Guo, Yuxuan Mu, Muhammad Gohar Javed, Xinxin Zuo, Juwei Lu, Hai Jiang, Li Cheng
2025 J jnl
IEEE Trans. Commun.
Yuhan Yi, Guanglin Zhang, Hai Jiang
2024 J jnl
IEEE Trans. Commun.
Mengmeng Ren, Jian Chen, Long Yang, Yuchen Zhou, Bingtao He, Hai Jiang
2024 J jnl
IEEE Internet Things J.
Xuming An, Rongfei Fan, Shiyuan Zuo, Han Hu, Hai Jiang, Ning Zhang
2024 J jnl
IEEE Trans. Veh. Technol.
Bizheng Liang, Rongfei Fan, Han Hu, Hai Jiang, Jie Xu, Ning Zhang
2024 J jnl
CoRR
Yuhan Yi, Guanglin Zhang, Hai Jiang
2024 J jnl
CoRR
Yuhan Yi, Guanglin Zhang, Hai Jiang
2024 J jnl
IEEE Trans. Commun.
Seyedkhashayar Hashemi, Hai Jiang, Masoud Ardakani
2024 J jnl
CoRR
Seyedkhashayar Hashemi, Masoud Ardakani, Hai Jiang
2024 conf
ECCV Workshops (14)
Yilin Wang, Chuan Guo, Li Cheng, Hai Jiang
2024 J jnl
CoRR
Yilin Wang, Chuan Guo, Li Cheng, Hai Jiang
2024 J jnl
IEEE Trans. Wirel. Commun.
Min Hui, Jian Chen, Long Yang, Lu Lv, Hai Jiang, Naofal Al-Dhahir
2023 J jnl
CoRR
Zhong Shen, Hai Jiang, Rongfei Fan, Hongxing Guo
2023 J jnl
IEEE Trans. Commun.
Long Yang, Hai Jiang, Jia Shi, Xuan Xue, Peng Ren, Yunpeng Feng, Jian Chen
2023 J jnl
CoRR
Mengmeng Ren, Long Yang, Hai Jiang, Jian Chen, Yuchen Zhou
2023 J jnl
CoRR
Xuming An, Rongfei Fan, Shiyuan Zuo, Han Hu, Hai Jiang, Ning Zhang
2023 J jnl
IEEE Trans. Mob. Comput.
Zhong Shen, Qinghai Yang, Hai Jiang
2023 J jnl
CoRR
Seyedkhashayar Hashemi, Hai Jiang, Masoud Ardakani
2023 J jnl
IEEE Trans. Commun.
Rongfei Fan, Bizheng Liang, Shiyuan Zuo, Han Hu, Hai Jiang, Ning Zhang
2022 J jnl
IEEE Trans. Cogn. Commun. Netw.
Keyu Wu, Hai Jiang, Chintha Tellambura
2021 J jnl
CoRR
Xiao Lu, Dusit Niyato, Hai Jiang, Ekram Hossain, Ping Wang
2021 J jnl
IEEE Trans. Veh. Technol.
Long Yang, Hai Jiang, Qiang Ye, Mengmeng Ren, Jia Shi, Bingtao He, Yuchen Zhou, Jian Chen
2021 J jnl
IEEE Internet Things J.
Guoxin Li, Deepak Mishra, Hai Jiang
2021 J jnl
IEEE Netw.
Lu Lv, Hai Jiang, Zhiguo Ding, Qiang Ye, Naofal Al-Dhahir, Jian Chen
2021 J jnl
IEEE Commun. Surv. Tutorials
Xiao Lu, Mohammad Salehi, Martin Haenggi, Ekram Hossain, Hai Jiang
2021 J jnl
CoRR
Xiao Lu, Mohammad Salehi, Martin Haenggi, Ekram Hossain, Hai Jiang
2020 J jnl
IEEE Trans. Veh. Technol.
Guoxin Li, Deepak Mishra, Yulin Hu, Yuzhen Huang, Hai Jiang
2020 J jnl
IEEE Trans. Veh. Technol.
Guoxin Li, Deepak Mishra, Hai Jiang
2020 J jnl
IEEE Internet Things J.
Zhong Shen, Hai Jiang, Qingkuan Dong, Baocang Wang
2020 J jnl
CoRR
Lu Lv, Hai Jiang, Zhiguo Ding, Qiang Ye, Naofal Al-Dhahir, Jian Chen
2020 J jnl
IEEE Netw.
Xiao Lu, Ekram Hossain, Taniya Shafique, Shaohan Feng, Hai Jiang, Dusit Niyato
2020 J jnl
IEEE Trans. Veh. Technol.
Qi Gu, Yiheng Jian, Gongpu Wang, Rongfei Fan, Hai Jiang, Zhangdui Zhong
2020 J jnl
IEEE Wirel. Commun. Lett.
Xiao Lu, Ekram Hossain, Hai Jiang, Guangxia Li
2020 J jnl
IEEE Trans. Wirel. Commun.
Long Yang, Hai Jiang, Qiang Ye, Zhiguo Ding, Fang Fang, Jia Shi, Jian Chen, Xuan Xue
2020 J jnl
IEEE Commun. Lett.
Qi Gu, Gongpu Wang, Rongfei Fan, Fudong Li, Hai Jiang, Zhangdui Zhong
2020 J jnl
IEEE Wirel. Commun. Lett.
Qi Gu, Gongpu Wang, Rongfei Fan, Ning Zhang, Hai Jiang, Zhangdui Zhong
2020 conf
VTC Spring
Melika Vahdat, Koosha Pourtahmasi Roshandeh, Masoud Ardakani, Hai Jiang
2020 J jnl
IEEE Trans. Commun.
Lu Lv, Hai Jiang, Zhiguo Ding, Long Yang, Jian Chen
2019 J jnl
IEEE Trans. Green Commun. Netw.
Xiao Lu, Dusit Niyato, Hai Jiang, Ekram Hossain, Ping Wang
2019 J jnl
IEEE Trans. Veh. Technol.
Fudong Li, Hai Jiang, Rongfei Fan, Peng Tan
2019 J jnl
IEEE Trans. Commun.
Long Yang, Qiang Ni, Lu Lv, Jian Chen, Xuan Xue, Hailin Zhang, Hai Jiang
2019 J jnl
IEEE Commun. Lett.
Khagendra Belbase, Chintha Tellambura, Hai Jiang
2019 J jnl
IEEE Access
Khagendra Belbase, Chintha Tellambura, Hai Jiang
2019 B conf
GLOBECOM
Rongfei Fan, Fudong Li, Song Jin, Gongpu Wang, Hai Jiang, Shaohua Wu
2019 J jnl
CoRR
Rongfei Fan, Fudong Li, Song Jin, Gongpu Wang, Hai Jiang, Shaohua Wu
2019 conf
ICC
Lu Lv, Hai Jiang, Zhiguo Ding, Long Yang, Jian Chen
2019 J jnl
CoRR
Xiao Lu, Ekram Hossain, Taniya Shafique, Shaohan Feng, Hai Jiang, Dusit Niyato
2019 J jnl
CoRR
Xiao Lu, Ekram Hossain, Hai Jiang, Guangxia Li
2019 J jnl
IEEE Internet Things J.
Keyu Wu, Fudong Li, Chintha Tellambura, Hai Jiang
2019 J jnl
IEEE Access
Ziling Wei, Hai Jiang
2019 J jnl
IEEE Wirel. Commun. Lett.
Rongfei Fan, Jiannan Cui, Hai Jiang, Qi Gu, Jianping An
2019 J jnl
IEEE Trans. Veh. Technol.
Keyu Wu, Hai Jiang, Chintha Tellambura
2018 conf
ICC
Xiao Lu, Dusit Niyato, Nicolas Privault, Hai Jiang, Shaun Shuxun Wang
2018 J jnl
IEEE Wirel. Commun.
Xiao Lu, Dusit Niyato, Hai Jiang, Dong In Kim, Yong Xiao, Zhu Han
2018 J jnl
IEEE Commun. Mag.
Lu Lv, Jian Chen, Qiang Ni, Zhiguo Ding, Hai Jiang
2018 J jnl
CoRR
Lu Lv, Jian Chen, Qiang Ni, Zhiguo Ding, Hai Jiang
2018 J jnl
IEEE Trans. Veh. Technol.
Guoxin Li, Deepak Mishra, Hai Jiang
2018 B conf
GLOBECOM
Long Yang, Qiang Ni, Lu Lv, Jian Chen, Xuan Xue, Hailin Zhang, Hai Jiang, Jia Shi
2018 conf
ICC
Khagendra Belbase, Hai Jiang, Chintha Tellambura
2018 J jnl
IEEE Access
Khagendra Belbase, Zhang Zhang, Hai Jiang, Chintha Tellambura
2018 J jnl
IEEE Commun. Mag.
Xiao Lu, Dusit Niyato, Hai Jiang, Ping Wang, H. Vincent Poor
2018 J jnl
IEEE Trans. Veh. Technol.
Rongfei Fan, Wen Chen, Hai Jiang, Jianping An, Kai Yang, Chengwen Xing
2018 J jnl
IEEE Trans. Intell. Transp. Syst.
Lijie Huang, Hai Jiang, Zhou Zhang, Zhongjiang Yan, Hongxing Guo
2018 J jnl
IEEE J. Sel. Areas Commun.
Xiao Lu, Dusit Niyato, Nicolas Privault, Hai Jiang, Ping Wang
2018 J jnl
IEEE Trans. Veh. Technol.
Long Yang, Hai Jiang, Qiang Ye, Zhiguo Ding, Lu Lv, Jian Chen
2018 J jnl
IEEE Access
Ziling Wei, Hai Jiang
2018 J jnl
IEEE Access
Guoxin Li, Hai Jiang
2018 conf
ICC
Xiao Lu, Guangxia Li, Hai Jiang, Dusit Niyato, Ping Wang
2018 J jnl
IEEE Trans. Veh. Technol.
Qi Gu, Gongpu Wang, Rongfei Fan, Zhangdui Zhong, Kai Yang, Hai Jiang
2018 J jnl
IEEE Trans. Veh. Technol.
Rongfei Fan, Song Jin, Hai Jiang, Jianping An, Kai Yang, Shaohua Wu
2018 J jnl
IEEE Commun. Lett.
Khagendra Belbase, Chintha Tellambura, Hai Jiang
2018 J jnl
IEEE Trans. Veh. Technol.
Lu Lv, Long Yang, Hai Jiang, Tom H. Luan, Jian Chen
2018 J jnl
IEEE Trans. Wirel. Commun.
Xiao Lu, Hai Jiang, Dusit Niyato, Dong In Kim, Zhu Han
2017 J jnl
CoRR
Xiao Lu, Dusit Niyato, Hai Jiang, Dong In Kim, Yong Xiao, Zhu Han
2017 conf
VTC Fall
Xiao Lu, Hai Jiang, Dusit Niyato, Dong In Kim, Ping Wang
2017 J jnl
CoRR
Xiao Lu, Hai Jiang, Dusit Niyato, Dong In Kim, Ping Wang
2017 J jnl
CoRR
Xiao Lu, Dusit Niyato, Hai Jiang, Ping Wang, H. Vincent Poor
2017 conf
VTC Fall
Fudong Li, Hai Jiang, Rongfei Fan, Peng Tan
2017 J jnl
IEEE Trans. Wirel. Commun.
Long Yang, Jian Chen, Hai Jiang, Sergiy A. Vorobyov, Hailin Zhang
2017 conf
ICC
Keyu Wu, Chintha Tellambura, Hai Jiang
2017 conf
ICC
Keyu Wu, Hai Jiang, Chintha Tellambura
2017 J jnl
CoRR
Xiao Lu, Hai Jiang, Dusit Niyato, Dong In Kim, Zhu Han
2016 J jnl
Wirel. Commun. Mob. Comput.
Rongfei Fan, Jianping An, Hai Jiang, Xiangyuan Bu
2016 J jnl
IEEE Trans. Veh. Technol.
Long Yang, Jian Chen, Hailin Zhang, Hai Jiang, Sergiy A. Vorobyov, Duy Trong Ngo
2016 J jnl
IEEE Trans. Veh. Technol.
Rongfei Fan, Yu Zheng, Jianping An, Hai Jiang, Xiangming Li
2016 J jnl
CoRR
Rongfei Fan, Wen Chen, Hai Jiang, Jianping An, Kai Yang, Chengwen Xing
2016 J jnl
IEEE Trans. Veh. Technol.
Zhong Shen, Hai Jiang
2016 J jnl
IEEE Trans. Veh. Technol.
Zhixin Liu, Jinle Wang, Yuanqing Xia, Rongfei Fan, Hai Jiang, Hongjiu Yang
2016 J jnl
IEEE Commun. Lett.
Long Yang, Hai Jiang, Sergiy A. Vorobyov, Jian Chen, Hailin Zhang
2015 J jnl
IEEE Commun. Lett.
Vesh Raj Sharma Banjade, Chintha Tellambura, Hai Jiang
2015 J jnl
IEEE Trans. Commun.
Vesh Raj Sharma Banjade, Chintha Tellambura, Hai Jiang
2015 J jnl
IEEE Commun. Lett.
Zhou Zhang, Shuai Zhou, Hai Jiang, Lei Dong
2015 J jnl
CoRR
Zhou Zhang, Shuai Zhou, Hai Jiang
2015 J jnl
IEEE Trans. Veh. Technol.
Lijie Huang, Hai Jiang, Zhou Zhang, Zhongjiang Yan
2015 J jnl
IEEE Trans. Signal Process.
Hao Fang, Sergiy A. Vorobyov, Hai Jiang
2015 conf
CAMSAP
Hao Fang, Sergiy A. Vorobyov, Hai Jiang
2015 conf
ICC
Vesh Raj Sharma Banjade, Chintha Tellambura, Hai Jiang
2015 conf
ICC
Saman Atapattu, Hai Jiang, Jamie S. Evans, Chintha Tellambura
2015 J jnl
IEEE Wirel. Commun. Lett.
Lei Dong, Yongchao Wang, Hai Jiang, Zhou Zhang, Shuai Zhou
2015 J jnl
IEEE Trans. Veh. Technol.
Saman Atapattu, Chintha Tellambura, Hai Jiang, Nandana Rajatheva
2015 J jnl
IEEE Trans. Signal Process.
Jie Gao, Sergiy A. Vorobyov, Hai Jiang, H. Vincent Poor
2014 J jnl
CoRR
Jie Gao, Sergiy A. Vorobyov, Hai Jiang
2014 Misc conf
ICASSP
Jie Gao, Sergiy A. Vorobyov, Hai Jiang
2014 book
Saman Atapattu, Chintha Tellambura, Hai Jiang
2014 J jnl
IEEE Trans. Veh. Technol.
Zhong Shen, Hai Jiang, Zhongjiang Yan
2014 B conf
GLOBECOM
Vesh Raj Sharma Banjade, Chintha Tellambura, Hai Jiang
2014 J jnl
CoRR
Hao Fang, Sergiy A. Vorobyov, Hai Jiang
2014 J jnl
IEEE Trans. Veh. Technol.
Vesh Raj Sharma Banjade, Chintha Tellambura, Hai Jiang
2014 J jnl
IEEE Trans. Signal Process.
Hao Fang, Sergiy A. Vorobyov, Hai Jiang, Omid Taheri
2013 conf
IWSDA
Jing Qiao, Qingchun Chen, Feifei Shen, Hai Jiang, Bin Li
2013 J jnl
IEEE J. Sel. Areas Commun.
Zhou Zhang, Hai Jiang, Peng Tan, Jim Slevinsky
2013 J jnl
Wirel. Commun. Mob. Comput.
Zhongjiang Yan, Yilin Chang, Hai Jiang, Zhong Shen
2013 J jnl
CoRR
Hao Fang, Sergiy A. Vorobyov, Hai Jiang
2013 J jnl
CoRR
Hao Fang, Sergiy A. Vorobyov, Hai Jiang, Omid Taheri
2013 J jnl
IEEE Trans. Commun.
Saman Atapattu, Yindi Jing, Hai Jiang, Chintha Tellambura
2013 J jnl
IEEE J. Sel. Areas Commun.
Saman Atapattu, Yindi Jing, Hai Jiang, Chintha Tellambura
2013 J jnl
IEEE Trans. Signal Process.
Jie Gao, Sergiy A. Vorobyov, Hai Jiang, Jianshu Zhang, Martin Haardt
2013 J jnl
IEEE Trans. Signal Process.
Jie Gao, Sergiy A. Vorobyov, Hai Jiang, Jianshu Zhang, Martin Haardt
2013 J jnl
CoRR
Jie Gao, Sergiy A. Vorobyov, Hai Jiang, Jianshu Zhang, Martin Haardt
2013 J jnl
IEEE Trans. Veh. Technol.
Bo Hu, H. Vicky Zhao, Hai Jiang
2012 conf
ACSCC
Hao Fang, Sergiy A. Vorobyov, Hai Jiang, Omid Taheri
2012 J jnl
CoRR
Zhou Zhang, Hai Jiang, Peng Tan, Jim Slevinsky
2012 J jnl
IEEE Wirel. Commun. Lett.
Zhou Zhang, Hai Jiang
2012 J jnl
IEEE J. Sel. Areas Commun.
Zhou Zhang, Hai Jiang
2012 J jnl
IEEE Commun. Lett.
Zhongjiang Yan, Zhou Zhang, Hai Jiang, Zhong Shen, Yilin Chang
2012 B conf
GLOBECOM
Jie Gao, Jianshu Zhang, Sergiy A. Vorobyov, Hai Jiang, Martin Haardt
2012 conf
ICC
Rongfei Fan, Yuxi Li, Hai Jiang
2012 J jnl
CoRR
Jie Gao, Sergiy A. Vorobyov, Hai Jiang, Jianshu Zhang, Martin Haardt
2012 J jnl
IEEE Trans. Veh. Technol.
Zhongjiang Yan, Hai Jiang, Zhong Shen, Yilin Chang, Lijie Huang
2011 J jnl
IEEE Trans. Signal Process.
Binglai Niu, H. Vicky Zhao, Hai Jiang
2011 J jnl
IEEE Trans. Wirel. Commun.
Saman Atapattu, Chintha Tellambura, Hai Jiang
2011 J jnl
IEEE Trans. Veh. Technol.
Rongfei Fan, Hai Jiang
2011 J jnl
IEEE Trans. Mob. Comput.
Lifeng Lai, Hesham El Gamal, Hai Jiang, H. Vincent Poor
2011 J jnl
CoRR
Zhou Zhang, Hai Jiang
2011 J jnl
IEEE Trans. Wirel. Commun.
Saman Atapattu, Chintha Tellambura, Hai Jiang
2011 Misc conf
ICASSP
Bo Hu, H. Vicky Zhao, Hai Jiang
2011 J jnl
IEEE Trans. Veh. Technol.
Rongfei Fan, Hai Jiang, Qiang Guo, Zhou Zhang
2011 J jnl
IEEE Commun. Lett.
Saman Atapattu, Chintha Tellambura, Hai Jiang
2011 B conf
ISIT
Jie Gao, Sergiy A. Vorobyov, Hai Jiang
2011 J jnl
CoRR
Saman Atapattu, Yindi Jing, Hai Jiang, Chintha Tellambura
2011 conf
ICC
Saman Atapattu, Chintha Tellambura, Hai Jiang
2010 J jnl
IEEE Trans. Veh. Technol.
Binglai Niu, Hai Jiang, H. Vicky Zhao
2010 J jnl
IEEE Trans. Veh. Technol.
Zhong Shen, Yilin Chang, Hai Jiang, Yanling Wang, Zhongjiang Yan
2010 J jnl
Wirel. Commun. Mob. Comput.
Hai Jiang, Ping Wang, H. Vincent Poor, Weihua Zhuang
2010 J jnl
IEEE Trans. Wirel. Commun.
Saman Atapattu, Chintha Tellambura, Hai Jiang
2010 J jnl
IEEE Trans. Signal Process.
Jie Gao, Sergiy A. Vorobyov, Hai Jiang
2010 J jnl
IEEE Trans. Wirel. Commun.
Rongfei Fan, Hai Jiang
2010 Misc conf
ICASSP
Jie Gao, Sergiy A. Vorobyov, Hai Jiang
2010 B conf
GLOBECOM
Saman Atapattu, Chintha Tellambura, Hai Jiang
2010 J jnl
IEEE Trans. Wirel. Commun.
Saman Atapattu, Chintha Tellambura, Hai Jiang
2010 B conf
WCNC
Saman Atapattu, Chintha Tellambura, Hai Jiang
2010 J jnl
IEEE Trans. Veh. Technol.
Ping Wang, Dusit Niyato, Hai Jiang
2009 J jnl
IEEE Trans. Veh. Technol.
Rongfei Fan, Hai Jiang
2009 J jnl
CoRR
Jie Gao, Sergiy A. Vorobyov, Hai Jiang
2009 Misc conf
ICASSP
Jie Gao, Sergiy A. Vorobyov, Hai Jiang
2009 J jnl
IEEE Trans. Veh. Technol.
Khoa Tran Phan, Rongfei Fan, Hai Jiang, Sergiy A. Vorobyov, Chintha Tellambura
2009 J jnl
IEEE Trans. Wirel. Commun.
Hai Jiang, Lifeng Lai, Rongfei Fan, H. Vincent Poor
2009 J jnl
Wirel. Commun. Mob. Comput.
Rongfei Fan, Hai Jiang, Shaohua Wu, Naitong Zhang
2009 B conf
GLOBECOM
Saman Atapattu, Chintha Tellambura, Hai Jiang
2009 J jnl
IEEE Trans. Wirel. Commun.
Zhu Han, Rongfei Fan, Hai Jiang
2009 conf
ICC
Ping Wang, Dusit Niyato, Hai Jiang
2008 J jnl
IEEE Trans. Mob. Comput.
Ping Wang, Hai Jiang, Weihua Zhuang
2008 B conf
GLOBECOM
Hai Jiang, Lifeng Lai, Rongfei Fan, H. Vincent Poor
2008 B conf
GLOBECOM
Jie Gao, Sergiy A. Vorobyov, Hai Jiang
2008 J jnl
IEEE Trans. Wirel. Commun.
Khoa Tran Phan, Hai Jiang, Chintha Tellambura, Sergiy A. Vorobyov, Rongfei Fan
2008 conf
ACSCC
Lifeng Lai, Hai Jiang, H. Vincent Poor
2008 J jnl
CoRR
Lifeng Lai, Hesham El Gamal, Hai Jiang, H. Vincent Poor
2008 J jnl
CoRR
Lifeng Lai, Hesham El Gamal, Hai Jiang, H. Vincent Poor
2008 Misc conf
ICASSP
Lifeng Lai, Hesham El Gamal, Hai Jiang, H. Vincent Poor
2008 B conf
WiOpt
Lifeng Lai, Hesham El Gamal, Hai Jiang, H. Vincent Poor
2008 J jnl
IEEE Trans. Wirel. Commun.
Ping Wang, Hai Jiang, Weihua Zhuang, H. Vincent Poor
2008 B conf
WCNC
Zhu Han, Hai Jiang
2008 conf
ICC
Rongfei Fan, Hai Jiang, Shaohua Wu, Naitong Zhang
2008 J jnl
IEEE Trans. Wirel. Commun.
Hai Jiang, Ping Wang, Weihua Zhuang, H. Vincent Poor
2008 ch.
Encyclopedia of Wireless and Mobile Communications
Hai Jiang, Ping Wang, Weihua Zhuang
2007 J jnl
IEEE Trans. Wirel. Commun.
Hai Jiang, Ping Wang, Weihua Zhuang
2007 J jnl
IEEE Trans. Wirel. Commun.
Hai Jiang, Kuang-Hao Liu, Weihua Zhuang, Xuemin Shen
2007 conf
CCNC
Xuemin Shen, Hai Jiang, Ping Wang, Weihua Zhuang
2007 J jnl
IEEE Trans. Wirel. Commun.
Hai Jiang, Ping Wang, Weihua Zhuang, Xuemin Shen
2007 J jnl
IEEE Trans. Wirel. Commun.
Ping Wang, Hai Jiang, Weihua Zhuang
2007 J jnl
CoRR
Lifeng Lai, Hesham El Gamal, Hai Jiang, H. Vincent Poor
2007 J jnl
IEEE Wirel. Commun.
Hai Jiang, Weihua Zhuang, Xuemin Shen
2007 J jnl
IEEE Trans. Wirel. Commun.
Hai Jiang, Weihua Zhuang
2007 conf
ICC
Hai Jiang, Ping Wang, Weihua Zhuang
2007 J jnl
IEEE Trans. Wirel. Commun.
Wei Song, Hai Jiang, Weihua Zhuang
2007 J jnl
CoRR
Hai Jiang, Ping Wang, H. Vincent Poor, Weihua Zhuang
2007 B conf
GLOBECOM
Hai Jiang, Ping Wang, H. Vincent Poor, Weihua Zhuang
2006 B conf
GLOBECOM
Ping Wang, Hai Jiang, Weihua Zhuang
2006 conf
ICC
Wei Song, Hai Jiang, Weihua Zhuang, Aladdin Saleh
2006 J jnl
IEEE Trans. Wirel. Commun.
Hai Jiang, Weihua Zhuang
2006 J jnl
IEEE Commun. Mag.
Hai Jiang, Weihua Zhuang, Xuemin (Sherman) Shen, Atef Abdrabou, Ping Wang
2006 B conf
GLOBECOM
Hai Jiang, Kuang-Hao Liu, Weihua Zhuang, Xuemin Shen
2006 J jnl
Wirel. Commun. Mob. Comput.
Ho Ting Cheng, Hai Jiang, Weihua Zhuang
2006 A* conf
INFOCOM
Hai Jiang, Weihua Zhuang
2006 J jnl
IEEE Veh. Technol. Mag.
Hai Jiang, Weihua Zhuang, Xuemin Shen
2006 conf
ICC
Hai Jiang, Ping Wang, Weihua Zhuang
2006 J jnl
IEEE Wirel. Commun.
Ping Wang, Hai Jiang, Weihua Zhuang
2006 J jnl
IEEE J. Sel. Areas Commun.
Yang Xiao, Xuemin Shen, Hai Jiang
2006 conf
ICC
Ping Wang, Hai Jiang, Weihua Zhuang
2006 J jnl
IEEE J. Sel. Areas Commun.
Hai Jiang, Weihua Zhuang, Xuemin Shen, Qi Bi
2006 J jnl
IEEE Trans. Wirel. Commun.
Hai Jiang, Weihua Zhuang
2005 J jnl
IEEE Trans. Wirel. Commun.
Hai Jiang, Curt H. Davis
2005 J jnl
IEEE Commun. Mag.
Hai Jiang, Weihua Zhuang, Xuemin (Sherman) Shen
2005 B conf
WCNC
Hai Jiang, Weihua Zhuang, Xuemin Shen
2005 J jnl
IEEE Commun. Mag.
Yu Cheng, Hai Jiang, Weihua Zhuang, Zhisheng Niu, Chuang Lin
2005 J jnl
IEEE Trans. Veh. Technol.
Xuemin Shen, Weihua Zhuang, Hai Jiang, Jun Cai
2005 B conf
GLOBECOM
Hai Jiang, Weihua Zhuang
2005 J jnl
IEEE Netw.
Wei Song, Hai Jiang, Weihua Zhuang, Xuemin Shen
2005 J jnl
Wirel. Commun. Mob. Comput.
Ruobin Zheng, Weihua Zhuang, Hai Jiang
2004 B conf
GLOBECOM
Hai Jiang, Weihua Zhuang
2004 J jnl
IEEE Wirel. Commun.
Hai Jiang, Weihua Zhuang
2003 J jnl
IEEE Trans. Veh. Technol.
Hai Jiang, Curt H. Davis
2003 B conf
GLOBECOM
Hai Jiang, Weihua Zhuang
2001 J jnl
IEEE Trans. Geosci. Remote. Sens.
Curt H. Davis, Hai Jiang, Xiangyun Wang
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)