问题标签 [smali]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 在 smali 中编辑 const 字符串
我刚刚开始玩 apktool 和 smali 文件。我想先做一个小改动,所以我尝试在 smali 文件中更改 Toast 对话框中显示的消息,看起来像
我把它改成
带有更新的 Toast 消息的应用程序的 apktool 构建返回成功。但是当我运行新的 apk 时,会显示旧的 Toast 消息,即“服务正在启动”。当我反汇编新的 apk 文件时,我注意到 .smali 文件具有相同的旧“服务正在启动”行,而不是更新后的行。
有人可以帮我弄清楚为什么这不起作用吗?
PS:我已经查看了有关 smali 修改(包括修改 .smali 文件)的所有其他问题,但没有一个解决如此微不足道的变化。
java - 在 Android 客户端应用程序中混淆 URL
我编写了一个 android 客户端应用程序,在其中我使用静态 URL 来“发布”到我的服务器。我使用 APKTool 反编译了 APK,发现我可以在它生成的 .smali 文件中看到我在 .java 代码中提到的 URL。我想避免这样显示这个 URL。有没有办法隐藏/混淆java代码中的URL?
这是反编译的 .smali 文件中的示例。
android - Android:哪个方法执行按钮的“onClick”事件,这些事件在 XML 布局中定义。
我试图更好地理解 Android 框架,因此我创建了一个简单的应用程序,它实际上只包含一个按钮。每当单击此按钮时,调用sendMessage
中的方法都会MainActivity
启动一个新活动DisplayMessageActivity
,该活动显示一个随机字符串。
我现在的问题是,onClick
按钮的事件(在XML
布局中定义)是如何工作的?!我明白,每当我点击我的按钮时,我定义的方法 ( android:onClick="sendMessage"
) 都会被调用,但我真的很好奇最终哪个方法调用了我的方法,因为语法中显然没有调用我的方法。
我已经使用 androguard 将我的 APK 文件反编译为 smalicode 并搜索了我的sendMessage
方法的调用。不幸的是我找不到任何东西。
谁能解释一下这个机制是如何运作的,因为根据这篇文章:
android:onClick XML 属性与 setOnClickListener 究竟有何不同?
实际上应该有一个方法,最后调用我的onClick
方法。
java - 是否可以编译生成 jd-gui 的 android .java 源文件
我想更改 smali 文件中的一些行。我使用 dex2jar 将 android 的 classes.dex 转换为 classes.jar。然后使用 jd-gui 查看源文件并保存它们。从这里我得到了 .java 文件。编辑后我想重新编译它们以通过重新编译来查看生成的 smali 的差异,将 jar 转换为 dex,最后重新编译它,看看 smali 的差异这可能吗?
我想这样做是因为源代码比编辑 smali 更容易理解和编辑
java - 在 smali 中声明一个全局变量并增加它的值
我正在尝试使用 smali 更改 apk 文件,以便每次访问列表的另一个成员时,变量都会递增。
我想做两件事,首先声明一个public static int
命名val1
的,其次实现这个代码:
但是,我对 smali 代码的了解非常有限,我想对此有所了解。
java - 需要帮助更改 APK 文件中的 AndroidManifest.xml
我正在尝试使用 APK Multi Tool (apktool) 对 AndroidManifest.xml 进行细微更改。我可以拆卸并进行更改,但是当我尝试重新组装成新的 APK 时,出现错误:
我相信styles.xml中的行是:
这是完整的错误日志:
关于如何解决这个问题的任何想法?由于我没有进行代码更改,我是否可以在不反编译和编译代码的情况下以某种方式构建 APK?谢谢。
java - 您如何处理大文件/方法中的 smali 跳转(条件、异常等)
今天我在我正在创建的一个小模块中修改了一些 rom 文件。我必须修改的一些 smali 方法非常庞大,大约 1200 行来自匿名类的 smali。跟随有很多跳跃的代码是一场噩梦。我首先尝试创建某种示意图,但如果也变得一团糟。那么,你如何处理大的 smali 文件呢?有人知道是否存在用于功能或其他东西的任何类型的流查看器吗?
提前致谢。
java - .restart smali 关键字有什么作用?
smali 中的这条线是做什么的?我一直在谷歌上搜索 .restart 的东西,但找不到任何关于它的信息。
java - Apktool 在重组期间显示异常
我使用apktool
. 我加密了 smali 文件中的所有常量字符串。之后,我尝试使用 重新组装应用程序apktool
,但它显示异常:
android - 如何调试android应用程序的smali代码?
我有一个工作的 android 应用程序。其中我没有源代码。我想调试这个应用程序的功能。我可以使用 apktool 成功地对这个应用程序 apk 文件进行逆向工程 - https://code.google.com/p/android-apktool/ 这个工具生成 smali 格式的类文件。
我的要求是:
- 能够通过添加调试日志来调试方法。
- 能够通过打印堆栈跟踪来调试方法调用。
为此,我需要注入/插入与调试日志或堆栈跟踪等效的 smali。我尝试在其中一种方法的开头添加一些 smali 指令,但它因 ClassVerifyError 而崩溃。
示例 smali 代码 -
有人可以帮我添加 smali 调试日志。提前谢谢。