Xiaohui Huang

60 papers B 2Journal 57Unranked 1
YearRankTypeTitle / Venue / Authors
2026 J jnl
Hum. Centric Intell. Syst.
Xiaohui Huang, Junhang Zong, Xiaofei Yang, Ying Yu
2026 J jnl
Expert Syst. Appl.
Xiaohui Huang, Xiaoji Cheng, Nan Jiang, Wei Liu, Ying Yu
2026 J jnl
Intell. Data Anal.
Xiangze Liu, Yuan Jiang, Xiaohui Huang, Nan Jiang, Liyan Xiong
2026 J jnl
Expert Syst. Appl.
Ruikang Liu, Qingwen Xie, Nan Jiang, Cheng Zha, Zhaohui Yuan, Xiaohui Huang, Mengfei Duan
2025 J jnl
IEEE Trans. Geosci. Remote. Sens.
Mingzhou Li, Xiaohui Huang, Fu Wang, Xiaofei Yang, Jiangtao Peng, Yifang Ban, Nan Jiang
2025 J jnl
Clust. Comput.
Hui Zeng, Qiang Cui, Xiaohui Huang, Xuewei Duan
2025 J jnl
Inf. Sci.
Jiahao Ling, Xiaohui Huang, Xiaofei Yang, Boxue Cheng
2025 J jnl
Multim. Syst.
Liyan Xiong, Zhida Li, Xiaohui Huang, Heng Wang
2025 J jnl
Clust. Comput.
Jiawen Huang, Liyan Xiong, Xiaohui Huang, Qingsen Chen, Peng Huang
2025 J jnl
IEEE Trans. Ind. Informatics
Sihao Zhao, Fu Wang, Xiaohui Huang, Xiaofei Yang, Nan Jiang, Jiangtao Peng, Yifang Ban
2025 J jnl
IEEE Geosci. Remote. Sens. Lett.
WenHai Li, Xianhong Zhu, Xiaohui Huang, Xiaofei Yang, Peng Huang
2024 J jnl
Complex Intell. Syst.
Jiahao Ling, Yuanchun Lan, Xiaohui Huang, Xiaofei Yang
2024 J jnl
Clust. Comput.
Yuanchun Lan, Jiahao Ling, Xiaohui Huang, Junyang Wang, Zhuyi Hu, Liyan Xiong
2024 J jnl
Appl. Intell.
Xuebo Cheng, Xiaohui Huang, Zhichao Huang, Nan Jiang
2024 J jnl
IEEE Trans. Geosci. Remote. Sens.
Yunfei Zhou, Xiaohui Huang, Xiaofei Yang, Jiangtao Peng, Yifang Ban
2024 J jnl
Neural Process. Lett.
Liyan Xiong, Xinhua Yuan, Zhuyi Hu, Xiaohui Huang, Peng Huang
2024 J jnl
Clust. Comput.
Liyan Xiong, Yijuan Zeng, Xiaohui Huang, Zhida Li, Peng Huang
2024 J jnl
IEEE Trans. Geosci. Remote. Sens.
Yunfei Zhou, Xiaohui Huang, Xiaofei Yang, Jiangtao Peng, Yifang Ban, Nan Jiang
2024 J jnl
Clust. Comput.
Liyan Xiong, Zhuyi Hu, Xinhua Yuan, Weihua Ding, Xiaohui Huang, Yuanchun Lan
2024 J jnl
Remote. Sens.
Xianhong Zhu, Xiaohui Huang, Weijia Cao, Xiaofei Yang, Yunfei Zhou, Shaokai Wang
2024 conf
IoTML
Xiangze Liu, Xiaohui Huang, Yuanchun Lan, Liyan Xiong, Nan Jiang
2024 J jnl
Clust. Comput.
Hui Zeng, Xuewei Duan, Xiaohui Huang, Qiang Cui
2024 J jnl
Clust. Comput.
Hui Zeng, Qiang Cui, Xiaohui Huang, Xuewei Duan
2024 J jnl
Multim. Syst.
Liyan Xiong, Qingsen Chen, Jiawen Huang, Xiaohui Huang, Peng Huang, Shangfeng Wei
2023 J jnl
Multim. Tools Appl.
Liyan Xiong, Hu Yi, Xiaohui Huang, Weichun Huang
2023 J jnl
Appl. Intell.
Xiaohui Huang, Xiong Zhang, Jiahao Ling, Xuebo Cheng
2023 J jnl
Appl. Intell.
Weichun Huang, Yixue Yang, Xiaohui Huang, Zhiying Peng, Liyan Xiong
2023 J jnl
IEEE Syst. J.
Xiaohui Huang, Kaiming Yang, Jiahao Ling
2023 J jnl
Appl. Intell.
Xiaohui Huang, Yuan Jiang, Jie Tang
2023 J jnl
Sensors
Xiaohui Huang, Junyang Wang, Yuanchun Lan, Chaojie Jiang, Xinhua Yuan
2023 J jnl
IEEE Trans. Intell. Transp. Syst.
Xiaohui Huang, Jiahao Ling, Xiaofei Yang, Xiong Zhang, Kaiming Yang
2023 J jnl
Expert Syst. Appl.
Xiaohui Huang, Yuming Ye, Xiaofei Yang, Liyan Xiong
2023 J jnl
Remote. Sens.
Xiaohui Huang, Yunfei Zhou, Xiaofei Yang, Xianhong Zhu, Ke Wang
2023 J jnl
Multim. Syst.
Liyan Xiong, Zhida Li, Xiaohui Huang, Yijuan Zeng, Peng Huang
2022 J jnl
Appl. Intell.
Xiaohui Huang, Yuming Ye, Cheng Wang, Xiaofei Yang, Liyan Xiong
2022 J jnl
Appl. Intell.
Xiaohui Huang, Jie Tang, Xiaofei Yang, Liyan Xiong
2022 J jnl
Sensors
Weichun Huang, Yixue Yang, Zhiying Peng, Liyan Xiong, Xiaohui Huang
2022 J jnl
Appl. Intell.
Hui Zeng, Zhiying Peng, Xiaohui Huang, Yixue Yang, Rong Hu
2022 J jnl
Inf. Sci.
Xiaohui Huang, Yuming Ye, Weihua Ding, Xiaofei Yang, Liyan Xiong
2022 J jnl
IEEE Access
Xiaohui Huang, Yuming Ye, Xiaofei Yang, Liyan Xiong
2022 J jnl
Neurocomputing
Hong Tang, Xiangzheng Ling, Liangzhi Li, Liyan Xiong, Yu Yao, Xiaohui Huang
2020 J jnl
IEEE Access
Liyan Xiong, Xiangzheng Ling, Xiaohui Huang, Hong Tang, Weimin Yuan, Weichun Huang
2020 J jnl
Remote. Sens.
Xiaofei Yang, Xiaofeng Zhang, Yunming Ye, Raymond Y. K. Lau, Shijian Lu, Xutao Li, Xiaohui Huang
2019 J jnl
Entropy
Liyan Xiong, Cheng Wang, Xiaohui Huang, Hui Zeng
2019 J jnl
Entropy
Shaokai Wang, Xutao Li, Yunming Ye, Shanshan Feng, Raymond Y. K. Lau, Xiaohui Huang, Xiaolin Du
2019 J jnl
IEEE Trans. Geosci. Remote. Sens.
Xiaofei Yang, Xutao Li, Yunming Ye, Raymond Y. K. Lau, Xiaofeng Zhang, Xiaohui Huang
2019 B conf
IJCNN
Xiaofei Yang, Xutao Li, Yunming Ye, Xiaofeng Zhang, Haijun Zhang, Xiaohui Huang, Bowen Zhang
2018 J jnl
Knowl. Based Syst.
Xiaohui Huang, Xiaofei Yang, Junhui Zhao, Liyan Xiong, Yunming Ye
2018 J jnl
IEEE Trans. Geosci. Remote. Sens.
Xiaofei Yang, Yunming Ye, Xutao Li, Raymond Y. K. Lau, Xiaofeng Zhang, Xiaohui Huang
2018 J jnl
Neurocomputing
Shaokai Wang, Xutao Li, Yunming Ye, Xiaohui Huang, Yan Li
2017 B conf
IJCNN
Shaokai Wang, Xutao Li, Yunming Ye, Yan Li, Xiaohui Huang, Xiaolin Du
2017 J jnl
Neural Process. Lett.
Shaokai Wang, Yunming Ye, Xutao Li, Xiaohui Huang, Raymond Y. K. Lau
2016 J jnl
Neurocomputing
Liyan Xiong, Yin Lei, Weichun Huang, Xiaohui Huang, Maosheng Zhong
2016 J jnl
Knowl. Based Syst.
Xiaohui Huang, Yunming Ye, Liyan Xiong, Shaokai Wang, Xiaofei Yang
2016 J jnl
Multim. Tools Appl.
Xiaolin Du, Yunming Ye, Raymond Y. K. Lau, Yueping Li, Xiaohui Huang
2016 J jnl
Inf. Sci.
Xiaohui Huang, Yunming Ye, Liyan Xiong, Raymond Y. K. Lau, Nan Jiang, Shaokai Wang
2014 J jnl
Knowl. Based Syst.
Xiaohui Huang, Yunming Ye, Huifeng Guo, Yi Cai, Haijun Zhang, Yan Li
2014 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Xiaohui Huang, Yunming Ye, Haijun Zhang
2014 J jnl
J. Multim.
Ge Song, Yunming Ye, Xiaolin Du, Xiaohui Huang, Shifu Bie
2013 J jnl
J. Softw.
Xiaolin Du, Yunming Ye, Yueping Li, Xiaohui Huang
redb/extractors/decompiler/apk/apktool_wrapper.py
← Index redb/extractors/decompiler/apk/apktool_wrapper.py python
"""Apktool disassembler subprocess wrapper.

Manages apktool subprocess execution for smali disassembly,
following the CAPA extractor subprocess pattern.
"""

