Android逆向 - Dalvik语言基础 技术杂谈
Dalvik语言基础
Dalvik虚拟机有专门的指令集及专门的指令格式和调用规范。由Dalvik指令集组成的代码称为Dalvik汇编代码,由这种代码组成的语言称为Dalvik汇编语言。
Dalvik汇编的设计准则
采用基于寄存器的设计。方法在内存中创建后即拥有固定大小的栈帧,栈帧占用的空间取决于方法中指定的寄存器数目。运行时使用的数据和代码都存储在DEX文...
Android逆向 - Dalvik可执行格式与字节码规范 技术杂谈
Dalvik虚拟机 Dalvik虚拟机的特点 体积小,占用内存空间少。 专有的dex可执行文件格式,体积小,执行速度快。 常量池采用32位索引值,对类方法名、字段名、常量的寻址速度快。 基于寄存器架构,同时拥有一套完整的指令系统 提供了对象生命周期管理、堆栈管理、线程管理、安全和异常管理以及垃圾回收等机制。 Android程序都运行在Android系统中,每...
Rust - String 技术杂谈
Rust中的String,动态UTF-8编码字符串的容器。它支持可变长度,提供丰富的方法进行字符串操作,是处理文本数据的强大工具,确保了内存安全和编码正确性。
Rust - HashMap 技术杂谈
Rust的HashMap,键值对集合的高效存储。它基于哈希表实现,提供快速的数据插入和检索能力,是处理大量数据和复杂映射关系时的首选数据结构。
Rust - panic! 技术杂谈
Rust中的panic!,程序遇到不可恢复错误的紧急制动器。它触发时,程序会尝试安全地清理资源,然后终止执行,是Rust错误处理策略中的一种极端手段,用于处理那些无法通过常规方式恢复的异常情况。
Rust - 生命周期 技术杂谈
Rust生命周期,确保引用有效性的关键机制。通过明确的生命周期注解,Rust防止了悬垂指针和数据竞争,保障了内存安全。生命周期是Rust借用检查器的基石,让代码既安全又灵活。