Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
frida-snippets — 精心制作的 Frida 示例 | Kitploit
工具/GitHubGitHub/iddoeldor/frida-snippets
Android安全动态分析 (沙盒)iOS安全逆向工程调试器移动安全二进制分析
GitHubiddoeldor/frida-snippets

frida-snippets

精心制作的 Frida 示例

查看仓库
2.5k439201年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PRs Welcome 以及输出示例

目录

原生
  • 加载 C/C++ 模块
  • 一次性监视点
  • 套接字活动
  • 拦截 open
  • 执行 shell 命令
  • 枚举模块
  • 记录 SQLite 查询
  • 记录方法参数
  • 拦截整个模块
  • 转储内存段
  • 内存扫描
  • Stalker
  • Cpp 名称反混淆
  • 早期钩子
Android
  • Binder 事务
  • 获取系统属性
  • 揭示手动注册的原生符号
  • 枚举已加载的类
  • 类描述
  • 关闭 WiFi
  • 设置代理
  • 获取 IMEI
  • 钩子 io InputStream
  • Android 弹 Toast
  • 等待特定模块加载
  • Webview URL
  • 打印所有运行时字符串及栈回溯
  • 打印 SharedPreferences 更新
  • 字符串比较
  • 按地址钩子 JNI
  • 钩子构造函数
  • 钩子 Java 反射
  • 跟踪类
  • 钩子 Unity3d
  • 获取 Android ID
  • 改变位置
  • 绕过 FLAG_SECURE
  • SharedPreferences 更新
  • 钩子所有方法重载
  • 注册广播接收器
  • 增加计步数
  • 列出实现接口的类(带类加载器)
  • 文件系统访问钩子 $ frida --codeshare FrenchYeti/android-file-system-access-hook -f com.example.app --no-pause
  • 如何移除/禁用 Java 钩子?将 implementation 属性赋值为 null。
iOS
  • OS 日志
  • iOS 弹窗
  • 文件访问
  • 观察类
  • 查找应用 UUID
  • 提取 Cookie
  • 描述类成员
  • 类层次结构
  • 钩子反射
  • 设备属性
  • 截屏
  • 记录 SSH 命令
Windows

哈哈哈。不。

Sublime 代码片段
{
    "scope": "source.js",
    "completions": [
	{"trigger": "fridainterceptor", "contents": "Interceptor.attach(\n    ptr,\n    {\n        onEnter:function(args) {\n\n        },\n        onLeave: function(retval) {\n\n        }\n    }\n)"},
	{"trigger": "fridaperform", "contents": "function main(){\n    console.log('main()');\n}\n\nconsole.log('script loaded');\nJava.perform(main);"},
	{"trigger": "fridause", "contents": "var kls = Java.use('kls');"},
	{"trigger": "fridahex", "contents": "hexdump(\n    ptr,\n    {\n         offset: 0,\n         length: ptr_size\n     }\n);" },
	{"trigger": "fridabacktrace", "contents": "console.log('called from:\\n' +\n        Thread.backtrace(this.context, Backtracer.ACCURATE)\n        .map(DebugSymbol.fromAddress).join('\\n') + '\\n'\n);"},
	{"trigger": "fridamods", "contents": "var mods = Process.enumerateModules().filter(function(mod){\n    return mod.name.includes(\"<name>\");\n});"},
	{"trigger": "fridaexport", "contents": "Module.findExportByName(null, \"<export_name>\");"},
	{"trigger": "fridabase", "contents": "Module.findBaseAddress(name);"},
	{"trigger": "fridaoverload", "contents": "kls.method_name.overload().implementation=function(){}"}
    ]
}
Vim 代码片段

列出缩写 :ab

展开:输入 key 和 <Space>

  • 添加到 `~/.vimrc```` ab fridaintercept Interceptor.attach(ptr, {onEnter: function(args) {},onLeave: function(retval) {}}) ab fridabacktrace console.warn(Thread.backtrace(this.context, Backtracer.ACCURATE).map(DebugSymbol.fromAddress).join('\n'));F(3; ab fridadescribe console.log(Object.getOwnPropertyNames(Java.use('$').proto).join('\n\t'))F$
</details>


<details>
<summary>JEB</summary>	

使用键盘快捷键的Java方法钩子生成器

1. `curl -o ~/$JEB$/scripts/FridaCodeGenerator.py https://raw.githubusercontent.com/iddoeldor/frida-snippets/master/scripts/FridaCodeGenerator.py` 
2. 将光标置于Java方法的签名处
3. 按下 `Ctrl+Shift+Z`
4. 代码被复制到系统剪贴板(使用 `xclip`)


