zoukankan      html  css  js  c++  java
  • APK骨架分析

    APK反编译的一般步骤是:

    使用apktool将apk文件解压(后辍apk改为rar用winrar也可解压但这样不能解密res/value目录下的各文件),厉害的可以直接静态分析smali文件(ida逆向classes.dex出来的也是smali文件)

    使用dex2jar将解压得到的classes.dex文件转为jar文件

    使用jd_gui(图形版jad)将jar文件反编译为可读的java源文件

    拖到ida反编译.so文件为arm汇编代码

    不过更简单地可以使用众多软件集合APK改之理(这就有点像MASM32

    AndroidManifest.xml--APK的总体配置文件,类似javaweb的web.xml,配置包名(package)、应用权限(uses-permission)和可视界面(activity)等。

    MainActivity.Java--APK程序入口类,尤其是其OnCreate方法其调用的setContentView方法设置了程序的初始化界面。

    res目录--各可视化资产存放目录,包括图片(drawable)、界面(layout)、菜单(menu)、字符串(values)等。

    xml文件调用定义的资源--如引用文件和图片<TextView android:text="@string/str_name" android:background = "@drawable/pic_name"/>

    java调用定义的控件--Button btn_java = (ImageButton)findViewById(R.id.btn_name);

    java调用定义的资源--btn_java.setText(getResources().getText(R.string.str_name));

    java控件添加事件监听--btn_java.setOnClickListener()

    Java界面转让--startActivity()

    其中的Train.class是控制权转让到的类,真正的界面会在Train类的OnCreate方法中再次调用setContentView方法指定。

  • 相关阅读:
    PDE_DATA 定义
    每天写日记争创青年艺术家 2014-5-14
    [Servlet3.0新功能]注释替代配置文件
    Flex4+Spring3+Hibernate3+BlazeDS整合笔记
    Flex博客
    hibernate缓存机制详细分析
    计算机的艺术-算法
    算法/数据结构/数学
    线性表 及Java实现 顺序表、链表、栈、队列
    java 图的邻接矩阵
  • 原文地址:https://www.cnblogs.com/lsdb/p/6829999.html
Copyright © 2011-2022 走看看