• dalvik


    1.dalvik寄存器:32位,所有类型,<=32 一个寄存器    64:使用两个相邻寄存器

    2.寄存器的命名法:v :局部变量寄存器 v0-vn  参数寄存器 vn-vn+m  

    p:参数寄存器p0 -pn     变量寄存器  v0-vn

    第一种:

    第二种:

    3.dex文件反汇编工具

    .java编译成.class在编译成.dex  最后反编译得到samli文件

     .java .class .dex →  smali

    dx.jar:  .class打包.dex

    dx --dex --output=Decrypt.dex com/yijinda/demo/Decrypt.class

    Baksmali.jar:  . dex反编译成smali

    java -jar baksmali.jar -o smali_out/ classes.dex

    Samli.jar : .smali打包成.dex

    java -jar smali.jar smali_out/ -o classes.dex

    4.dalvik字节码类型

    Dalvik     →   java

    B

    byte

    C

    char

    S

    short

    I

    int

    J

    long

    F

    float

    D

    double

    Z

    boolean

    V

    void

    L

    java类类型

    [

    数组类型

    5.字段

    Lpackage/name/ObjectName;->FieldName:Ljava/lang/String;

    字段格式:类型(包名+类名)->字段名称:字段类型

    6.方法

    Lpackage/name/ObjectName;->MethodName (III) Z

     (III) Z:这部分表示的是方法的签名信息

     

    总结:

    1. 寄存器
    2. 寄存器命名法
    3. Dex文件反汇编工具
    4. Dalvik字节码类型
    5. 字段
    6. 方法
  • 相关阅读:
    PyQt5 -1 最基本的小窗口
    浅谈线段树
    最小生成树问题
    最短路问题
    多重背包问题
    02背包(嘻嘻,完全背包)
    01背包例题
    背包问题(好奇怪)
    关于深搜及广搜
    搜索回溯(第二)
  • 原文地址:https://www.cnblogs.com/juham/p/15090382.html
Copyright © 2020-2023  润新知