博客
分类
标签
归档
友链
关于
博客
分类
标签
归档
友链
关于
1ens - Blog
一个菜鸡逆向选手
文档
关于
github
OLLVM
神秘的ollvm,之前都是知其状,不知其所以然。 原理OLLVM 基于 LLVM 编译器框架,其工作原理是在程序编译的过程中插入特定的混淆变换。通过编写更加复杂的Pass,将代码复杂化,这样就达到了混淆的目的。 分类:字符串加密字符串加密是将源代码中的字符串数据(如常量字符串)进行加密,使得它们在二进制文件中存储时不再以明文形式出现。程序运行时,字符串需要经过解密才能被...
2024-11-30
阅读全文
LLVM初探
LLVM简介LLVM(Low Level Virtual Machine)是一个开源的编译器基础架构,它最初是作为一种中间表示(IR)语言和一个优化框架设计的,目标是支持高效的编译和生成可执行代码。LLVM并不只是一种编译器,而是一个编译工具链,旨在为现代编程语言提供高度可重用的编译工具。如果需要支持一种新的编程语言,那么只需要在LLVM中实现一个新的前端即可。如果需要支持一种新的硬件设备,...
2024-11-29
阅读全文
安卓类加载器补充InMemoryDexClassLoader
InMemoryDexClassLoader加载内存dex的流程Android 8新增了InMemoryDexClassLoader,专门用于加载内存dex,依旧以15的r3为例 InMemoryDexClassLoaderInMemoryDexClassLoader 是一个继承自 BaseDexClassLoader 的类,用于在运行时从内存中加载 Dex 文件,而无需将其存储到磁盘。它主...
2024-11-25
阅读全文
安卓应用启动流程浅析
在安卓系统启动流程浅析中,最后由ActivityThread初始化应用的 Application 类。依旧以15的r3版本为例 ActivityThread.main()123456789101112131415161718//frameworks/base/core/java/android/app/ActivityThread.javapublic static void main(S...
2024-11-24
阅读全文
Android类加载器层级关系及分析
有关类的加载在andriod_system_opreation_process篇 Android中的ClassLoader类型分为系统ClassLoader和自定义ClassLoader。其中系统ClassLoader包括3种是BootClassLoader、DexClassLoader、PathClassLoader(1)BootClassLoader:Android平台上所有Andr...
2024-11-21
阅读全文
安卓第一/二代壳浅析
第一代壳第一代加固壳简介DEX 加密(也称落地加载)第一代壳将整个 apk 文件压缩加密到壳 dex 文件的后面,在壳 dex 文件上写上解压代码,动态加载执行,由于是加密整个 apk,在大型应用中很耗资源,因此这代壳很早就被放弃了但思路还是不变。其中这种加密还可以具体划分为几个方向,如下: Dex 字符串加密 静态 DEX 文件整体加密解密 资源加密(xml 与 arsc 文件加密及...
2024-11-21
阅读全文
安卓(o)dex文件解析
DEX文件Google 为 Android 中的 Java 代码专门设计了对应的可执行文件 DEX(Dalvik eXecutable File),适用于手机这样的内存低和处理器性能较差的移动平台。 数据类型前缀u表示无符号,s表示有符号 类型 含义 u1 表示1byte的无符号数 u2 表示2bytes的无符号数 u4 表示4bytes的无符号数 u8 表示8byt...
2024-11-20
阅读全文
安卓虚拟机与编译
JVM传统的Java虚拟机,基于栈,运行class文件。 工作原理编译与加载: 开发者编写的 .java 源文件被编译器(javac)转换为 .class 文件(字节码)。 JVM 的类加载器(ClassLoader)将 .class 文件加载到内存中。 解释执行: JVM 的执行引擎读取字节码,并将其解释为底层机器指令。 对于高频代码段,JIT 编译器会将字节码直接编译为机器码执行,...
2024-11-20
阅读全文
论文阅读-ncscope:Hardware-Assisted Analyzer for Native Code in Android Apps
调研什么是ebpf eBPF(extended Berkeley Packet Filter)可以在Linux内核中运行沙盒程序,而无需更改内核源代码或加载内核模块。换句话说,eBPF 是一种内核中的轻量级虚拟机,可以动态加载和运行经过验证的用户定义程序。 对比web端,eBPF扮演了JavaScript的相似角色,由于HTML和Linux的内核都不太可制定,eBPF的出现,为linux提供...
2024-11-19
阅读全文
安卓系统加载流程浅析
Android系统启动流程 加载Bootloader–>初始化内核————>启动init进程————>init进程fork出Zygote进程–>zygote进程fork出Systemserver进程 引导层:手机开机后,引导芯片启动,引导芯片开始从固化在ROM里的预设代码执行,加载引导程序到到RAM,BootLoader检查RAM,初始化硬件参数等功能; 主要任务是将...
2024-11-14
阅读全文
上一页
3 / 9
下一页
复制文本
粘贴文本
全选文本
剪切文本
站内搜索
在新标签页打开
复制图片地址
复制图片文件
归档
打印页面
暗黑模式
阅读模式
粘贴文本
全选文本
剪切文本
复制文本
站内搜索
必应搜索
新标签页打开
复制链接地址
复制图片
谷歌识图
常见问题
暗黑模式
打印页面
阅读模式