smali相关内容

修改 .smali 文件

我对一些 android apk 进行了逆向工程,以添加一些用于功能测试的工具.我想知道给定一个 smali 如下如何添加类似 Log.e(TAG, "一些描述", e); .smali 文件中的每个方法. .class public Ld;.super Landroid/view/View;.source "源文件"# 实例字段.field a:Z.field b:Lcom/rovio/k ..
发布时间:2021-11-15 21:29:07 移动开发

反编译 APK 上的 .smali 文件

我下载了 APK 管理器,它可以让我解压 APK 文件. 但它只是解压,不会将 .smali 文件反编译为 .java. 是否可以将 .smali 反编译为 .java? 解决方案 不,APK 管理器反编译 .dex 文件到 .smali和二进制 .xml 到人类可读的 xml. 顺序(基于APK Manager 4.9)是22选择包,然后9反编译.如果您按 1 而不是 ..
发布时间:2021-11-15 21:23:42 Java开发

什么是学习Smali的最佳方法(以及如何/何时使用Dalvik VM操作码)?

我知道Java,并且学习过C,但从未使用过.我不知道任何形式的汇编,无论是虚拟机还是真实的汇编. 学习如何破解Smali的最佳方法是什么? 解决方案 更新:正如我昨天承诺的那样,我在列表中添加了更多链接. Ufff.周围没有太多文档!最好的建议?进行反编译,读取和调整,看看它是如何工作的,然后一次又一次地开始循环.但是您没有要求该建议,对吗? ;) 现在,有一些地方会有所 ..
发布时间:2020-08-30 06:52:43 Java开发

增加/使用/修改smali寄存器

背景:我们有一个代码,我们试图在其中插入一些调试日志.每个方法我们需要两个额外的寄存器来启用这些日志. 到目前为止我们尝试过的是: 1)增加寄存器-由于寄存器> v15破坏了代码,因此无法使用. 2)将v0和v1寄存器值移动到某些高值寄存器,例如v250或其他内容,然后使用v0-v1并将值从vTMP重新分配回v0-v1-没有错误,但应用程序崩溃,出现编译时验证错误. 解决方案 ..
发布时间:2020-07-07 05:04:03 移动开发

从android apk中的.smali文件中提取所有API调用

我想从Android应用程序的apk中提取所有API调用.我已经使用apktool从apk获取smali代码文件.手动可以发现一些API调用,但是我需要一种自动方法.例如,我可以在以下代码行中看到getNetworkInfo调用: invoke-virtual {p0, v0}, Landroid/net/ConnectivityManager;->getNetworkInfo(I) ..
发布时间:2020-07-07 05:02:59 移动开发

斯马里语:增加寄存器数量

