W-L学习打卡(7.10)

昨日去见爷爷了,虽然是晚上已经回来,要是以前就会强行熬夜淦完一天内容,但昨日突然想起,有机动休息日,不如留第二天好状态去学习,yup,这几天聚餐好多,以前都是和各种朋友,这个暑假是和各种家里人,这还是第一次的体验。--7.10
7.10 To do list:
1.Pwn课程
2.Cpp复习题
3.排序复习算法
4.每日锻炼

一:Pwn课程 RISC架构 这个就是精简指令集,就只有些基本指令,都是四字节,实现一个指令就要用很多简单指令,所以对编译器要求很高,ARM指令集就是RISC架构 定长指令集都是四字节,16位指令集(Thumb)每个都是2字节 手机就是用ARM
CISC架构 这个是复杂指令集,就会有很多指令,就是x86,可以理解为有所有API,而RISC是只有很少的API,编译器工作比较少,但是CPU电路就很复杂,intel系列都是x86系列 变长指令集
【W-L学习打卡(7.10)】好图
W-L学习打卡(7.10)
文章图片

不同的调用约定
cdecl call外实现栈平衡
stdcall call里平衡
fastcall 通过4个寄存器传参 多余的参数用栈传(叫fast是因为用寄存器传,寄存器快)
thiscall c++类 用指针传参
W-L学习打卡(7.10)
文章图片

W-L学习打卡(7.10)
文章图片

算术左移和算术右移
就是不会动符号位也就是第一个
1 000000
0 000000
循环左移和循环右移
1和0的数量是不会变的
01111000
11110000
11100001
11000011
带进位左移右移就是会改成溢出标志(eflag)
APK就是java的变种,里面有个.so文件,就是ARM架构
ARM只能静态调试,如果无聊买个黑莓手机
ARM 32位都是R开头,64位X开头

Bxx 和jz jnz 很像
BL 就像call
W-L学习打卡(7.10)
文章图片

简单来说最后一位用来是否跳转Thumb

平衡堆栈都是编译器来实现

二:Cpp 本来想着往下做,但突然发现之前的复习题还没做完,然后就先刷完题,我应该完完整整的淦完所有内容。

三:排序复习 说实话晚上学着学着我感觉好焦虑,也不是学业上的焦虑,就让我有点@#&%¥%,以至于我感觉复习的不是很透彻。

四:每日锻炼 emo了几十分钟,最后看到有人吃烧烤突然让我有动力,完全了每日锻炼。

merit 每次打每日**就会跳出这个,今日有些??,洗个澡吃个冰西瓜早点睡。(说实话如果在宿舍**tyy很能解压

    推荐阅读