Rajesh Kumar

55 papers Journal 50Unranked 5
YearRankTypeTitle / Venue / Authors
2024 conf
UCAmI
Rajesh Kumar, Akashdeep Kaur, Sharad Saxena
2024 J jnl
Clust. Comput.
Akashdeep Kaur, Sharad Saxena, Rajesh Kumar
2022 J jnl
Clust. Comput.
Simar Preet Singh, Rajesh Kumar, Anju Sharma, Jemal H. Abawajy, Ravneet Kaur
2022 J jnl
Concurr. Comput. Pract. Exp.
Simar Preet Singh, Rajesh Kumar, Anju Sharma, Anand Nayyar
2022 J jnl
Concurr. Comput. Pract. Exp.
Akashdeep Kaur, Rajesh Kumar, Sharad Saxena
2022 J jnl
Clust. Comput.
Navjeet Kaur, Ashok Kumar, Rajesh Kumar
2021 conf
MobiSec
Monika Bharti, Rajesh Kumar, Sharad Saxena, Vishal Sharma
2021 J jnl
Concurr. Comput. Pract. Exp.
Navjeet Kaur, Ashok Kumar, Rajesh Kumar
2020 J jnl
Int. J. Commun. Syst.
Monika Bharti, Sharad Saxena, Rajesh Kumar
2020 J jnl
Int. J. Ad Hoc Ubiquitous Comput.
Ashok Kumar, Anju Sharma, Rajesh Kumar
2020 J jnl
Simul. Model. Pract. Theory
Simar Preet Singh, Anju Sharma, Rajesh Kumar
2020 J jnl
Comput. Commun.
Simar Preet Singh, Anju Sharma, Rajesh Kumar
2020 J jnl
Sensors
Mohd. Abuzar Sayeed, Rajesh Kumar, Vishal Sharma, Mohd Asim Sayeed
2020 J jnl
Concurr. Comput. Pract. Exp.
Simar Preet Singh, Rajesh Kumar, Anju Sharma
2020 J jnl
Int. J. Commun. Syst.
Mohd. Abuzar Sayeed, Rajesh Kumar, Vishal Sharma
2020 J jnl
Comput. Electr. Eng.
Monika Bharti, Rajesh Kumar, Sharad Saxena, Himanshu Jindal
2020 J jnl
IET Commun.
Mohd. Abuzar Sayeed, Rajesh Kumar, Vishal Sharma
2019 conf
CVIP (2)
Harjeet Singh, Rajendra Kumar Sharma, Rajesh Kumar, Karun Verma, Ravinder Kumar, Munish Kumar
2019 J jnl
Int. J. Ad Hoc Ubiquitous Comput.
Vishal Sharma, Roberto Sabatini, Subramanian Ramasamy, Kathiravan Srinivasan, Rajesh Kumar
2019 J jnl
J. Supercomput.
Simar Preet Singh, Anand Nayyar, Rajesh Kumar, Anju Sharma
2019 J jnl
Int. J. Ad Hoc Ubiquitous Comput.
Vishal Sharma, Rajesh Kumar
2018 J jnl
Int. J. Commun. Syst.
Monika Bharti, Rajesh Kumar, Sharad Saxena
2018 J jnl
Concurr. Comput. Pract. Exp.
Monika Bharti, Rajesh Kumar, Sharad Saxena
2018 J jnl
Comput. Informatics
Ashok Kumar, Rajesh Kumar, Anju Sharma
2018 J jnl
Comput. Informatics
Ashok Kumar, Rajesh Kumar, Anju Sharma
2018 J jnl
Soft Comput.
Vishal Sharma, Daniel Gutiérrez-Reina, Rajesh Kumar
2018 J jnl
Int. J. Ad Hoc Ubiquitous Comput.
Vishal Sharma, Ilsun You, Rajesh Kumar, Varun Chauhan
2018 J jnl
Neural Comput. Appl.
Vishal Sharma, Rajesh Kumar
2017 conf
MobiSec
Rajesh Kumar, Mohd. Abuzar Sayeed, Vishal Sharma, Ilsun You
2017 J jnl
Concurr. Comput. Pract. Exp.
Vishal Sharma, Rajesh Kumar
2017 J jnl
J. Comput. Syst. Sci.
Vishal Sharma, Hsing-Chung Chen, Rajesh Kumar
2017 J jnl
J. Supercomput.
Vishal Sharma, Kathiravan Srinivasan, Rajesh Kumar, Han-Chieh Chao, Kai-Lung Hua
2017 J jnl
Telecommun. Syst.
Vishal Sharma, Rajesh Kumar
2017 J jnl
Comput. Electr. Eng.
Monika Bharti, Sharad Saxena, Rajesh Kumar
2017 J jnl
Inf. Sci.
Vishal Sharma, Ravinder Kumar, Rajesh Kumar
2017 J jnl
Concurr. Comput. Pract. Exp.
Ashok Kumar, Anju Sharma, Rajesh Kumar
2017 J jnl
Concurr. Comput. Pract. Exp.
Priyanka Vashisht, Anju Sharma, Rajesh Kumar
2017 J jnl
Int. J. Commun. Syst.
Vishal Sharma, Rajesh Kumar
2016 J jnl
Mob. Inf. Syst.
Vishal Sharma, Ilsun You, Rajesh Kumar
2016 J jnl
Comput. Informatics
Vishal Sharma, Rajesh Kumar
2016 J jnl
CoRR
Vishal Sharma, Mehdi Bennis, Rajesh Kumar
2016 J jnl
IEEE Commun. Lett.
Vishal Sharma, Mehdi Bennis, Rajesh Kumar
2015 J jnl
J. Intell. Robotic Syst.
Vishal Sharma, Rajesh Kumar
2015 J jnl
Softw. Pract. Exp.
Manoj Kumar, Arun Sharma, Rajesh Kumar
2015 J jnl
IEEE Commun. Lett.
Vishal Sharma, Rajesh Kumar, Prashant Singh Rana
2015 J jnl
J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl.
Vishal Sharma, Rajesh Kumar, Neeraj Rathore
2014 J jnl
IET Softw.
Manoj Kumar, Arun Sharma, Rajesh Kumar
2013 J jnl
Comput. Informatics
Vijay Kumar, Arun Sharma, Rajesh Kumar
2012 J jnl
Softw. Pract. Exp.
Vijay Kumar, Arun Sharma, Rajesh Kumar, Pritam S. Grover
2011 J jnl
J. Softw. Eng. Appl.
Manoj Kumar, Arun Sharma, Rajesh Kumar
2011 J jnl
Int. J. Softw. Eng. Knowl. Eng.
Avadhesh Kumar, Rajesh Kumar, P. S. Grover
2010 J jnl
J. Object Technol.
Rajesh Kumar, P. S. Grover, Avadhesh Kumar
2009 J jnl
ACM SIGSOFT Softw. Eng. Notes
Avadhesh Kumar, P. S. Grover, Rajesh Kumar
2009 J jnl
ACM SIGSOFT Softw. Eng. Notes
Arun Sharma, Pritam S. Grover, Rajesh Kumar
2009 conf
IC3
Arun Sharma, Pritam S. Grover, Rajesh Kumar
redb/extractors/decompiler/apk/library_filter.py
← Index redb/extractors/decompiler/apk/library_filter.py python
"""Package-based library filtering for APK DEX code analysis.

Determines whether a method belongs to a known library/framework package
and should be filtered out of content tables. This is the Android equivalent
of is_lib_or_thunk() in the Binary Ninja pipeline.
"""

