`
1025250620
  • 浏览: 230461 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

smali文件对比java文件

 
阅读更多
smali文件对比java文件:
    .class        :类名
    .super        :父类
    .source        :源文件名
    .implements        :继承的接口

    .field        :类成员变量
    .method        :类方法
    .parameter          :函数参数  p1,p2...

    .locals x        :局部变量(个数)


    const/16 v0, 0x64            :int v0 = 0x64
    const/high16 v0, 0x7f03        :高16赋值
    const-wide v0, 0x4024051eb851eb85L
    const-string v0, "1111"        :字符串

    add-int v0, p0, p1    :v0 = p0 + p1(static函数参数 从p0 开始)
    sub-int v0, p1, p2    :v0 = p1 + p2(普通成员函数参数从 p1 开始)
    mul-int v0, p1, p2    :v0 = p1 * p2
    div-int v0, p1, p2    :v0 = p1 / p2

    add-int/2addr v0, v1    :v0+v1放到 v0所在的地址
    sub-int/2addr v0, p2    :v0-p2放到 v0所在的地址

    if-ne    :if(x != y)


    iput-object v0, p0, Lcom/xyz/smali/SmaliActivity;->string:Ljava/lang/String;    :成员变量 v0 = string;
    iget-object v0, p0, Lcom/xyz/smali/SmaliActivity;->mBtn:Landroid/widget/Button;     :关联成员变量

    
    sput v0, Lcom/xyz/smali/SmaliActivity;->OK:I    :sput 给static变量赋值
    sput-wide v0, Lcom/xyz/smali/SmaliActivity;->dou:D    :sput-wide 给static的宽字节变量赋值
    sput-object v0, Lcom/xyz/smali/SmaliActivity;->sss:Ljava/lang/String;
    sget v1, Lcom/xyz/smali/SmaliActivity;->OK:I    :关联static变量


    invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V    : this.super.onCreate();
    invoke-static {p1, p2}, Lcom/xyz/smali/SmaliActivity;->add(II)I        :调用静态函数  add(p1, p2)
    invoke-virtual {v0, p0}, Landroid/widget/Button;->setOnClickListener(Landroid/view/View$OnClickListener;)V    :调用虚函数

    move-result v0        :前面调用函数后,把结果放到 v0
    move-result-object v0    :前面调用函数返回的对象给 v0

    check-cast v0, Landroid/widget/Button;    :强制类型转换  mBtn = (Button) findViewById(R.id.btn);


    return-void      :return ;
分享到:
评论

相关推荐

    Java转换smali文件编译工具

    将Android 的Dex文件转换为smali文件。此工具是用来将Java代码编译后的class文件 再由Android SDK的dx.jar生成dex文件之后。将dex转换为Smali文件的工具.供代码对比学习。

    Java代码直接转化成smail代码工具(完整项目)

    它可能是一个命令行工具,接收Java源文件作为输入,输出对应的Smali文件。使用该工具,开发者可以深入理解代码执行的细节,这对于调试、优化或者安全审计非常有用。 3. **项目结构**:"java2smali-master"这个...

    反编译—smali与java对比

    当一个Java应用程序被编译成.dex(Dalvik Executable)文件后,其实质是转换成了Smali代码。这种转换过程由DX工具完成,它将字节码转换为Smali指令,便于DVM执行。 Java是一种高级编程语言,具有丰富的类库和面向...

    java与smali对比,翻译例子

    在反编译过程中,我们可以通过比较Java和Smali代码来了解原始Java代码是如何被转换成机器可理解的形式的。这对于理解和优化Android应用性能、查找安全漏洞或进行代码混淆有重要意义。不过,要注意的是,对Smali的...

    Smali学习笔记

    通过baksmali可以将DEX文件反编译为.smali文件,而smali则可以将.smali文件编译回DEX文件。这一过程对于理解和修改Android应用程序非常有用。 ##### 2.2 使用apktool Apktool是一个强大的Android APK文件反编译和...

    smali_out.zip

    当一个Android应用的APK被反编译后,Java类文件会转换成smali文件,这些文件包含了一系列可执行的指令,用于在DVM上运行。"smali_out"目录下通常包含了APK的所有类和方法的smali代码。 逆向工程的核心是理解smali...

    Android安卓逆向系统培训课程

    教程目录复制下面的链接打开后...6、 反编译修改xml文件和smali文件 7、 配置文件和系统框架详解 8、 作业讲解与案例app 9、Java代码与smali汇编对比分析(1) 10、Java代码与smali汇编对比分析(2) 11: 实战分析app等

    NP管理器 v3.0.79 免费APK逆向修改工具

    Smali文件转Java;So文件查看字符常量; ·工具箱(常见字符串转换,如base64、des、md5、16进制、Unicode、去空白等); · 一键添加Xposed检测,一键添加弹窗、对话框; · axml反编译/回编译、arsc文件查看字符...

    Android Smali第一次完整的见面

    Smali文件通常用于Android应用的反编译和修改,因为它们提供了一种比Java更底层的代码视角。这种底层的表示形式使得开发者可以阅读和修改代码,甚至可以在不了解Java的情况下进行操作。 当我们提到smali代码时,...

    NP管理器 v3.0.73 免费APK逆向修改工具

    Smali文件转Java;So文件查看字符常量; ·工具箱(常见字符串转换,如base64、des、md5、16进制、Unicode、去空白等); · 一键添加Xposed检测,一键添加弹窗、对话框; · axml反编译/回编译、arsc文件查看字符...

    Wechat6.3.31smali第二版

    在本案例中,"Wechat6.3.31smali"是一个已经反编译完成的微信版本,它的每个.smali文件对应了原始的Java类文件,提供了一个深入研究微信内部结构的窗口。 在描述中提到的“smali断点”是逆向工程中的一个重要概念。...

    smail2java

    【标题】"smail2java" 是一个专为Android开发者设计的反编译工具,它主要功能是将APK文件中的Smali代码转换为Java源代码。Smali是一种基于Dalvik虚拟机的汇编语言,当对APK进行逆向工程时,通常会遇到这种格式的代码...

    ApkTool助手 2.48 apk修改工具_开发者常用工具

    ApkTool助手是一款集成了android apk编译、ADB调试、转换签名文件、smali文件编辑等功能于一体的软件。软件可以直接运行,无需安装。 其中apk编译功能依赖apktool,需要Java环境支持;ADB调试功能需要ADB环境支持...

    安卓反编译dex文件格式实例分析

    通过比较反编译后的 smali 代码和实际编写的 Java 源码,可以更加深入地理解 dex 文件的内部结构和 Dalvik 虚拟机执行的机制。 在学习和研究 dex 文件格式时,参考的官方文档极为重要。本例中提及了 Android Open ...

    smalidea,反编译神奇

    3. **跳转到源码**:在查看反编译后的smali代码时,可以快速跳转到对应的Java源码,便于对比分析。 4. **集成调试器**:smalidea集成了smali代码的调试器,允许开发者在反编译后的代码上设置断点,进行单步调试,...

    对apk文件的dex分解

    APK文件内部包含一个或多个DEX(Dalvik Executable)文件,这些DEX文件存储了Java字节码,经过优化后供Android的Dalvik或ART(Android RunTime)虚拟机执行。本篇将详细讲解如何对APK文件中的DEX文件进行拆分,并...

    dex文件格式详细分析

    在Dex文件分析中,通过比较main方法的实际执行代码与smali反编译后的代码可以理解Dalvik字节码的工作原理。smali是Dalvik字节码的一种汇编语言,通过smali代码可以更直观地理解Dex中的执行逻辑。 上述内容是对Dex...

    dex文件格式

    在上述内容中,通过分析main方法的执行代码,并与smali反编译结果进行比较,可以更好地理解Dex文件中代码的执行流程。 此外,Dex文件格式分析还需要一个测试环境。在上述内容中,提到了测试环境为Ubuntu 12.04 64-...

    odex转dex 工具 保证可用

    在Android系统中,`.odex`(Optimized Dalvik Executable)文件是Dalvik虚拟机执行的优化后的字节码,而`.dex`(Dalvik Executable)文件...同时,转换过程可能会比较复杂,需要一定的Smali语法知识和命令行操作经验。

Global site tag (gtag.js) - Google Analytics