摘要: 4.整数的取模 取模运算可以通过除法指令实现。一般的优化做法是将其转换成等价的位运算或者除法运算,再由除法运算进行优化。 虚函数 C++的三大核心机制是封装,继承,多态,而虚函数就是多态的一种体现。软件逆向中,难免遇到使用面向对象思想设计的软件,而虚函数就是在实际软件逆向过程中的一种还原面向对象的重 阅读全文
posted @ 2023-04-21 23:19 bonelee 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 数据结构 主要是对局部变量,全局变量,数组等的识别。 1.局部变量 局部变量是函数内定义的变量,存放的内存区域称之为栈区。生命周期就是从函数进入到返回释放。 函数在入口处申请了预留栈空间和局部变量空间,也就是sub rsp,30h。局部变量空间在高地址。在应用程序被编译成release版本的时候,需 阅读全文
posted @ 2023-04-21 23:18 bonelee 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 64位软件逆向技术 寄存器 本节讨论的x64是AMD和INTEL64的合成,是指与现有x86兼容的64位CPU。在64位系统中,内存地址为64位。 x64系统通用寄存器的名称,第一个字母从E改为R“RAX”,大小扩展到64位,数量增加8个,扩充了8个128位XMM寄存器。 函数 1.栈平衡 RSP用 阅读全文
posted @ 2023-04-21 23:16 bonelee 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 【逆向】x64程序逆向基础 主要区别 1. 所有地址指针都是64位。 2. 增加和扩展新的寄存器,并兼容原32位版本的通用寄存器。 3. 原指令指针寄存器EIP扩展为RIP。 寄存器 1. 64位寄存器兼容原32位寄存器。 2. 新增加8个XMM寄存器(XMM8-XMM15)。 3. 扩展原32位寄 阅读全文
posted @ 2023-04-21 19:40 bonelee 阅读(913) 评论(0) 推荐(0) 编辑