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)_第1张图片

不同的调用约定

cdecl call外实现栈平衡

stdcall call里平衡

fastcall 通过4个寄存器传参 多余的参数用栈传(叫fast是因为用寄存器传,寄存器快)

thiscall c++类 用指针传参

W-L学习打卡(7.10)_第2张图片

W-L学习打卡(7.10)_第3张图片

算术左移和算术右移

就是不会动符号位也就是第一个

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

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

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

二:Cpp

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

三:排序复习

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

四:每日锻炼

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

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

你可能感兴趣的:(究极学习打卡1.0)