# Finds content providers/resolvers on Android devices
### Some things you have to know:
- You might need root accessÂ
- I have only tested it against BlueStacks / Windows 10 / Python 3.9.
```python
$pip install fetch-content-providers-and-resolvers
from fetch_content_providers_and_resolvers import ContentProviderResolverFetcher
adb_path = "C:\\Users\\Gamer\\AppData\\Local\\Android\\Sdk\\platform-tools\\adb.exe"
deviceserial = "localhost:5875"
cpr = ContentProviderResolverFetcher(
adb_path=adb_path,
deviceserial=deviceserial,
folder="data/", # As far as I know, this folder exists on any Android device, so you don't have to change anything
folder_for_temp_files=r"F:\ctestprov", # Folder to store the temp dex files
ripgrep_path="rg.exe", # Download RipGrep https://github.com/BurntSushi/ripgrep/releases/download/13.0.0/ripgrep-13.0.0-x86_64-pc-windows-gnu.zip
)
cpr.connect_to_adb()
cpr.get_all_files() # Find all dex files / If you want to limit the packages to scan, you can modify cpr.df
cpr.pull_files() # Copy the files to the hard drive
cpr.extract_content_providers()
cpr.check_results(
exit_keys="ctrl+x", print_output=True, timeout=None,
) # If you press ctrl+x you can kill a query which got stuck, you can also set a timeout for each query
df = cpr.get_all_results_checked() # returns checked results
df1 = cpr.get_all_results() # returns unchecked results
```
Raw data
{
"_id": null,
"home_page": "https://github.com/hansalemaos/fetch_content_providers_and_resolvers",
"name": "fetch-content-providers-and-resolvers",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "settings,adb,pandas,DataFrame,content,android,providers,resolvers",
"author": "Johannes Fischer",
"author_email": "<aulasparticularesdealemaosp@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/62/81/e5ec3d0330f4fa8b863e8bdf012938dd597eb8c9104f98aa754140b3ca3e/fetch_content_providers_and_resolvers-0.10.tar.gz",
"platform": null,
"description": "\n# Finds content providers/resolvers on Android devices \n\n\n\n### Some things you have to know:\n\n\n\n- You might need root access\u00a0\n\n- I have only tested it against BlueStacks / Windows 10 / Python 3.9.\n\n\n\n\n\n```python\n\n\n\n$pip install fetch-content-providers-and-resolvers\n\n\n\n\n\nfrom fetch_content_providers_and_resolvers import ContentProviderResolverFetcher\n\nadb_path = \"C:\\\\Users\\\\Gamer\\\\AppData\\\\Local\\\\Android\\\\Sdk\\\\platform-tools\\\\adb.exe\"\n\ndeviceserial = \"localhost:5875\"\n\ncpr = ContentProviderResolverFetcher(\n\n adb_path=adb_path,\n\n deviceserial=deviceserial,\n\n folder=\"data/\", # As far as I know, this folder exists on any Android device, so you don't have to change anything\n\n folder_for_temp_files=r\"F:\\ctestprov\", # Folder to store the temp dex files\n\n ripgrep_path=\"rg.exe\", # Download RipGrep https://github.com/BurntSushi/ripgrep/releases/download/13.0.0/ripgrep-13.0.0-x86_64-pc-windows-gnu.zip\n\n)\n\ncpr.connect_to_adb()\n\ncpr.get_all_files() # Find all dex files / If you want to limit the packages to scan, you can modify cpr.df\n\ncpr.pull_files() # Copy the files to the hard drive\n\ncpr.extract_content_providers()\n\ncpr.check_results(\n\n exit_keys=\"ctrl+x\", print_output=True, timeout=None,\n\n) # If you press ctrl+x you can kill a query which got stuck, you can also set a timeout for each query\n\ndf = cpr.get_all_results_checked() # returns checked results\n\ndf1 = cpr.get_all_results() # returns unchecked results\n\n\n\n\n\n\n\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Finds content providers/resolvers on Android devices",
"version": "0.10",
"split_keywords": [
"settings",
"adb",
"pandas",
"dataframe",
"content",
"android",
"providers",
"resolvers"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "b1d020ba061f095de70dc3a92722b361",
"sha256": "e71c7b22b3ee9da9d205f0383e6f4ac24b82cd6b2d5e1a33eb71d02a4ebb653e"
},
"downloads": -1,
"filename": "fetch_content_providers_and_resolvers-0.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b1d020ba061f095de70dc3a92722b361",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7711,
"upload_time": "2022-12-09T16:20:16",
"upload_time_iso_8601": "2022-12-09T16:20:16.396705Z",
"url": "https://files.pythonhosted.org/packages/c9/1e/6a5c8427e5257f3fd28925c33c1a26cbccac64431894e14ca8fffe4720a0/fetch_content_providers_and_resolvers-0.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "ee8f9be5d34905b52945933886f6a4f6",
"sha256": "cb0f259a310e0327e6224df936391de82dc537c79463f5bef956ff446ae2ea92"
},
"downloads": -1,
"filename": "fetch_content_providers_and_resolvers-0.10.tar.gz",
"has_sig": false,
"md5_digest": "ee8f9be5d34905b52945933886f6a4f6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5507,
"upload_time": "2022-12-09T16:20:18",
"upload_time_iso_8601": "2022-12-09T16:20:18.075796Z",
"url": "https://files.pythonhosted.org/packages/62/81/e5ec3d0330f4fa8b863e8bdf012938dd597eb8c9104f98aa754140b3ca3e/fetch_content_providers_and_resolvers-0.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-09 16:20:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "hansalemaos",
"github_project": "fetch_content_providers_and_resolvers",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "a_pandas_ex_adb_to_df",
"specs": []
},
{
"name": "a_pandas_ex_plode_tool",
"specs": []
},
{
"name": "cprinter",
"specs": []
},
{
"name": "flatten_everything",
"specs": []
},
{
"name": "list_all_files_recursively",
"specs": []
},
{
"name": "pandas",
"specs": []
},
{
"name": "PyRipGrep",
"specs": []
}
],
"lcname": "fetch-content-providers-and-resolvers"
}