Nothing

Nothing

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...
java输入输出
输入输出流 输入流 输出流 字节流 InputStream OutputStream 字符流 Reader Writer 输入到控制台语法 12345678public class test { public static void main(String[] args) { System.out.println(msg);//输出一个字符串并换行 System.out.print(msg);//输出一个字符串不换行 System.out.printf(format,msg);//格式化输出 &...
java的多线程
多线程概述多线程是实现并发机制的一种有效手段。进程和线程一样,都是实现并发的一个基本单位。线程是比进程更小的执行单位,线程是在进程的基础上进行的进一步划分。所谓多线程是指一个进程在执行过程中可以产生多个线程,这些线程可以同时存在、同时运行,一个进程可能包含了多个同时执行的线程。 进程与线程进程:正在运行的应用程序:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,即每个进程都有着自己的堆、栈等且是互不共享的。 线程:进程中的一个执行路径(一段程序从执行到结束的整个过程),共享一个内存空间,线程之间可以自由切换,并发执行,一个进程最少有一个线程线程实际上是在进程的基础上进一步划...
avatar
lock
witness me