ysyy

安卓

安卓壳的加载

Java反射 在代码已经运行后,将需要动态加载的类,直接传给java封装实现的反射类,从而获取其属性甚至是直接调用 但是反射会大幅度降低性能 Java的ClassLoader 双亲委派机制 就是找类的时候先由父加载器直到Bootstrap ClassLoader寻找并更新,如果找不到,再由自己更新 Java的ClassLoader分为两种: * 系统类加载器 BootstrapClassLoader, ExtensionsClassLoader, ApplicationClassLoader * 自定义类加载器 Custom ClassLoader, 通过继承java.lang.ClassLoader实现 ClassLoader的继承关系如图所示: 1. ClassLoader 是一个抽象类,定义了ClassLoader的主要功能 2. SecureClassLoader 继承自ClassLoader,但并不是ClassLoader的实现类,而是拓展并加入了权限管理方面的功能,增强了安全性 3. URLClassLoader 继承自SecureCla

By ysyy

实战

TikTok

过抓包 万事开始先说抓包,说起抓包根据前辈们的信息能找到很多,我这里总结一手 tiktok加密参数分析_tiktik iid-CSDN博客 先说boringssl,这个东西就是是 Google 为 Android 等项目定制的轻量级、精简版的 OpenSSL,用于实现加密通信和安全协议。SSL_CTX_set_custom_verify 是 BoringSSL 中用于设置自定义证书验证逻辑的函数。它的函数原型大致如下:void SSL_CTX_set_custom_verify(SSL_CTX *ctx, int mode, ssl_custom_verify_callback callback);参数解释: * ctx:要设置的 SSL 上下文(SSL_CTX)。 * mode:验证模式(

By ysyy

实战

某猫小说

2025.1.24 首先契机是最近libmsaoaidsec这个so文件的反调试被大佬们打烂了 我从中学习了一下,也快速总结了一些思路 首先如果有frida检测的话,可以先去hook一下dlopen dlopen 这个函数是liunx环境下一个运行时动态加载链接库(也就是so)的一个函数,通过直接hook这个函数我们可以知道在frida hook时加载到那个函数就会死掉 function hook_dlopen1() {//查看so的加载流程 Interceptor.attach(Module.findExportByName(null, "android_dlopen_ext"),//这个是64位后的名字,如果是32位的就直接hook dlopen { onEnter: function (args) { this.fileName = args[0].readCString() console.log(`dlopen onEnter: ${this.fil

By ysyy

ARM指令集记忆

1、寄存器 常见寄存器 寄存器 别名 特殊用途 X0 - 函数返回值(整数/指针),也用于传递第一个参数。 X1-X7 - 函数参数传递(第 2 到第 8 个参数),多余的参数通过栈传递。 X8 - 间接返回值地址(如返回结构体时存放指针),或系统调用编号(svc 指令)。 X9-X15 - 临时寄存器,调用者保存(Caller-saved),函数内可随意使用。 X16-X17 IP0 /IP1 内部过程调用临时寄存器(Intra-Procedure Call),可能被链接器使用。 X18 - 平台保留寄存器(如 macOS/iOS 用于 TLS 线程局部存储)

By ysyy
蜀ICP备2025176668号
川公网安备 51130202000563号