Han-Pang Huang

106 papers A* 20A 15B 10Journal 35Unranked 24
YearRankTypeTitle / Venue / Authors
2025 J jnl
Int. J. Humanoid Robotics
Pin-Tsun Chen, Han-Pang Huang, Jia-Hsun Lo, Shun-Kai Chang
2025 B conf
SMC
Jia-Hsun Lo, Cheng-ming Guo, Han-Pang Huang
2025 J jnl
IEEE Access
Jia-Hsun Lo, Han-Pang Huang, Yen-Ching Chen, Jen-Hau Chen
2025 A conf
IROS
Chieh-Yu Liao, Yu-Lin Zhao, Han-Pang Huang
2024 J jnl
Sensors
Sin-Ru Lu, Jia-Hsun Lo, Yi-Tian Hong, Han-Pang Huang
2023 J jnl
IEEE Open J. Circuits Syst.
Ze-Feng Zhan, Han-Pang Huang
2023 J jnl
Sensors
Jia-Hsun Lo, Han-Pang Huang, Su-Ching Sung
2022 J jnl
Sensors
Wei-Ting Weng, Han-Pang Huang, Yu-Lin Zhao, Chun-Yeon Lin
2022 J jnl
Int. J. Humanoid Robotics
Astra Chun-Hui Lee, Huan-Kun Hsu, Han-Pang Huang
2022 J jnl
Adv. Robotics
Huan-Kun Hsu, Yun-Han Wang, Han-Pang Huang
2021 J jnl
Robotica
Po-Jen Cheng, Hsiang-Yuan Ting, Han-Pang Huang
2019 J jnl
Adv. Robotics
Huan-Kun Hsu, Han-Pang Huang, Ming-Bao Huang
2019 J jnl
IEEE Access
Ping-Feng Lin, Ming-Bao Huang, Han-Pang Huang
2019 conf
SII
Yi-Ren Liu, Ming-Bao Huang, Han-Pang Huang
2019 J jnl
IEEE Access
Ming-Bao Huang, Han-Pang Huang
2019 J jnl
Sensors
Shan-Qian Ji, Ming-Bao Huang, Han-Pang Huang
2017 B conf
RO-MAN
Wen-Ying Lee, Ming-Bao Huang, Han-Pang Huang
2016 J jnl
IEEE Trans. Cybern.
Ching-An Cheng, Han-Pang Huang
2016 J jnl
IEEE Trans. Cybern.
Ching-An Cheng, Han-Pang Huang, Huan-Kun Hsu, Wei-Zh Lai, Chih-Chun Cheng
2016 J jnl
Intell. Serv. Robotics
Sheng-Yen Lo, Han-Pang Huang
2016 J jnl
J. Intell. Robotic Syst.
Sheng-Yen Lo, Ching-An Cheng, Han-Pang Huang
2015 conf
CASE
Ming-Bao Huang, Han-Pang Huang, Chih-Chun Cheng, Ching-An Cheng
2015 conf
AIM
Che-Hsuan Chang, Han-Pang Huang, Huan-Kun Hsu, Ching-An Cheng
2014 conf
CASE
Chia-He Chen, Han-Pang Huang, Sheng-Yen Lo
2014 conf
CASE
Hung-yi Lee, Han-Pang Huang, Huan-Kun Hsu
2014 J jnl
J. Intell. Robotic Syst.
Tzu-Hao Huang, Han-Pang Huang, Jiun-Yih Kuan
2013 J jnl
Sensors
Ming-Hui Chang, Han-Pang Huang
2013 conf
AIM
Ching-An Cheng, Tzu-Hao Huang, Han-Pang Huang
2013 conf
ARSO
Angel G. Miranda, Shu Huang, Yung-Jung Chang, Han-Pang Huang
2013 A conf
IROS
Tzu-Hao Huang, Ching-An Cheng, Han-Pang Huang
2013 J jnl
Adv. Robotics
Han-Pang Huang, Jiu-Lou Yan, Teng-Hu Cheng
2012 A conf
IROS
Tzu-Hao Huang, Han-Pang Huang, Ching-An Cheng, Jiun-Yih Kuan, Po-Ting Lee, Shih-Yi Huang
2012 conf
ROBIO
Pin-Yong Ling, Kenneth Yi-Wen Chao, Han-Pang Huang, Jiu-Lou Yan
2012 A* conf
ICRA
Han-Pang Huang, Po-Wei Wu
2012 A conf
IROS
Shu Yun Chung, Han-Pang Huang
2011 B conf
SMC
Han-Pang Huang, Tz-Hau Huang, Yi-Hung Liu, Zhi-Hao Kang, Jyh-Tong Teng
2011 conf
ROBIO
Ren-Jeng Wang, Han-Pang Huang
2011 J jnl
Adv. Robotics
Jiun-Yih Kuan, Tzu-Hao Huang, Han-Pang Huang, Yen-Tsung Chen
2011 J jnl
Sensors
Ming-Hui Chang, Yu-Jie Huang, Han-Pang Huang, Shey-Shi Lu
2011 A conf
IROS
Tzu-Hao Huang, Jiun-Yih Kuan, Han-Pang Huang
2011 conf
ROBIO
Po-Jen Cheng, Han-Pang Huang
2011 J jnl
Adv. Eng. Informatics
Han-Pang Huang, Ying-Ting Chang
2011 J jnl
Adv. Robotics
Shu Yun Chung, Han-Pang Huang
2010 A conf
IROS
Shu Yun Chung, Han-Pang Huang
2010 conf
ROBIO
Ren-Jeng Wang, Han-Pang Huang
2010 A conf
IROS
Ren-Jeng Wang, Han-Pang Huang
2010 B conf
SMC
Yi-Hung Liu, Jui-Tsung Weng, Zhi-Hao Kang, Jyh-Tong Teng, Han-Pang Huang
2010 J jnl
IEEE Trans. Ind. Electron.
Han-Pang Huang, Jiu-Lou Yan, Teng-Hu Cheng
2010 conf
Humanoids
Teng-Hu Cheng, Han-Pang Huang, Jiu-Lou Yan, Yi-Wen Chao
2010 conf
ROBIO
Teng-Hu Cheng, Han-Pang Huang, Jiu-Lou Yan
2010 J jnl
Adv. Robotics
Shu Yun Chung, Han-Pang Huang
2009 conf
ROBIO
Chia-Chen Lin, Han-Pang Huang
2009 J jnl
J. Inf. Sci. Eng.
Han-Pang Huang, Feng-Cheng Yang, Ming-Tzong Wang, Chia-Ming Chang
2009 A conf
IROS
Yi-Chih Tsai, Han-Pang Huang
2009 B conf
SMC
Yi-Hung Liu, Han-Pang Huang
2008 conf
ROBIO
Jia Hong Chen, Han-Pang Huang
2008 conf
ROBIO
Jiun-Yih Kuan, Han-Pang Huang
2008 A conf
IROS
Shu Yun Chung, Han-Pang Huang
2007 conf
ROBIO
Jiun-Yih Kuan, Chin Peng Liu, Han-Pang Huang
2007 conf
ROBIO
Shu Yun Chung, Han-Pang Huang
2007 A* conf
ICRA
Han-Pang Huang, Ying-Ting Chang
2006 A conf
IROS
Po-Chih Chen, Han-Pang Huang
2006 B conf
SMC
Han-Pang Huang, Tien-Ying Chen
2006 conf
CASE
Han-Pang Huang, Ching-Shun Chen, Tien-Ying Chen
2006 conf
ROBIO
Han-Pang Huang, Chun-Ting Lin
2006 conf
CASE
Han-Pang Huang, Tien-Ying Chen
2006 A conf
IROS
Shu Yun Chung, Han-Pang Huang
2005 conf
SoCC
Chih-Peng Liu, Han-Pang Huang
2005 A conf
IROS
Han-Pang Huang, Lu-Pei Hsu
2005 conf
CASE
Yi-Hung Liu, Han-Pang Huang, Yu-Sheng Lin
2005 conf
SoCC
Chih-Peng Liu, Han-Pang Huang
2005 J jnl
Int. J. Comput. Integr. Manuf.
Chung-Hsien Kuo, Han-Pang Huang, MuDer Jeng, Li-Der Jeng
2004 A conf
IROS
Han-Pang Huang, Fu-Jen Hsiao
2004 A conf
IROS
Han-Pang Huang, Shu Yun Chung
2003 A* conf
ICRA
Han-Pang Huang, Yi-Hung Liu, Chun-Shin Wong
2003 J jnl
IEEE Trans. Robotics Autom.
Chung-Hsien Kuo, Han-Pang Huang
2003 A* conf
ICRA
Han-Pang Huang, Yi-Hung Liu, Li-Wei Liu, Chun-Shin Wong
2003 J jnl
IEEE Trans. Educ.
Han-Pang Huang, Chiou-Hwa Lu
2002 A* conf
ICRA
Han-Pang Huang, Chun-Tsong Wang
2002 J jnl
Fuzzy Sets Syst.
Han-Pang Huang, Chao-Chiun Liang
2001 B conf
FUZZ-IEEE
Han-Pang Huang, Yi-Hung Liu
2001 B conf
SMC
Chih-Yuan Yu, Han-Pang Huang
2001 B conf
SMC
Yi-Hung Liu, Han-Pang Huang
2001 A* conf
ICRA
Chih-Yuan Yu, Han-Pang Huang
2001 A* conf
ICRA
Han-Pang Huang, Che-Lung Wang
2000 A* conf
ICRA
Han-Pang Huang, Chun-Ying Chiang
2000 J jnl
IEEE Trans. Robotics Autom.
Chung-Hsien Kuo, Han-Pang Huang
2000 A* conf
ICRA
Chung-Hsien Kuo, Han-Pang Huang
2000 A* conf
ICRA
Jia-Yang Juang, Han-Pang Huang
1999 A* conf
ICRA
Han-Pang Huang, Chun-Yen Chen
1999 A* conf
ICRA
Chien-Fa Yeh, Han-Pang Huang
1998 A conf
IROS
Han-Pang Huang, Chao-Chiun Liang
1998 A* conf
ICRA
Han-Pang Huang, Ya-Fu Wei
1998 B conf
SMC
Han-Pang Huang, Ting-Cheng Shih
1997 A* conf
ICRA
Chung-Hseng Kuo, Han-Pang Huang
1996 A* conf
ICRA
Jiunn-Cherng Wang, Han-Pang Huang
1996 A* conf
ICRA
Li-Ren Lin, Han-Pang Huang
1995 A* conf
ICRA
Jiunn-Cherng Wang, Han-Pang Huang
1993 ch.
Robotics, Mechatronics and Manufacturing Systems
Han-Pang Huang
1993 ch.
Robotics, Mechatronics and Manufacturing Systems
Han-Pang Huang, Pei-Chien Lee
1992 J jnl
Robotica
Han-Pang Huang, Pei-Chien Lee
1992 J jnl
J. Field Robotics
Han-Pang Huang, Ruey-Sheng Chen
1990 A* conf
ICRA
Han-Pang Huang, Marlon Lin
1988 A* conf
ICRA
Han-Pang Huang
1988 J jnl
IEEE J. Robotics Autom.
Han-Pang Huang, N. Harris McClamroch
1987 A* conf
ICRA
Han-Pang Huang, N. Harris McClamroch
redb/extractors/decompiler/_archive/ghidra-test.py
← Index redb/extractors/decompiler/_archive/ghidra-test.py python
import subprocess
import json
import os
import tempfile
import uuid
import shutil
import sys
import time