我需要一个额外的寄存器来以smali方法存储字符串.我知道smali代码中的寄存器逻辑(请参见 https://github.com/JesusFreke/smali/wiki/Registers ),但是我仍然想知道如何归档增加的寄存器数. 假设我有一个 .locals n 的方法.现在我想拥有 .locals n + 1 .首先,我想遍历该方法,并向每个v寄存器加1(v0-> v1,v1 ..
发布时间:2020-07-07 05:02:52 移动开发

将else语句复制到if语句

我正在尝试将else状态的代码复制到if语句中. 在这里,我将if-eqz视为if条件,但不知道else条件在哪里.有人可以帮我找到其他情况,以便我也可以将其复制为if代码. 我还想知道else语句主体的开始和结束在哪里 if-eqz v1, :cond_1 .line 103 :goto_1 return-object v0 .line 82 :cond_0 invoke-sta ..
发布时间:2020-06-20 19:45:33 其他开发

如何在smali文件中进行本地化?

我有一个使用外语的应用程序,我想完全迁移它,例如在smali文件中,我有以下编程代码: const-string v1, "Hello" 如何从此smali代码添加对string.xml文件的引用? 解决方案 如果您需要在com.xxx.yyy.HomeActivity中进行此操作,并且R.java中的本地化字符串'id为0x7f050000.使用下面的代码替换代码const- ..
发布时间:2020-05-03 04:58:41 移动开发

如何从Android APK生成调用图?

我从Google Play下载了一些Android应用程序。我有 Smali 代码通过逆向工程工具 apktool 。我想为这些应用程序生成调用图。我已经看到很多关于堆栈溢出和谷歌的链接,大多数建议的工具要么是 c / c ++ ,要么是 Java ,他们当然需要我没有的源代码。 有没有办法自动生成调用图?谢谢。 解决方案 apkinspector - http://code.goo ..
发布时间:2018-12-27 18:31:42 Java开发

Smali如果结构修改

我需要修改从smali代码到条件的“if语句”为真,在java中可能是这样的: if(a> b){ ..... } 转换为: if(true){ ... } 如果可以在smali代码中执行吗?并且有人知道如何在smali代码中修改这个结构? 非常感谢。 解决方案 在dalvik字节码中,if语句将表示为某种条件跳转。在这种情况 ..
发布时间:2018-07-17 09:53:10 移动开发

Smali语法DalvikVM运codeS

序言 我想了解如何使用Smali / Baksmali组装/分解为DEX文件DalvikVM说明。 问题 从这个.java文件 包GD;您好类{ 公共静态无效的主要(字串[] args) { 的System.out.println(“你好!”); } } 我已经生成以下smali汇编文件:的.class LGD /您好; 。超Ljava /郎/对象; ..
发布时间:2016-03-19 16:16:34 Java开发

放在哪里code为全球硬件密钥监听器?

我试图破解硬件的关键支撑到现有的应用程序,但感悟到我知道的太少Android应用开发的继续。结果 我可以反编译,并重新编译应用程序,而无需使用APKtool问题,我做了一个小的应用程序自己用的​​硬件关键支撑拉动编译smali code出来。作为参考,这部分是这样的: 。方法公开的onkeydown(ILandroid /查看/ KeyEvent的;)z 如果我想有应用程序监听硬件钥匙“全 ..
发布时间:2016-03-19 00:17:56 移动开发

修改.smali文件

我反向工程了一些安卓的apk添加一些仪器进行功能测试。 我想知道给予smali如下如何添加像 Log.e(TAG,“有些descritpion”,E); 在.smali文件中的每个方法。 的.class公共LD; 。超Landroid /视图/视图; .source“的SourceFile” #实例字段 技术领域一个:Z 点域B:LCOM / Rovio公司/ ka3d /应用 ..
发布时间:2015-12-04 11:20:26 移动开发

转换.java文件.Smali文件

我反向工程一个Android应用程序与APKTool并获得.Smali文件作为源$ C ​​$ C输出。我转换了.Smali文件与应用程序进行.java文件。我能够成功地编辑.java文件,但现在我想将它们转换回到.Smali这样我就可以重新编译与新.Smali文件的应用程序。当我刚刚离开的.java文件中,有不重新编译,并给出了一些错误。我找不到任何有关在互联网上进行编译的.java到.Smal ..
发布时间:2015-12-03 17:24:33 Java开发

什么是学习Smali(以及如何/何时使用Dalvik虚拟机运codeS)的最佳方法是什么?

我知道Java和教训C,但从来没有使用过。我不知道任何形式的组件,无论是对一个虚拟机或一个实际 什么是学习如何破解Smali最好的方法是什么? 解决方案 更新:正如我昨天答应,我增加了一些更多的链接列表 Ufff。没有太多的文档身边!最好的建议?反编译,并阅读,和调整,并看看它是如何做的,一次又一次开始循环。但你没有问他的意见,对不对? ;) 现在,也有一些地方在那里,WIL lhelp ..
发布时间:2015-12-02 17:38:20 Java开发

直接的.java到.smali转换。可能?

我正与baksmali / smali工具。 但有时我需要的.java类纂要.smali文件。所以我先用Eclipse编译和第二拆开.apk文件到一组.smali文件。 是否有可能直接编译的.java到.smali一个单一的工具? 我无法找到一个解决方案,我自己... 解决方案 “的javac”或类似的程序可以用来转换源$ C ​​$ C到的.class。 Android的的“dx”用于 ..
发布时间:2015-12-02 14:02:40 移动开发

反编译.smali文件上的APK

我下载 APK管理器,让我解压APK文件。 但它只是解包并不会反编译.smali文件的.java。 是否有可能反编译.smali到的.java? 解决方案 否,APK管理器反编译的 .dex 文件到 .smali 和二进制的.xml 来人类可读的XML。 序列(基于APK管理器4.9)是 22 以选择包,然后 9 以反编译。如果preSS 1而不是9,那么你只会解压缩(用于只有当你想交换 ..
发布时间:2015-12-01 16:38:04 Java开发