Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
AndroTickler — 用于 Android 应用程序的渗透测试和审计工具包。 | Kitploit
工具/GitHubGitHub/ernw/androtickler
Android安全静态分析动态分析 (沙盒)漏洞分析移动应用渗透测试信息收集渗透测试
GitHubernw/androtickler

AndroTickler

用于 Android 应用程序的渗透测试和审计工具包。

查看仓库
25448471年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

AndroTickler

一款帮助更快、更轻松、更高效地对 Android 应用进行渗透测试的 Java 工具。AndroTickler 提供了信息收集、静态和动态检查等多种功能,涵盖了 Android 应用渗透测试的大部分方面。它还提供了渗透测试人员在测试过程中需要的若干功能。AndroTickler 还与 Frida 集成,提供方法追踪和操纵。它之前以 Tickler 的名称发布。

AndroTickler 需要一台 Linux 主机以及一台通过 USB 连接且已 root 的 Android 设备。该工具不会在 Android 设备上安装任何内容,只会在 /sdcard 上创建一个 Tickler 目录。AndroTickler 依赖 Android SDK 在设备上执行命令,并将应用的数据复制到主机上的 TicklerWorkspace 目录以供进一步分析。TicklerWorkspace 是 AndroTickler 的工作目录,每个应用在 TicklerWorkspace 中都有一个单独的子目录,其中可能包含以下内容(取决于用户操作):

  • DataDir 目录:应用数据目录的副本
  • extracted 目录:apktool 对应用的输出,包含 smali 代码、资源、库等。
  • bgSnapshots 目录:包含从设备复制的后台快照。
  • images 目录:包含为应用截取的所有屏幕截图。
  • JavaCode 目录:包含由 dex2jar 和 JD 工具反编译的应用 Java 代码
  • logs 目录:包含使用 -t -log 生成的日志文件,如下所述
  • transfers:使用 -copy2host 从设备复制到主机的文件和目录
  • AndroidManifest.xml:根据 apktool 生成的应用清单文件
  • base.apk:安装在设备上的应用的 APK 文件
  • debuggable.apk:由 -dbg 生成的可调试版本的应用

libs 目录和 Tickler.conf 配置文件位于 jar 文件所在的同一目录中。配置文件设置了主机上 TicklerDir 目录的位置以及 Android 设备 /sdcard 上的 Tickler 目录位置。如果配置文件不存在或未设置这两个目录,则将使用默认值(当前目录下的 Tickler_workspace 和 /sdcard/Tickler)。Tickler_lib 目录包含 AndroTickler 使用的一些 Java 库和外部工具,例如 apktool 和 dex2jar。

AndroTickler 高度依赖以下工具,因此在使用前应确保它们存在于您的机器上:

  • Java 7 或更高版本
  • Android SDK 工具(adb 及其他)
  • sqlite3

其他工具在某些功能中是必需的,但 AndroTickler 仍能在没有它们的情况下运行:

  • Frida
  • jarsigner

