[Feature] Add annotations to Java.registerClass
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- java, javascript
- 领域
- devtools
调研方向
首先定位 Java.registerClass 入口点,以及生成或公开已注册方法的代码。检查 JavaScriptInterface 注解如何影响 Android WebView 中的可见性,然后确定 Java.registerClass 应支持的注解行为。完成标准是:WebView 能够根据所需的注解语义识别已注册的方法,并为受支持的行为添加覆盖。
由索引模型根据 Issue 内容生成。
描述
Here's an example code in java to add Dialog function as JavaScript Interface to a WebView:
public class MainActivity extends AppCompatActivity {
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.interface_web);
// opening the html file in webview
webView.loadUrl("file:///android_asset/test.html");
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setSupportZoom(true);
webView.addJavascriptInterface(this, "Dialog");
}
@JavascriptInterface
public void showMsg(String fname, String pswd) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Confirmation").setMessage("UserName:\t" + fname + "\nPassword:\t" + pswd)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplicationContext(), " Data Saved Locally", Toast.LENGTH_SHORT).show();
// You can use shared preference or db here to store The Data
}
});
builder.create().show();
}
}
Everything in this code can be written with frida except using the annotation "@JavascriptInterface",
without the "@JavascriptInterface" annotation the Dialog function will not be available in the WebView...
- 主要语言
- JavaScript
- 星标
- 415
- 派生
- 174
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
frida/frida-java-bridge 的其他 Issue
-
Types is missing `deoptimizeMethod`可能已有人在做 @Electric1447 于 188 天前认领。 未关闭
难度 1/5 1 小时以内 新手友好度 65/100
frida/frida-java-bridge#386 ·
-
[v7.0.11+] Process crash on accessing object["<init>"] with JVMTI available可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 62/100
frida/frida-java-bridge#384 · 2 条评论 · 2 个 reaction ·
-
[Android 17] Early observations: JIT thread pool crash on attach and JNI transition frame aborts未关闭
难度 5/5 一周以上 新手友好度 12/100
frida/frida-java-bridge#411 ·
-
难度 3/5 1-2 天 新手友好度 42/100
frida/frida-java-bridge#409 ·
-
ensureClassInitialized() no longer initializes on ART since 7983e815 — hooks on uninitialized classes install successfully but never dispatch可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 4/5 3-5 天 新手友好度 52/100
frida/frida-java-bridge#408 ·
查看 frida/frida-java-bridge 的全部 Issue
相似的 Issue
-
bug confirmed issue
难度 2/5 1-3 小时 新手友好度 68/100
open-webui/open-webui#33196 · 2 条评论 ·
维护者通常 1 天内回复
-
area: apple-music area: build-release bug effort: small priority: high
难度 2/5 1-3 小时 新手友好度 82/100
ChristianTabor/Argon#32 ·
维护者通常 1 天内回复
-
0️⃣ phase/new
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100