Java 到 Smali 指令转换器

标签 java android openurl smali

我需要将此指令转换为 smali 代码:

Uri uri = Uri.parse("http://www.google.com"); // missing 'http://' will cause crashed
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

我想修改一个应用程序,我想添加此功能来打开 Android 浏览器以指向特定网页(例如 www.google.com)。

我尝试在 Android Studio 中使用“dx”插件,但没有任何结果... 谢谢!

最佳答案

您通常不能仅从一种方法复制并粘贴字节码/smali 代码 到另一个。至少,您需要修复寄存器。如果您需要分配更多寄存器等,它会变得更加复杂。

将 java 代码编译为 smali 是一种很好的学习方法,但不要指望能够按原样复制和粘贴字节码。

正如您已经提到的,您可以使用 dx 将 java 类文件转换为 dex 文件。

javac Blah.java
dx --dex --output=classes.dex Blah.class

然后,当然,您可以在classes.dex上运行baksmali将其反汇编为smali代码。

baksmali classes.dex

关于Java 到 Smali 指令转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39439685/

相关文章:

java - 如何将按下开始按钮后的初始延迟设置为特定时间(HH :mm:ss) format

java - 从互联网保存 Excel 文件

java - Spring启动2.0.0.RELEASE java.lang.ClassNotFoundException : org. springframework.aop.framework.AopProxyUtils

java - 如何将图标(如搜索、心形、选项)添加到 Android 卡片 View 的顶部,如图所示?

ios - 适用于 iOS 6 的 Facebook SDK 3.2 : Can't login -> openURL not called/AppId & URL is correct

java - Eclipse RCP 应用程序 - 如何检测应用程序何时空闲?

android - 弹出菜单背景颜色更改不起作用

android - 如何获取 Android 中位置更新的时间?

settings - iOS 11+ 中设置>隐私>定位服务的 URL?

ios - 某些电子邮件应用程序禁止向其他人发送带有自定义 OpenURL 方案的链接