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

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

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

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

工具目录

分类

查看所有分类
Loading categories
house — 一个基于 Frida、使用 Python 编写、带有 Web 界面的运行时移动应用分析工具包。 | Kitploit
工具/GitHubGitHub/nccgroup/house
Android安全动态分析 (沙盒)逆向工程渗透测试移动安全
GitHubnccgroup/house

house

一个基于 Frida、使用 Python 编写、带有 Web 界面的运行时移动应用分析工具包。

查看仓库
1.5k23455年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

root@kitploit:~
             /   |   \  ____  __ __  ______ ____
            /    ~    \/  _ \|  |  \/  ___// __ \
            \    Y    (  <_> )  |  /\___ \  ___/
             \___|_  / \____/|____//____  >\___  >
                   \/      House        \/     \/
            
                动态移动分析工具
                联系:[email protected]

House:一个基于 Web GUI 的运行时移动应用分析工具包,由 Frida 驱动,使用 Python 编写。它旨在通过实现动态函数挂钩和拦截来帮助评估移动应用,并尽可能简化 Frida 脚本编写。

快速上手

root@kitploit:~
git clone https://github.com/nccgroup/house
cd house
pip3 install -r requirements.txt
pip3 install pipenv
pipenv --python=/usr/bin/python3 install
pipenv --python=/usr/bin/python3 shell
python3 app.py <PORT>

# 或:
mkvirtualenv --python=/usr/local/bin/python3 house
workon house
pip install -r requirements.txt
python app.py <PORT>

# 或:(仅限 Mac OS)
git clone https://github.com/nccgroup/house
cd house
pip3 install -r requirements.txt
pip3 install pipenv
pipenv --python=/usr/local/bin/python3 install
pipenv --python=/usr/local/bin/python3 shell
python3 app.py <PORT>

默认情况下,House 绑定到 http://127.0.0.1:8000。

要了解 House 的功能概览,可以访问用户手册查看详情。

新闻

  • 新增动态 dex/jar 挂钩功能,House 现在可以挂钩动态加载的 dex/jar 文件中的函数 hook.gif
  • 为钩子增加了迷你脚本选项 hook.gif
  • ClassLoader 枚举

注意:请确保将 Frida 版本更新到 >= 12.8.3 以支持 dex/jar 函数挂钩。

使用示例

本节通过一个小示例演示 House 的基本用法。演示针对一个小的测试 Android 应用进行: com.ha0k3.overloads.

启动

  • 确保通过 USB 连接了 Android 设备,并且 Frida server 正在设备上运行。使用以下命令检查 Frida server 是否成功启动:frida-ps -U。

  • 通过运行 app.py 启动 House 应用:python app.py <PORT>。

  • 打开浏览器并导航到 http://127.0.0.1:PORT。

  • 观察页面是否显示了设备信息,如果没有,点击 Refresh 按钮,或重启应用和 Frida server。 start.gif

监控

  • 基于配置文件从模板动态生成钩子脚本,监控关键操作,包括 FILEIO、IPC 等。

monitor.png

  • 此功能目前处于实验阶段。如果你发现还需要挂钩哪些函数,请随时告知或提交 PR。

预加载与侧加载

  • House 现在支持 sideload。目前支持 stetho 侧加载,这使我们更容易检查 UI、存储等。 sideload_stetho.png
  • 该功能目前处于实验阶段,但此选项卡下将来会添加更多功能,例如 SSLStrip。

枚举

  • 枚举所有已加载的类: enum_load.gif
  • 枚举 Dex 文件中的所有类: enum_dex.gif
  • 枚举给定类中的所有方法 enum_method1.gif enum_method2.gif
  • 历史脚本管理 enum_history_script.gif

多函数跟踪

  • 脚本渲染与函数跟踪 hook.gif

  • 动态加载的 dex/jar 文件中的函数钩子 hook.gif

  • 迷你脚本选项 hook.gif

  • 历史脚本管理 hook_history_script.gif

函数拦截

  • 通过 House,研究人员可以动态更改传递给目标函数的参数并将其转发。 int1.gif

  • 有时 House 无法完美解析参数信息。例如,某个参数可能属于特殊类型。在示例应用中,它实现了 isLit 函数,该函数接受自定义对象作为参数。为应对这些情况,House 提供了一个简单的 "REPL"。安全研究人员可以在 REPL 中动态输入 Frida 脚本,并修改函数行为。 int2.gif

  • House 提供了几个 REPL 函数以简化测试:

    • inspectObject(obj) 使用 java.lang.reflect 检查对象内的字段信息。
    • setRetval(ret) 接受一个参数,并尝试使用原始返回值的构造函数将其转换为正确的返回类型。
    • getStackTrace() 将打印堆栈跟踪。
    • 将来会添加更多 REPL 函数。

    int3.gif

注意: 对于构造函数方法挂钩/拦截,输入 $init 作为方法名。

常见问题

先决条件:

要使 House 正常工作,你需要:

  1. 一个已 root 的 Android 设备,且 frida-server 正在运行,通过 USB 连接到你的计算机,建议只使用一个 USB 设备。
  2. 本地 frida-python 版本必须与 frida-server 的版本匹配。

无法获取设备?不工作?

请尝试同时重启 frida server 和 House,如果仍然不工作,请提交 issue。

超时错误?

通常由多个 USB 设备连接引起,尝试重启目标应用。

Frida 错误?

House 已使用 Frida 版本 12.8.6 进行测试;其他版本可能存在问题,同时确保 frida-python 与 frida-server 版本匹配。如果仍然不工作,尝试手动运行生成的 Frida 脚本,检查是否正常。

致谢

特别感谢以下开源项目为 House 提供的灵感:

  1. Frida,伟大的工具化框架,使这一切成为可能。
  2. Objection,为 House 的 Frida 模板脚本构建提供了灵感和指导。
  3. Inspeckage,为 House 的监控功能提供了灵感。
  4. 0xdea/frida-scripts - 一个优秀的 Frida 脚本库。

联系方式

如果你对 House 有更多疑问,或者想帮助扩展它,请随时联系:

@haoOnBeat

或发送邮件至:郝可

下载工具