import os
from typing import Dict, List


DEFAULT_LIBRARY_PREFIXES = [
    "android.",
    "androidx.",
    "com.google.android.",
    "com.google.firebase.",
    "com.google.gson.",
    "com.google.protobuf.",
    "kotlin.",
    "kotlinx.",
    "org.apache.",
    "com.squareup.",
    "io.reactivex.",
    "org.reactivestreams.",
    "com.facebook.",
    "com.crashlytics.",
    "io.fabric.",
    "org.junit.",
    "org.mockito.",
]


class LibraryFilter:
    """Filters library/framework classes from APK analysis."""

    def __init__(self, prefixes: List[str] = None):
        env_prefixes = os.getenv("APK_LIBRARY_PREFIXES")
        if env_prefixes:
            self._prefixes = [p.strip() for p in env_prefixes.split(",") if p.strip()]
        elif prefixes is not None:
            self._prefixes = prefixes
        else:
            self._prefixes = DEFAULT_LIBRARY_PREFIXES

        # Convert Dalvik-style prefixes to both formats for matching
        self._dot_prefixes = tuple(self._prefixes)

        self._stats = {"library": 0, "user": 0}

    def is_library(self, class_name: str) -> bool:
        """Check if a class belongs to a known library/framework package.

        Accepts both Java dot notation (com.example.Foo) and Dalvik
        descriptor notation (Lcom/example/Foo;).
        """
        # Normalize Dalvik descriptor to dot notation
        normalized = self._normalize_class_name(class_name)

        is_lib = normalized.startswith(self._dot_prefixes)
        if is_lib:
            self._stats["library"] += 1
        else:
            self._stats["user"] += 1
        return is_lib

    def get_filter_stats(self) -> Dict[str, int]:
        """Return counts of filtered vs. retained classes."""
        return dict(self._stats)

    @staticmethod
    def _normalize_class_name(class_name: str) -> str:
        """Convert Dalvik descriptor to dot notation.

        Lcom/example/Foo; -> com.example.Foo
        com.example.Foo -> com.example.Foo
        """
        if class_name.startswith("L") and class_name.endswith(";"):
            return class_name[1:-1].replace("/", ".")
        return class_name.replace("/", ".")