Nothing

Nothing

Android虚拟机
1. Dalvik 虚拟机1.1 Dalvik 虚拟机概述Dalvik 虚拟机 (Dalvik Virtual Machine ), 简称 Dalvik VM 或者 DVM。DVM 是 Google专门为Android平台开发的虚拟机,它运行在Android运行时库中。每一个应用程序对应有一个单独的Dalvik虚拟机实例。 DVM 作为 Android 平台至关重要的中间件,它的输入是经过dx工具打包好的Dex文件,输出是程序执行结果。dx 工具解析 .class文件,合并多个 .class文件,转换为基于寄存器的字节码,并优化字节码,最终生成 Dex文件。 DVM 在 API 上和 J...
Activity启动模式
Activity启动模式:1.默认启动模式standard: 该模式可以被设定,不在manifest设定时候,Activity的默认模式就是standard。在该模式下,启动的Activity会依照启动顺序被依次压入Task中: 2.栈顶复用模式singleTop: 在该模式下,如果栈顶Activity为我们要新建的Activity(目标Activity),那么就不会重复创建新的Activity。 例: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495...
smali入门语法
Smali是什么Smali是Android虚拟机的反汇编语言。Android虚拟机的可执行文件并不是普通的class文件,而是再重新整合打包后生成的dex文件。dex文件反编译之后就是Smali代码,所以说,Smali语言是Android虚拟机的反汇编语言。动态调试APK,通常静态分析APK是不够的,如果需要彻底分析APK的执行逻辑,需要通过动态调试来进行。修改APK运行逻辑,通过修改Smali代码,再重新编译打包成新的APK,是Android逆向的基本操作。Smali基本语法 数据类型 Smali(方法类型) 代码 Java 备注 V return-void void 只能用...
Android布局
布局格式线性布局LinearLayout线性布局(LinearLayout)主要以水平或垂直方式来排列界面中的控件。并将控件排列到一条直线上。在线性布局中,如果水平排列,垂直方向上只能放一个控件,如果垂直排列,水平方向上也只能方一个控件。 使用线性布局,需要将布局节点改成LinearLayout,基本格式如下: 1234567891011 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.androi...
android killer使用基础
AndroidKillerAndroidKiller是一可视化的Android反编译工具,集合了多款安卓反编译软件,只要有配置jdk环境,AndroidKiller的安装十分常规 使用基础页面 在左侧,工程信息位置,展示名称、包名、入口;右侧日志输出,展示 更改apk的安装包名下好一个apk安装包,这里选用土豆视频为例子 打开AndroidKiller.exe程序,把下好的apk包拉入程序中,程序会自动编译apk,中途出现分析工程提示不用管直接点击否,编译的结果如下 ![屏幕截图 174312](./assets/屏幕截图 174312-1725985509168-4...
apk文件结构
apk文件结构APK 文件APK (Android application package) ,是应用程序的压缩包形式,将应用程序的原代码、各类资源和清单信息组合在一起,以便在设备上进行安装和运行 接下以ibilibili安装包为例观察其文件结构 下载apk文件 因为其本质上就是一个 zip压缩包。所以直接用win解压解压文件 如图,文件内部可分为 静态资源文件(assets) 库文件(lib) 签名文件(META-INF) 编译资源文件(res) 配置清单文件(AndroidManifest.xml) 核心代码文件(classes.dex) 资源映射文件(resources.ar...
android中线程间通信
HandlerHandle是一套 Android 消息传递机制,主要用于线程间通信 handler其实就是主线程在起了一个子线程,子线程运行并生成Message,Looper获取message并传递给Handler,Handler逐个获取子线程中的Message Binder/Socket用于进程间通信 Message :代表一个行为或者一串动作 每一个消息在加入消息队列时,都有明确的目标Handler ThreadLocal: 线程本地存储区(Thread Local Storage,简称为TLS)ThreadLocal的作用是提供线程内的局部变量TLS,这种变量在线程的生...
android读入sd卡
sd卡的读写操作HttpURLConnectionHttpURLConnection是基于[http协议的,支持GET、POST、PUT、DELETE等各种请求方式。如果使用HTTPS协议请求,可以使用它的子类HttpsURLConnection完成更安全的请求操作 使用步骤 创建一个URL对象: 1URL url=new URL(“接口地址”) 调用URL对象的openConnection()来获取HttpURLConnection对象实例; 1HttpURLConnection connection= (HttpURLConnection) url.openConnection...
android的四大组件
四大组件 活动(activity),用于表现功能 服务(service),后台运行服务,不提供界面呈现 广播接受者(Broadcast Receive),勇于接收广播 内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库 活动定义:是用户操作的可视化界面;它为用户提供了一个完成操作指令的窗口。当我们创建完毕Activity之后,需要调用setContentView()方法来完成界面的显示 一个Activity通常就是一个单独的屏幕 可以类比为windows开发中的窗口 使用1234567public class FirstActivity exte...
avatar
lock
witness me