Venkatarami Reddy Chintapalli

34 papers B 7C 2Misc 7Journal 10Unranked 8
YearRankTypeTitle / Venue / Authors
2025 J jnl
Comput. Networks
Venkateswarlu Gudepu, Bhargav Chirumamilla, Venkatarami Reddy Chintapalli, Piero Castoldi, Luca Valcarenghi, Bheemarjuna Reddy Tamma, Koteswararao Kondepu
2025 Misc conf
COMSNETS
Shaik Sameer, Venkatarami Reddy Chintapalli
2025 Misc conf
COMSNETS
Venkatarami Reddy Chintapalli, Rajat Partani, Balaprakasa Rao Killi, Bheemarjuna Reddy Tamma
2025 B conf
CNSM
Akshit Kumar, Venkatarami Reddy Chintapalli, Bheemarjuna Reddy Tamma, C. Siva Ram Murthy
2024 Misc conf
COMSNETS
Solanki Himalay Harjivan, Amal Manikandan, Aditya Premjit, Venkatarami Reddy Chintapalli
2024 B conf
NOMS
Snigdha, Venkatarami Reddy Chintapalli, A. Antony Franklin
2024 J jnl
Comput. Networks
Venkatarami Reddy Chintapalli, Rajat Partani, Bheemarjuna Reddy Tamma, C. Siva Ram Murthy
2024 J jnl
IEEE Trans. Green Commun. Netw.
Venkatarami Reddy Chintapalli, Balaprakasa Rao Killi, Rajat Partani, Bheemarjuna Reddy Tamma, C. Siva Ram Murthy
2024 conf
VTC Spring
Veerendra Kumar Gautam, Venkatarami Reddy Chintapalli, Bheemarjuna Reddy Tamma, C. Siva Ram Murthy
2024 C conf
HPSR
Venkateswarlu Gudepu, Bhargav Chirumamilla, Venkatarami Reddy Chintapalli, Piero Castoldi, Luca Valcarenghi, Bheemarjuna Reddy Tamma, Deepak Kataria, Koteswararao Kondepu
2024 J jnl
CoRR
Venkateswarlu Gudepu, Bhargav Chirumamilla, Venkatarami Reddy Chintapalli, Piero Castoldi, Luca Valcarenghi, Bheemarjuna Reddy Tamma, Koteswararao Kondepu
2024 J jnl
Comput. Commun.
Suranjan Daw, Anwesha Kar, Venkatarami Reddy Chintapalli, Bheemarjuna Reddy Tamma, C. Siva Ram Murthy
2024 Misc conf
COMSNETS
Shaik Sameer, Venkatarami Reddy Chintapalli
2024 conf
ANTS
Rajashekhar Reddy Tella, Utkarsh Gupta, Venkateswarlu Gudepu, Venkatarami Reddy Chintapalli, Bheemarjuna Reddy Tamma, Koteswararao Kondepu
2024 J jnl
Comput. Networks
Venkateswarlu Gudepu, Venkatarami Reddy Chintapalli, Piero Castoldi, Luca Valcarenghi, Bheemarjuna Reddy Tamma, Koteswararao Kondepu
2023 conf
ANTS
Venkateswarlu Gudepu, Bhargav Chirumamilla, Venkatarami Reddy Chintapalli, Piero Castoldi, Luca Valcarenghi, Koteswararao Kondepu
2023 B conf
NetSoft
Venkateswarlu Gudepu, Venkatarami Reddy Chintapalli, Piero Castoldi, Luca Valcarenghi, Bheemarjuna Reddy Tamma, Koteswararao Kondepu
2023 Misc conf
COMSNETS
Venkateswarlu Gudepu, Venkatarami Reddy Chintapalli, Luca Valcarenghi, Koteswararao Kondepu
2023 conf
VTC Fall
Veerendra Kumar Gautam, Venkatarami Reddy Chintapalli, Bheemarjuna Reddy Tamma, C. Siva Ram Murthy
2023 B conf
NOMS
Keval Malde, Venkatarami Reddy Chintapalli, Bhavishya Sharma, Bheemarjuna Reddy Tamma, A. Antony Franklin
2023 J jnl
IEEE Trans. Netw. Serv. Manag.
Venkatarami Reddy Chintapalli, Sai Balaram Korrapati, Madhura Adeppady, Bheemarjuna Reddy Tamma, A. Antony Franklin, Balaprakasa Rao Killi
2023 B conf
NOMS
Venkatarami Reddy Chintapalli, Vishal Siva Kumar Giduturi, Bheemarjuna Reddy Tamma, A. Antony Franklin
2023 J jnl
Comput. Commun.
Balaprakasa Rao Killi, Rakesh Tripathi, Venkatarami Reddy Chintapalli
2022 J jnl
IEEE Access
Jorge Martín-Pérez, Koteswararao Kondepu, Danny De Vleeschauwer, Venkatarami Reddy Chintapalli, Carlos Guimarães, Andrea Sgambelluri, Luca Valcarenghi, Chrysa Papagianni, Carlos J. Bernardos
2022 B conf
NetSoft
Sagar Agarwal, Venkatarami Reddy Chintapalli, Bheemarjuna Reddy Tamma
2022 Misc conf
COMSNETS
Venkatarami Reddy Chintapalli, Sai Balaram Korrapati, Bheemarjuna Reddy Tamma, A. Antony Franklin
2022 C conf
WoWMoM
Venkatarami Reddy Chintapalli, Venkateswarlu Gudepu, Koteswararao Kondepu, Andrea Sgambelluri, Antony Franklin, Bheemarjuna Reddy Tamma, Piero Castoldi, Luca Valcarenghi
2021 J jnl
CoRR
Jorge Martín-Pérez, Koteswararao Kondepu, Danny De Vleeschauwer, Venkatarami Reddy Chintapalli, Carlos Guimarães, Andrea Sgambelluri, Luca Valcarenghi, Chrysa Papagianni, Carlos J. Bernardos
2020 conf
EuCNC
Venkatarami Reddy Chintapalli, Koteswararao Kondepu, Andrea Sgambelluri, A. Antony Franklin, Bheemarjuna Reddy Tamma, Piero Castoldi, Luca Valcarenghi
2019 conf
5G World Forum
Gaurav Garg, Venkatarami Reddy Chintapalli, Vanlin Sathya, A. Antony Franklin, Tamma Bheemarjuna Reddy
2019 Misc conf
COMSNETS
Gaurav Garg, Venkatarami Reddy Chintapalli, A. Antony Franklin, Bheemarjuna Reddy Tamma
2019 B conf
NetSoft
Venkatarami Reddy Chintapalli, Gaurav Garg, Bheemarjuna Reddy Tamma, A. Antony Franklin
2018 conf
WiNTECH
Thomas Valerrian Pasca Santhappan, Nabhasmita Sen, Venkatarami Reddy Chintapalli, Bheemarjuna Reddy Tamma, A. Antony Franklin
2011 conf
ACC (4)
Venkatarami Reddy Chintapalli
redb/extractors/apk_extractors/apk_native_libs.py
← Index redb/extractors/apk_extractors/apk_native_libs.py python
import fnmatch
import hashlib
import inspect
from datetime import datetime, timezone
from typing import Any