def run_command(cmd, env=None):
    try:
        print(f"Starting command: {' '.join(cmd)}")
        start_time = time.time()
        process = subprocess.Popen(
            cmd, env=env, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True
        )

        while True:
            output = process.stdout.readline()
            if output:
                print(output.strip())
            if process.poll() is not None:
                break

        stdout, stderr = process.communicate()
        end_time = time.time()

        print(f"Command finished. Execution time: {end_time - start_time:.2f} seconds")
        print(f"Return code: {process.returncode}")

        if process.returncode != 0:
            print(f"Error output:\n{stderr}")
            return None
        return stdout
    except Exception as e:
        print(f"Error running command {' '.join(cmd)}: {e}")
        return None


def analyze_binary(ghidra_path, binary_path, java_script_path):
    print(f"Ghidra path: {ghidra_path}")
    print(f"Binary path: {binary_path}")
    print(f"Java script path: {java_script_path}")

    # Check if Java script exists
    if not os.path.exists(java_script_path):
        print(f"Error: Java script not found at {java_script_path}")
        return None

    # Set up environment variables
    env = os.environ.copy()
    java_home = "/usr/lib/jvm/java-17-openjdk-amd64"  # Adjust this path if needed
    env["JAVA_HOME"] = java_home
    env["PATH"] = f"{java_home}/bin:{env['PATH']}"
    env["LD_LIBRARY_PATH"] = f"{java_home}/lib:{env.get('LD_LIBRARY_PATH', '')}"

    # Print environment variables for debugging
    print(f"JAVA_HOME: {env['JAVA_HOME']}")
    print(f"PATH: {env['PATH']}")
    print(f"LD_LIBRARY_PATH: {env['LD_LIBRARY_PATH']}")

    # Check Ghidra installation
    analyzeHeadless_path = f"{ghidra_path}/support/analyzeHeadless"
    print(f"analyzeHeadless exists: {os.path.exists(analyzeHeadless_path)}")

    print(f"Binary file exists: {os.path.exists(binary_path)}")

    # Check Java
    java_version = run_command(["java", "-version"], env=env)
    print(f"Java version: {java_version}")

    # Create a temporary project directory
    project_path = tempfile.gettempdir() + "/ghidra_" + str(uuid.uuid4())
    os.makedirs(project_path, exist_ok=True)
    print(f"Created temporary project path: {project_path}")
    output_file = ""

    try:
        # Run Ghidra's headless analyzer
        analyze_cmd = [
            analyzeHeadless_path,
            project_path,
            "TempProject",
            "-import",
            binary_path,
            "-postScript",
            java_script_path,
            "-deleteProject",
        ]

        result = run_command(analyze_cmd, env=env)
        if result is None:
            return None

        # Read the output JSON file
        output_file = "ghidra_output.json"
        if os.path.exists(output_file):
            with open(output_file, "r") as f:
                functions = json.load(f)
            return functions
        else:
            print(
                f"Output file {output_file} not found. Ghidra analysis may have failed."
            )
            # List files in the current directory
            print("Files in the current directory:")
            print("\n".join(os.listdir(".")))
            return None
    finally:
        # Clean up
        if os.path.exists(output_file):
            os.remove(output_file)
        if os.path.exists(project_path):
            shutil.rmtree(project_path)


# Example usage
if __name__ == "__main__":
    # if len(sys.argv) != 4:
    #     print("Usage: python script.py <ghidra_path> <binary_path> <java_script_path>")
    #     sys.exit(1)

    # ghidra_path = sys.argv[1]
    # binary_path = sys.argv[2]
    # java_script_path = sys.argv[3]

    ghidra_path = "/opt/ghidra"
    binary_path = "/home/p4c0/dev/redb/test_files/hello"
    java_script_path = (
        "/opt/ghidra/Ghidra/Features/Base/ghidra_scripts/GhidraDecompilerScript.java"
    )

    functions = analyze_binary(ghidra_path, binary_path, java_script_path)

    if functions:
        print(f"Extracted functions from {binary_path}:")
        for func in functions:
            print(f"\nFunction: {func['name']}")
            print(f"Address: {func['address']}")
            print(f"Decompiled code:\n{func['decompiled']}")
    else:
        print("Failed to extract functions.")