随笔分类 -  汇编

摘要:x86寄存器 阅读全文
posted @ 2025-04-20 12:12 乘舟凉 阅读(18) 评论(0) 推荐(0)
摘要:![image](https://img2023.cnblogs.com/blog/1798202/202303/1798202-20230311014610557-1093083215.png) ![image](https://img2023.cnblogs.com/blog/1798202/202303/1798202-20230311014623504-954360092.png) 阅读全文
posted @ 2023-03-11 01:46 乘舟凉 阅读(26) 评论(0) 推荐(0)
摘要:32位 从Ida把目标函数扣出来 toUapper proc near arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi mov edi, esi or ecx, 0FFFFFFFFh xor eax, eax repne sc 阅读全文
posted @ 2022-10-28 23:08 乘舟凉 阅读(133) 评论(0) 推荐(0)
摘要:release vs 在汇编中堆对象如何确定构造函数的范围 #include <stdio.h> class Person { public: Person() { age = 20; } virtual int getAge(){ return this->age; } int age; }; i 阅读全文
posted @ 2022-04-11 21:10 乘舟凉 阅读(35) 评论(0) 推荐(0)
摘要:现象 最近发现ida居然无法识别vs2019 printf,作为有轻微强迫症的我无法容忍,如下图所示 test.cpp: #include <stdio.h> int main(int argc, char* argv[]) { printf("hello world!"); return 0; } 阅读全文
posted @ 2022-01-17 00:15 乘舟凉 阅读(876) 评论(2) 推荐(1)
摘要:现在我们来逐步分析每一条代码的作用 push ecx 这条代码实际上是为了将esp-4,腾出一个局部变量的栈空间 lea eax,dword ptr ss:[esp] 将刚刚增加的栈空间的地址放入eax中 mov dword ptr ss:[esp],0 初始化这个变量 push eax 将变量地址 阅读全文
posted @ 2021-12-21 23:21 乘舟凉 阅读(59) 评论(0) 推荐(0)
摘要:\(\frac{x}{c}=x*\frac{2^n}{c}*\frac{1}{2^n}\) 这样就把除法转换为被除数x乘以一个整数,再右移n位的形式,但是有一个问题,因为右移n位是取下整 右移n位是取下整 例子: ​ -3/2 = 0xFFFFFFFD / 2 =0xFFFFFFFD >> 1 = 阅读全文
posted @ 2021-12-16 00:30 乘舟凉 阅读(76) 评论(0) 推荐(0)
摘要:交换指令XCHG是两个寄存器,寄存器和内存变量之间内容的交换指令 阅读全文
posted @ 2021-09-27 00:09 乘舟凉 阅读(1051) 评论(0) 推荐(0)
摘要:SHL(汇编指令)。 shift letf 格式:SHL DST,1 功能:将目的操作数顺序左移1位或CL寄存器中指定的位数。左移一位时,操作数的最高位移入进位标志位CF,最低位补零。 ROL(循环左移) 指令把所有位都向左移。最高位复制到进位标志位和最低位。 scasb(scanf string 阅读全文
posted @ 2021-09-26 23:47 乘舟凉 阅读(346) 评论(0) 推荐(0)
摘要:JB = jump not above and equal 当CF=1,且ZF不等1时跳转 阅读全文
posted @ 2021-09-26 23:46 乘舟凉 阅读(255) 评论(0) 推荐(0)
摘要:XOR 指令在两个操作数的对应位之间进行(按位)逻辑异或(XOR)操作,并将结果存放在目标操作数中: XOR destination, source 阅读全文
posted @ 2020-11-14 10:32 乘舟凉 阅读(1771) 评论(0) 推荐(0)