```
### 安装
#### python3环境安装
```
brew install python3
```
#### skyeye安装
```
pip3 install skyeye
```
#### 扫描APK中代码引用
1. 本地创建config.yaml文件,格式如下
```yaml
- className: "com.xx.xx.yourClassName1"
methodName: "methodName"
- className: "com.xx.xx.yourClassName2"
filedName: "filedName"
```
* 如果methodName,filedName不填写,会扫描className所有方法和变量的外部引用情况
* 方法和字段名都是模糊匹配,例如methodName(x,x)只需要填写methodName即可
2. 扫描
```bash
skyeye scan
-i , --input 输入扫描的APK路径
-c , --config 扫描配置yaml文件路径
-o , --output 输出结果的文件夹路径 【可选,默认运行文件夹路径】
```
3. 输出结果,格式如下
```json
{
"cn.Test:<init>()V": [
{
"caller_class": "cn.xx.MainActivity",
"caller_method": "protected onCreate(Landroid.os.Bundle;)V",
"invoke_num": " 58"
}
],
"cn.Test.staticString": [
{
"caller_class": "cn.xx.MainActivity",
"caller_method": "protected onCreate(Landroid.os.Bundle;)V",
"invoke_num": " 60"
}
]
}
```
#### 反编译
```bash
skyeye dec
-i , --input 输入扫描的APK路径
-o , --output 输出结果的文件夹路径 【可选,默认运行文件夹路径】
```
<img src="./media/dec.jpg"/>
#### GUI打开源码
```bash
skyeye jd
-i , --input 目标class文件路径 或者 class文件夹路径
```
<img src="./media/jd.jpg"/>
#### 查看当前版本
```bash
skyeye -v
输出版本同时,检查更新
```
### changeLog
#### 3.6.0
- 支持扫描子父类的继承方法和字段
#### 3.4.2
- 支持APK反编译
#### 3.2.0
- 支持静态变量&&变量扫描
- 支持扫描类里面所有变量&&方法
#### 3.1.0
- 增加结果报告执行函数输出
- 增加PyYaml的依赖
#### 3.0.0在侧边
- 扫描特定类的所有方法外部的引用
- 扫描特定类的特定方法的外部引用
- 支持图片的裁剪选择
Raw data
{
"_id": null,
"home_page": "https://github.com/wangshuwen1107/skyeye",
"name": "skyeye",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "apk scanner",
"author": "wangshuwen",
"author_email": "wnwn7375@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/bf/67/c25a215f98922b00b81fdf3ac84243f2949eda583ac1e4c8b934c8ef9f30/skyeye-3.6.0.tar.gz",
"platform": null,
"description": "```\n### \u5b89\u88c5\n\n#### python3\u73af\u5883\u5b89\u88c5\n```\n\nbrew install python3\n\n```\n#### skyeye\u5b89\u88c5\n```\n\npip3 install skyeye\n\n```\n#### \u626b\u63cfAPK\u4e2d\u4ee3\u7801\u5f15\u7528\n\n1. \u672c\u5730\u521b\u5efaconfig.yaml\u6587\u4ef6,\u683c\u5f0f\u5982\u4e0b\n\n```yaml\n- className: \"com.xx.xx.yourClassName1\"\n methodName: \"methodName\"\n- className: \"com.xx.xx.yourClassName2\"\n filedName: \"filedName\"\n```\n\n* \u5982\u679cmethodName,filedName\u4e0d\u586b\u5199,\u4f1a\u626b\u63cfclassName\u6240\u6709\u65b9\u6cd5\u548c\u53d8\u91cf\u7684\u5916\u90e8\u5f15\u7528\u60c5\u51b5\n* \u65b9\u6cd5\u548c\u5b57\u6bb5\u540d\u90fd\u662f\u6a21\u7cca\u5339\u914d\uff0c\u4f8b\u5982methodName(x,x)\u53ea\u9700\u8981\u586b\u5199methodName\u5373\u53ef\n\n2. \u626b\u63cf\n\n```bash\nskyeye scan\n -i , --input \u8f93\u5165\u626b\u63cf\u7684APK\u8def\u5f84\n -c , --config \u626b\u63cf\u914d\u7f6eyaml\u6587\u4ef6\u8def\u5f84\n -o , --output \u8f93\u51fa\u7ed3\u679c\u7684\u6587\u4ef6\u5939\u8def\u5f84 \u3010\u53ef\u9009\uff0c\u9ed8\u8ba4\u8fd0\u884c\u6587\u4ef6\u5939\u8def\u5f84\u3011\n```\n\n3. \u8f93\u51fa\u7ed3\u679c\uff0c\u683c\u5f0f\u5982\u4e0b\n\n```json\n{\n \"cn.Test:<init>()V\": [\n {\n \"caller_class\": \"cn.xx.MainActivity\",\n \"caller_method\": \"protected onCreate(Landroid.os.Bundle;)V\",\n \"invoke_num\": \" 58\"\n }\n ],\n \"cn.Test.staticString\": [\n {\n \"caller_class\": \"cn.xx.MainActivity\",\n \"caller_method\": \"protected onCreate(Landroid.os.Bundle;)V\",\n \"invoke_num\": \" 60\"\n }\n ]\n}\n```\n\n#### \u53cd\u7f16\u8bd1\n\n```bash\nskyeye dec\n -i , --input \u8f93\u5165\u626b\u63cf\u7684APK\u8def\u5f84\n -o , --output \u8f93\u51fa\u7ed3\u679c\u7684\u6587\u4ef6\u5939\u8def\u5f84 \u3010\u53ef\u9009\uff0c\u9ed8\u8ba4\u8fd0\u884c\u6587\u4ef6\u5939\u8def\u5f84\u3011\n```\n\n<img src=\"./media/dec.jpg\"/>\n\n#### GUI\u6253\u5f00\u6e90\u7801\n\n```bash\nskyeye jd\n -i , --input \u76ee\u6807class\u6587\u4ef6\u8def\u5f84 \u6216\u8005 class\u6587\u4ef6\u5939\u8def\u5f84\n```\n\n<img src=\"./media/jd.jpg\"/>\n\n#### \u67e5\u770b\u5f53\u524d\u7248\u672c\n\n```bash\nskyeye -v \n\u8f93\u51fa\u7248\u672c\u540c\u65f6\uff0c\u68c0\u67e5\u66f4\u65b0\n```\n\n### changeLog\n\n#### 3.6.0\n\n- \u652f\u6301\u626b\u63cf\u5b50\u7236\u7c7b\u7684\u7ee7\u627f\u65b9\u6cd5\u548c\u5b57\u6bb5\n\n#### 3.4.2\n\n- \u652f\u6301APK\u53cd\u7f16\u8bd1\n\n#### 3.2.0\n\n- \u652f\u6301\u9759\u6001\u53d8\u91cf&&\u53d8\u91cf\u626b\u63cf\n- \u652f\u6301\u626b\u63cf\u7c7b\u91cc\u9762\u6240\u6709\u53d8\u91cf&&\u65b9\u6cd5\n\n#### 3.1.0\n\n- \u589e\u52a0\u7ed3\u679c\u62a5\u544a\u6267\u884c\u51fd\u6570\u8f93\u51fa\n- \u589e\u52a0PyYaml\u7684\u4f9d\u8d56\n\n#### 3.0.0\u5728\u4fa7\u8fb9\n\n- \u626b\u63cf\u7279\u5b9a\u7c7b\u7684\u6240\u6709\u65b9\u6cd5\u5916\u90e8\u7684\u5f15\u7528\n- \u626b\u63cf\u7279\u5b9a\u7c7b\u7684\u7279\u5b9a\u65b9\u6cd5\u7684\u5916\u90e8\u5f15\u7528\n- \u652f\u6301\u56fe\u7247\u7684\u88c1\u526a\u9009\u62e9\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "APK\u626b\u63cf\u5de5\u5177",
"version": "3.6.0",
"project_urls": {
"Homepage": "https://github.com/wangshuwen1107/skyeye"
},
"split_keywords": [
"apk",
"scanner"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "dfc57a3d2f16bf4f457d69fd2cec5379f3c07b300078247b055fd7b20d596546",
"md5": "cd2970912ac103dec96162c54bfdbe15",
"sha256": "279ec9a52c5ccbcef5f3de5a197c24fbe4b90b7852a5be0bd6412ecc2b3b8335"
},
"downloads": -1,
"filename": "skyeye-3.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cd2970912ac103dec96162c54bfdbe15",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 9732680,
"upload_time": "2023-09-28T03:01:25",
"upload_time_iso_8601": "2023-09-28T03:01:25.551613Z",
"url": "https://files.pythonhosted.org/packages/df/c5/7a3d2f16bf4f457d69fd2cec5379f3c07b300078247b055fd7b20d596546/skyeye-3.6.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bf67c25a215f98922b00b81fdf3ac84243f2949eda583ac1e4c8b934c8ef9f30",
"md5": "309b91e3fccd0b54291cebaab6c10977",
"sha256": "7891cb3a8b0d694f3705269306a80fc12e3024702d69a6db009b946dce3b7812"
},
"downloads": -1,
"filename": "skyeye-3.6.0.tar.gz",
"has_sig": false,
"md5_digest": "309b91e3fccd0b54291cebaab6c10977",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9701724,
"upload_time": "2023-09-28T03:01:37",
"upload_time_iso_8601": "2023-09-28T03:01:37.870988Z",
"url": "https://files.pythonhosted.org/packages/bf/67/c25a215f98922b00b81fdf3ac84243f2949eda583ac1e4c8b934c8ef9f30/skyeye-3.6.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-28 03:01:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wangshuwen1107",
"github_project": "skyeye",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "skyeye"
}