from redb.extractors.enum import Tag
from redb.extractors.apk_extractor import APKExtractor
from redb.models.dataclasses import APKNativeLib

# Known packer/protector native library names
KNOWN_PACKER_LIBS = {
    # Jiagu (360/Qihoo)
    "libjiagu.so", "libjiagu_a64.so", "libjiagu_x86.so", "libjiagu_x64.so",
    # Bangcle/SecNeo
    "libsecexe.so", "libsecmain.so", "libSecShell.so",
    # Baidu
    "libbaiduprotect.so",
    # Tencent (Legu)
    "libtxAppProtect.so", "libBugly.so",
    # iJiami
    "libexec.so", "libexecmain.so",
    # Alibaba
    "libmobisec.so", "libaliprotect.so",
    # APKProtect
    "libAPKProtect.so",
    # Pangxie (Pangolin)
    "libdexjni.so",
    # DexProtector
    "libdexprotector.so",
    # AppSolid
    "libAppSolid.so",
    # Kiwisec
    "libkwscmm.so",
    # DingXiang
    "libx3g.so",
    # NQ Shield
    "libnqshield.so",
    # Generic / other
    "libprotectClass.so",
    "libDexHelper.so",
    "libdexloader.so",
    "libfdog.so",
}

# Glob-style patterns for packer libs (e.g. libshella-*.so)
KNOWN_PACKER_PATTERNS = [
    "libshella-*.so",
    "libshell-super.*.so",
]


