⚙️

Wellcum to LXIOSs BLOG


If someone is unable to perform a task, if a criminal is afraid of being invincible, then the same goes for learning

C++复习/1.0/C++的运行_C++编译器的运行_C++链接器的运行

C++重构/复习Part1 c++是如何工作的Include 找到一个文件拷贝到现在这个文件里(在编译前) Main这个函数比较特殊,没有返回值时,默认返回0,仅限此函数 <<重载运算符,也是类似一个函数,也有参数例如std::cout<<”666”<<std::endl里面的666就是参数或者另一层含义是把字符串666推(push)到cout流中,再打印到终端,再推送一个行结束符 Cin.get()是等我们按下enter键在前往下一条命令前等待,这时程序暂停执行,直到按下回车就继续执行 怎么把它转换成一个二进制文件?【1】预处理。(其实也算是编...

C语言基础/1.0指针

...

密码相关算法/1.1欧几里得算法_贝祖定理_拓展欧几里得算法

...

密码前置数学/1.0模运算

...

密码基础/1.0古典密码

...

初见二进制/汇编/1.5堆栈提升_堆栈图

...

初见二进制/汇编/1.4标志寄存器_JCC

根据教程视频,以下均以32位计算机为例Push的时候是立即数就永远-4Push 寄存器时,al(八位),不行Push ax(16位) 可以,会-2Push32位寄存器/容器,会-4也可以push一块内存(dword),把这内存的值push到目标位置(同样-4)Push word,则-2Push的是跟容器的宽度一样的,同样内存也不能push八位 Pop同理无8位,按照宽度pop,ax就+2….. 堆栈平衡Pushad指令把8个通用寄存器的值存到内存(堆栈)去了Popad指令把刚刚pushad的值又放回去了(你用pushad折腾完了想恢复原来的模样就popad一下) 所需知识PE结构 下...

初见二进制/汇编/1.3栈的初步认识_堆栈

结合wiki来简单认识栈...

初见二进制/汇编/1.2通用寄存器_认识指令_内存读写

根据教程视频,以下均以32位计算机为例一.通用寄存器(32位计算机) 32位 16位 8位低↓高 编号 EAX AX AL 0 ECX CX CL 1 EDX DX DL 2 EBX BX BL 3 ESP SP AH 4 EBP BP CH 5 ESI SI DH 6 EDI DI BH 7 ps:eip显示的是当前程序运行处其它寄存器主要用途在此先不做介绍 为何分出不同位?减小不必要的损耗,8位能表示的就不必用32位表示。 寄存器结构 31 15 7 0 EAX AX AH AL ECX CX CH CL EDX DX DH DL...

初见二进制/汇编/1.1数据宽度_逻辑运算

根据教程视频,以下均以32位计算机为例一.数据宽度4位→可表示1位16进制0至F,以此类推。8位→2位16,00至FF16位→4位16,0000至FFFF32位→8位16,00000000至FFFFFFFF 人为定义有/无符号 0 1 2 3 4 5 6 7 8 9 A B C D E F每个数怎么表示是可以定义来的,如顺序定义为0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15或补码定义0 1 2 3 4 5 6 7 -8 -7 -6 -5 -4 -3 -2 -1此处不做详解 ”1开头为负数“的理解则代表后半部分能表示的数以一开头,而刚好此部分全被定义为负数...