</details>
<hr />
	

#### 获取SSL密钥```js
var keylog_callback = new NativeCallback((ssl, line) => {
  send(Memory.readCString(line));
}, 'void', ['pointer', 'pointer']);

if (ObjC.available) {
  var CALLBACK_OFFSET = 0x2A8
  if (Memory.readDouble(Module.findExportByName('CoreFoundation', 'kCFCoreFoundationVersionNumber')) >= 1751.108) {
    CALLBACK_OFFSET = 0x2B8
  }
  Interceptor.attach(Module.findExportByName('libboringssl.dylib', 'SSL_CTX_set_info_callback'), {
    onEnter(args) {
      ptr(args[0]).add(CALLBACK_OFFSET).writePointer(keylog_callback)
    }
  })
} else if (Java.available) {
  var set_keylog_callback = new NativeFunction(Module.findExportByName('libssl.so', 'SSL_CTX_set_keylog_callback'), 'void', ['pointer', 'pointer']);
  Interceptor.attach(Module.findExportByName('libssl.so', 'SSL_CTX_new'), {
    onLeave(retval) {
      set_keylog_callback(retval, keylog_callback)
    }
  })
}


⬆ 返回顶部

加载CPP模块```cpp

#include #include

extern "C" { void* create_stdstr(char data, int size) { std::string s = new std::string(); (*s).assign(data, size); return s; } }

### [Blackeye](https://github.com/xo1337/Blackeye) - 最完整的基于 Bash 制作的钓鱼工具,拥有 32 个模板并与 ngrok 连接```sh
$ ./android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang++ a.cpp -o a -shared -static-libstdc++ && adb push a /data/local/tmp/a

单个 TCP 会话。本文档的其余部分将继续阅读本文档的其余部分。```js [device]-> function readStdString(str) { if ((str.readU8() & 1) === 1) { // size LSB (=1) indicates if it's a long string return str.add(2 * Process.pointerSize).readPointer().readUtf8String();
} return str.add(1).readUtf8String();
} [device]-> Module.load('/data/local/tmp/a'); [device]-> var fp_create_stdstr = Module.findExportByName('a', 'create_stdstr'); [device]-> var createStdString = new NativeFunction(fp_create_stdstr, 'pointer', ['pointer', 'int']); [device]-> var stdstr1 = createStdString(Memory.allocUtf8String("abcd"), 3); "0x07691234567" [device]-> readStdString(stdstr1); "abc"

#### 加载C模块

* https://frida.re/docs/javascript-api/#cmodule
* https://frida.re/news/2019/09/18/frida-12-7-released/```sh
$ ./aarch64-linux-android21-clang /tmp/b.c -o /tmp/a -shared ../sysroot/usr/lib/aarch64-linux-android/21/liblog.so && adb push /tmp/a /data/local/tmp/a

--bcol BCOL 背景颜色。支持十六进制,例如#00ff00。 --bclo BCLO 背景颜色不透明度。范围:0-100。 --bgra 以低亮度显示背景。可选。```c #include <stdio.h> #include <stdlib.h> #include <android/log.h>

#define TAG "TEST1" #define LOGI(...) __android_log_print(ANDROID_LOG_INFO, TAG, VA_ARGS) #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, TAG, VA_ARGS)

void test(void) { FILE* fp = popen("ls -l /sdcard 2>&1", "r"); if (fp == NULL) LOGE("executing cmd failed"); char b[256]; while (fgets(b, sizeof(b), fp) != NULL) { LOGI("%s", b); } pclose(fp); }

`invoke-build` 用于编译、执行 CI 任务、运行测试和生成文档。

> `invoke-build` 会缓存构建脚本函数。如果你更改了构建脚本后出现问题,请尝试使用 `-NoBuildCaching` 参数运行 `invoke-build`。

如果由于某种原因 `invoke-build` 不可用,可以使用仓库根目录下的 `build.ps1` 文件来编译项目。

### 手动构建

要手动构建,请打开 PowerShell,导航到项目根目录,然后:

- 运行 `dotnet restore`。
- 运行 `dotnet build`。
- 运行 `dotnet test`。

这将生成解决方案并运行所有测试。

### CI/CD 元数据管道

此仓库包含一些用于 CI/CD 的管道文件。
下载工具