def is_known_packer_lib(filename):
    """Check if a native library filename matches known packer signatures."""
    if filename in KNOWN_PACKER_LIBS:
        return True
    for pattern in KNOWN_PACKER_PATTERNS:
        if fnmatch.fnmatch(filename, pattern):
            return True
    return False


class APKNativeLibExtractor(APKExtractor):

    def __init__(
        self, filepath, log, exporters=None, index_prefix=None,
        known_benign=False, known_malicious=False,
        apk=None,
    ):
        super().__init__(
            filepath, log, exporters, index_prefix,
            known_benign, known_malicious, apk,
        )
        self.native_libs = []
        self.abis = set()
        self.log.debug(inspect.currentframe().f_code.co_name)

    def tag(self):
        return Tag.APK_NATIVE_LIBS.value

    def extract(self):
        if not self._is_valid_apk():
            self.log.error(f"Invalid APK for {self.hash.sha256}")
            return None

        self.native_libs = []
        self.abis = set()

        zf = self._get_zip_file()
        if not zf:
            return None

        with zf:
            for info in zf.infolist():
                if not (info.filename.startswith("lib/") and info.filename.endswith(".so")):
                    continue
                parts = info.filename.split("/")
                if len(parts) < 3:
                    continue

                abi = parts[1]
                filename = parts[-1]
                self.abis.add(abi)

                try:
                    data = zf.read(info.filename)
                    lib_sha256 = hashlib.sha256(data).hexdigest()
                except Exception as e:
                    self.log.warning(f"Error reading native lib {info.filename}: {e}")
                    continue

                self.native_libs.append(APKNativeLib(
                    abi=abi,
                    filename=filename,
                    size=info.file_size,
                    sha256=lib_sha256,
                    is_known_packer=is_known_packer_lib(filename),
                ))

        if not self.native_libs:
            return None

        return {
            "native_lib_count": len(self.native_libs),
            "abis": sorted(self.abis),
            "native_libs": self.native_libs,
            "known_packer_libs": [
                lib for lib in self.native_libs if lib.is_known_packer
            ],
        }

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type == "ClickHouseExporter":
            if not self.native_libs:
                return None

            current_time = datetime.now(timezone.utc)
            data = []
            for lib in self.native_libs:
                data.append([
                    self.sha256,
                    lib.abi,
                    lib.filename,
                    lib.size,
                    lib.sha256,
                    int(lib.is_known_packer),
                    current_time,
                ])

            column_names = [
                'sha256', 'lib_abi', 'lib_filename', 'lib_size',
                'lib_sha256', 'lib_is_known_packer', 'analysis_date',
            ]

            column_type_names = [
                'FixedString(64)', 'LowCardinality(String)', 'String', 'UInt64',
                'FixedString(64)', 'UInt8', "DateTime64(3, 'UTC')",
            ]

            return (data, column_names, column_type_names)

    def get_clickhouse_table(self) -> str:
        return "redb_apk_native_libs"