import os
import signal
import subprocess
from typing import List, Optional


class ApktoolDisassembler:
    """Subprocess wrapper for apktool smali disassembly."""

    def __init__(
        self, apktool_path: str = None, timeout: int = None, log=None
    ):
        self.apktool_path = apktool_path or os.getenv("APKTOOL_PATH", "apktool")
        self.timeout = timeout or int(os.getenv("APKTOOL_TIMEOUT", "120"))
        self.log = log

    def disassemble(self, apk_path: str, output_dir: str) -> bool:
        """Run apktool disassembly on an APK file.

        Returns True on success, False on failure.
        """
        cmd = [
            self.apktool_path,
            "d",
            "--no-res",
            "--force",
            "--output", output_dir,
            apk_path,
        ]

        try:
            process = subprocess.Popen(
                cmd,
                stdout=subprocess.PIPE,
                stderr=subprocess.PIPE,
                text=True,
                preexec_fn=os.setsid,
            )

            try:
                stdout, stderr = process.communicate(timeout=self.timeout)
                if process.returncode != 0:
                    if self.log:
                        self.log.warning(
                            f"apktool returned non-zero exit code {process.returncode}: "
                            f"{stderr[:500] if stderr else 'no stderr'}"
                        )
                    return False
                return True

            except subprocess.TimeoutExpired:
                if self.log:
                    self.log.error(
                        f"apktool timed out after {self.timeout}s"
                    )
                try:
                    os.killpg(os.getpgid(process.pid), signal.SIGTERM)
                    process.wait(timeout=3)
                except (ProcessLookupError, subprocess.TimeoutExpired):
                    try:
                        os.killpg(os.getpgid(process.pid), signal.SIGKILL)
                    except ProcessLookupError:
                        pass
                return False

        except FileNotFoundError:
            if self.log:
                self.log.error(
                    f"apktool not found at '{self.apktool_path}'. "
                    "Install apktool or set APKTOOL_PATH env var."
                )
            return False
        except Exception as e:
            if self.log:
                self.log.error(f"apktool execution error: {e}")
            return False

    def get_smali_directories(self, output_dir: str) -> List[str]:
        """Return paths to all smali output directories.

        Handles multi-DEX: smali/, smali_classes2/, smali_classes3/, etc.
        """
        smali_dirs = []
        if not os.path.isdir(output_dir):
            return smali_dirs

        for entry in sorted(os.listdir(output_dir)):
            if entry == "smali" or entry.startswith("smali_classes"):
                full_path = os.path.join(output_dir, entry)
                if os.path.isdir(full_path):
                    smali_dirs.append(full_path)

        return smali_dirs