前言 本篇作为开篇,会大体上说明,需要解读源码的,类库,或者jar。序 原本,类库和jar的系列准备写到逆向系列课程的,但是那个东西,在写了两篇,就没有后续了,现在也不知道从哪里开始了,只能等后期想好了,再开篇单独写吧。目录: EventBus、Dagger/Dagger2、okhttp3、Okio、retrofit2、butterknife、zxing、Bolts、RxJava,Andro
转载
2021-05-18 16:30:33
140阅读
2评论
Apktool.jar: 作用: 1、用于对APK文件进行解包,成可以读的smali和xml,png等资源文件。 2、同时,把解码之后的数据,重新打包成APK文件。 栗子: 使用命令的方式使用 1、apktool d xxx.apk // 解码 apk文件 2、apktool b xxx // 打包 xxx文件称apk文件 源码解读: 解包文件:
转载
2021-05-21 10:12:49
481阅读
2评论
Bolts: 作用: 用于链式执行跨线程代码,且传递数据 栗子:Task.call(new Callable() {
@Override public Boolean call() throws Exception { return true;
}
}, Task.UI_T
转载
2021-05-18 22:37:39
83阅读
2评论
HotXposed: 作用: 免重启手机,实现Xposed hook更新。(当然app是要重启的) 栗子: 入口: // Hook 入口
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
hook(HookerDispatch
转载
2021-05-22 09:32:14
371阅读
2评论
EventBus: 作用: 用于不同Activity,Service等之间传递消息(数据)。 栗子:A页面:onCreate定义 EventBus.getDefault().register(this); onDestroy定义 EventBus.getDefault().unregister(this); 添加public方法,一个Object参数(所有继承与Obje
转载
2021-05-18 16:30:08
130阅读
2评论
Butterknife: 作用: 用于初始化界面控件,控件方法,通过注释进行绑定控件和控件方法 栗子:public class MainActivity extends AppCompatActivity {
@BindView(R.id.btnTest1)
Button btnTest1;
@BindView(R.id.btnTest2)
Button
转载
2020-04-24 17:49:00
100阅读
2评论
Okio: 作用: 说白了,就是一个IO库,基于java原生io。来进行操作,内部做了优化,简洁,高效。所以受到了一部分人的喜欢和使用 栗子: 读写文件。 private void ReadFile() { try {
InputStream in = new FileInputStream(new File("/sdcard/a.txt")
转载
2020-04-26 08:59:00
183阅读
2评论
Zxing: 作用: 生成和识别,二维码,条形码。 栗子: 生成二维码,赋值到ImageView上 QRCodeWriter qrCodeWriter = new QRCodeWriter();
Maphints = new HashMap<>();
hints.put(EncodeHintType.CHARACTER_SET, "
转载
2021-05-19 19:48:32
111阅读
2评论
标题:从andorid apk到smali、class、jar、java的转化流程详解
### 引言
作为一名经验丰富的开发者,我很高兴能教会你如何实现“android apk smali class jar java”的转化过程。本文将详细介绍整个流程,并给出每个步骤所需的代码示例,以及对这些代码的解释和意义。
### 流程概览
以下是从andorid apk到smali、class、jar
Frida体验: 作用: android手机上可以对,java和so层代码,进行hook.监控数据和处理内存数据。 官译:面向开发人员、逆向工程师和安全研究人员的动态工具工具包。 栗子: 运行步骤: 1、https://github.com/frida/frida/releases 下载适合需要运行环境的可执行程序。我这里是arm64,所以下载了一个最新版本的frida
转载
2021-05-21 23:39:39
308阅读
2评论
在项目开发过程中,我们难免会用到自己去制作自定义的VIEW控件,之后我们别的项目如果需要的话
转载
2012-07-18 09:52:00
117阅读
2评论
Okhttp3: 作用: 用于网络编程(http,https)的快速开发。 栗子:// okHttpClient定义成全局静态,或者单例,不然重复new可能导致连接数耗尽OkHttpClient okHttpClient = new OkHttpClient();
String url = "https://www.test.com";byte[] data = new byte[] {
转载
2020-04-25 13:48:00
341阅读
2评论
目录:andorid jar/库源码解析 RxJava2: 作用: 通过提供一种,观察者和订阅者的模式,的架构,来优化逻辑流程。适用于复杂和需要多数据转换和长流程。 栗子: 定义三个对象类public class ResultInfo { public int code; public String msg; public String data;
}public
转载
2021-04-30 20:24:28
132阅读
2评论
Retrofit2: 作用: 通过封装okhttp库,来进行web通讯,并且使用动态代理的方式,来调用接口地址,通过回调赋值结果。 栗子: 定义一个接口,用于访问使用。public interface IServiceApi {
@FormUrlEncoded
@POST("login")
Calllogin(@Field("name") String name
转载
2021-05-18 22:04:36
209阅读
2评论
Dagger、Dagger2: 作用: 1、用于解耦Activity和业务逻辑 2、在使用业务的时候,不需要重复编写new代码。 3、当业务变化的时候,不需要对所有的UI,进行修改。 4、便于测试,和正式,替换指定Module即可。 栗子: 需要: 1、定义 CommonComponent 的接口 标记 @Component(modules = XXXModule.class)
转载
2021-05-18 21:37:32
198阅读
2评论
Android studio上应用程序开发默认使用Gradle为自动化构建工具,Gradle是在Ant、Maven等自动化工具“前辈”们的基础上发展起来了的。
BLE: Bluetooth Low Energy,即蓝牙低功耗,它是一种技术,从蓝牙4.0开始支持。蓝牙低功耗芯片有两种模式:单模和双模。
单模:只能执行低功耗协议栈,也就是只支持ble。
双模:支持传统蓝牙以及ble的使用。
较传统蓝牙:传输速度更快,覆盖范围更广,安全性更高,延迟更短,耗电低等优点。
关键术语和概念:
Gatt:(Generic Attribute Profile)—通用属
转载
2021-06-16 20:19:59
1161阅读
在Android SDK中使用Typeface类来定义字体,可以通过常用字体类型名称进行设置,如设置默认黑体:Paint mp = new paint();mp.setTypeface(Typeface.DEFAULT_BOLD)常用的字体类型名称还有:
Typeface.DEFAULT //常规字体类型Typeface.DEFAULT_BOLD //黑体字体类型Typeface.MONOSPA
转载
2012-08-24 08:58:00
225阅读
2评论
看到各大平台更新android版本,都是开着应用的时候下载,下载完成后自动替换,用户体验上似乎不错,很想弄出来一这么久
原创
2022-07-08 10:28:51
265阅读
关于删除role的一些理论首先,删除用户不能使用DROP ROLE … CASCADE,不能级联删除用户。也就是不能删除依赖的对象。因为角色可以拥有数据库对象,并且可以拥有访问其他数据库对象的权限,所以删除角色通常不仅是执行DROP role的问题。该角色拥有的任何对象必须先被删除或重新分配给其他角色;并且必须回收授予该角色的一切权限。对象的所有权可以通过alter命令修改,如下:ALTER TA