如何构建

  1. 从代码构建工具

    gradle build

  2. 将 AndroTickler.jar 移动到与 Tickler_lib 目录和 Tickler.conf 文件相同的目录中(自动创建在 build/libs 中)

  3. 将 dex2jar 设置为可执行(libs/notJars//dex2jar-2.1/d2j-dex2jar.sh 和 libs/notJars//dex2jar-2.1/d2j_invoke.sh)

  4. 连接您的 Android 设备并安装待测试的应用

注意:如果构建源代码失败,您可以从 releases 标签下载最新的编译版本

当前版本具有以下功能:

命令帮助

root@kitploit:~
java -jar AndroTickler.jar -h

信息收集/静态分析:

列出设备上已安装的应用:

root@kitploit:~
java -jar AndroTickler.jar -pkgs

在设备上搜索包名包含搜索关键词的应用(包):

root@kitploit:~
java -jar AndroTickler.jar -findPkg <searchKey>

无额外属性的包

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> [其他选项]

任何带有 -pkg 选项的命令(无论是否与以下任何选项一起使用),如果尚未执行过以下操作,则会执行以下操作:

  • 从设备复制应用
  • 提取应用的 Manifest 文件
  • 使用 dex2jar 和 JD 工具将应用反编译为 Java 代码

常规信息

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -info

返回以下信息:

  • 应用的用户 ID
  • 应用的目录路径
  • 应用代码是否指示使用了外部存储
  • 外部存储中已存在的应用目录
  • 代码中的内容 URI
  • 应用是否可备份
  • 应用是否可调试
  • 数据方案(类似 iOS IPC)
  • 所使用的权限

代码压缩

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -squeeze [short | <codeLocation> ]

从应用的反编译 Java 代码中提取以下内容:

  • 日志消息
  • 任何可能用户凭据的指示
  • Java 注释
  • 使用的库
  • 代码中的 URL
  • 共享首选项的使用
  • 外部存储的使用
  • 常用组件,如 OkHttp 和 WebView

毫不意外,其输出通常很大,因此建议将命令输出重定向到文件

short 仅压缩属于开发者的反编译代码。例如,如果应用包名为 com.notEnaf.myapp,则 squeeze short 仅压缩 com/notEnaf 目录中的代码。

仅压缩 codeLocation 目录中的代码。有助于限制搜索范围,或在有源代码可用时压缩源代码。

列出组件

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -l [-exp] [-v]

列出应用的所有组件

-exp 仅显示导出的组件

-v 为每个组件提供更详细的信息:

  • 组件类型
  • 是否导出
  • 其意图过滤器
  • 工具检查每个组件对应的 Java 类,并返回所有可能的 intent extras

列出任意类型的组件

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -l [-act | -ser | -rec | -prov ] [-exp] [-v]
  • -act : 活动
  • -ser : 服务
  • -rec: 广播接收器
  • -prov: 内容提供者
  • -exp: 仅显示上述任意类型的导出组件

数据库

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -db [|e|l|d] [nu]

默认情况下,所有 -db 命令在运行检查之前都会更新主机上应用的数据存储目录。

无属性 或 e 测试应用的数据库是否已加密。如果 -db 标志后没有给出选项,这是默认操作。 l 列出应用的所有数据库。加密的数据库可能无法检测到。 d 对任意未加密的数据库进行 sqlite 转储。 nu noUpdate:在不更新主机上应用数据目录的情况下运行上述任一选项。

数据存储目录比较

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -diff [d|detailed]

复制应用的数据存储目录(到 DataDirOld),然后提示用户执行所需操作并在完成后按 Enter。然后再次复制数据存储目录(到 DataDir),并在两者之间运行 diff 以显示哪些文件被添加、删除或修改。

d|detailed 与普通的 -diff 命令功能相同,同时还显示文本文件和未加密数据库中具体更改的内容。

搜索

代码

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -sc <key> [<customLocation>]

在以下位置搜索 key:

  • 应用的反编译 Java 代码
  • res/values/strings.xml
  • res/values/arrays.xml

搜索不区分大小写。

将反编译 Java 代码位置替换为自定义位置。

存储

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -sd <key>

在应用的数据存储目录中搜索给定的 key

Tickling(组件触发)

通过所有可能的意图组合触发应用的组件。例如,如果一个活动有一个包含 2 个可能操作和 3 个数据 URI 方案的意图过滤器,那么 AndroTickler 将使用该意图的所有可能组合来触发此活动。此外,AndroTickler 会捕获组件对应 Java 类中提到的 intent extras,为其分配虚拟值,并将它们添加到可能的意图组合中。仅支持 boolean、string、int 和 float 类型的 extras。

如果使用了 -exp 选项,则组件将在没有 root 权限或任何特殊权限的情况下触发。如果没有,则组件将以 root 权限触发。这有助于在两种不同的场景下测试应用:针对普通权限攻击者或高权限攻击者。

在触发组件之前,AndroTickler 会打印所有要执行的命令。然后对于每个命令,它会触发组件、打印命令并等待用户。这给用户足够的时间在命令执行后执行任何额外的检查。在用户继续下一个命令之前,可以选择为 PoC 文档截取设备屏幕截图。

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -t [-all | -exp] [target] [-log]

target 如 list 命令所述,可以是:

  • -act : 活动。按照上述说明,使用所有意图组合启动活动
  • -ser : 服务。按照上述说明,使用所有意图组合启动服务
  • -rec: 广播接收器:发送所有可能的广播消息以匹配广播接收器
  • -prov: 内容提供者:查询内容提供者

如果没有值,则目标为上述所有类型

[-comp] <component_name> 仅指定一个组件。您也可以直接使用 <component_name> 而不使用 -comp 标志。 -exp AndroTickler 使用普通权限仅触发导出的目标。 -all 默认选项。AndroTickler 使用 root 权限触发导出的目标。 -log 捕获触发会话期间生成的所有 logcat 消息。日志文件保存在 logs 子目录中。

Frida:

Frida 应安装在您的主机上。此外,Android 设备上 Frida 服务器的位置应添加到 Tickler.conf 文件中的 Frida_server_path 条目

捕获参数和返回值

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -frida vals <ClassName> <MethodName> <NumberOfArgs> [-reuse]

显示此方法的参数和返回值(仅限基本数据类型和 String)

reuse 对于 vals 和 set 选项,Frida 会创建/更新该功能的 Frida 脚本。您可以根据需要修改创建的脚本,然后如果您想通过 AndroTickler 运行它,请使用 -reuse 选项,以便脚本不会被覆盖。

修改参数或返回值

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -frida set <ClassName> <MethodName> <NumberOfArgs> <NumberOfArgToModify> <newValue>[-reuse]

将参数编号 NumberOfArgToModify 设置为 newValue(仅限基本数据类型和 String)。 NumberOfArgToModify 从 0 开始:第一个参数 --> NumberOfArgToModify = 0,...等等 要修改返回值,请将 NumberOfArgToModify 设置为 ret

运行 JS Frida 脚本

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -frida script <scriptPath>

在主机上运行位于 scriptPath 的 Frida JS 脚本

枚举已加载的类:

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -frida enum

其他功能

可调试版本

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -dbg

创建应用的可调试版本,可以安装在设备上并使用任何外部工具进行调试。 AndroTickler 附带了一个用于签名可调试 apk 的密钥库,但需要在主机上安装 jarsigner 工具。

自定义版本

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -apk <decompiledDirectory>

从目录构建 apk 文件,签名并安装。

后台快照

root@kitploit:~
java -jar AndroTickler.jar [-pkg <package>] [-bg|--bgSnapshots]

将设备拍摄的后台快照复制到 bgSnapshots 子目录中(可与 -pkg 选项一起使用,也可不一起使用)。

复制文件/目录

复制数据存储目录:

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -dataDir  [dest]

将数据存储目录复制到 DataDir dest 目标目录的可选名称,该目录将始终位于 transfers 子目录中。

复制任意文件/目录:

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -cp2host <source_path> [dest]

从 Android 设备复制文件/目录。

  • source_path 是要从 Android 设备复制的内容的绝对路径
  • dest:目标目录的可选名称,该目录将始终位于 transfers 子目录中。

如果未提供 dest 选项,则目录名称将为操作的时间戳。

屏幕截图

root@kitploit:~
java -jar AndroTickler.jar [-pkg <package>] -screen
  • 捕获设备当前屏幕截图并保存在 images 子目录中
  • 可与包标志一起使用,也可不一起使用

注意

对于不需要 -pkg 选项的命令,它们的数据将保存在 Tickler_Dir/NoPackage 中

示例:

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -t  -act -exp

触发导出的活动

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -t -prov -log

查询所有内容提供者并保存 logcat 消息,直到工具停止执行

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -t <component_name> 

触发组件,触发类型取决于组件类型

root@kitploit:~
java -jar AndroTickler.jar -pkg de.not3naf.myApp -frida set de.not3naf.myApp.myActivity myMethod 2 0 "newValue" 

挂钩到具有 2 个参数的方法 "myMethod",并将第一个参数(args[0])的值更改为 "newValue"

root@kitploit:~
java -jar AndroTickler.jar -pkg de.not3naf.myApp -frida set de.not3naf.myApp.myActivity myMethod 2 2 false 

挂钩到具有 2 个参数的方法 "myMethod",并将返回值更改为布尔值 false

下载工具