信安实验室 第二周 学习总结

计算机语言方面

c++

做了几道题,写了高精度乘法的两种形式(存储数组每位存10以内数字和每位存1000以内数字,后一种有好多细节要处理),了解了sort函数排序结构体的方法,定义一个cmp函数作为sort函数的第三个参数。

python

了解了 列表 的使用方法及相关函数的应用
.append(所添加值)
.insert(位置,所添加值)
.pop(可为空也可为位置)
del list[位置]
.sort(空为从小到大或reverse=True从大到小)
.reverse()
切片[起始位置:终止位置+1]

汇编语言

一、区分 位,字节,字。
1字节=8位
1字=2字节
16进制四位合为一位,所以每个框中是8位,一个字节,两个框为一个字单元
在这里插入图片描述
以int型(4字节=双字)输出0008H处的16进制值,输出为10203
以int型(4字节=双字)输出0009H处的16进制值,输出为82000102
二、通用寄存器
通用寄存器可以分区
EAX的低16位为AX
AX=AH(高8位)+AL(低8位)
B(C、D)X同样,但BP,SI,DI,SP不能分区
在这里插入图片描述

三、简单传送指令
1.MOV a,b

a=b (a为目的操作数,b为源操作数,即把b的值赋给a)

2.XCHG c,d

交换c,d的值,c,d可以是寄存器或存储单元,但不能都是存储单元,也不能有立即数,c,d尺寸要一致

3.ADD a,b

a=a+b

4.SUB a,b

a=a-b

5.INC a

a+=1

6.DEC a

a-=1

7.NEG c

c=~c (对c取补)

四、嵌入汇编
C语言中当要改变某数的二进制形式的某几位时(例如需要改变AX位上的值),可以嵌入汇编 _asm{}。

ctf 二进制

reverse

这周主要初步学了几个工具

exeinfo pe:查壳工具

脱壳用对应的脱壳工具

od:动态分析工具(还没在做题中用过)
学脱壳时,教程中使用的是od脱壳,
什么单步跟踪法,esp定律法,一步直达法(找pop),结果我的程序就根本拖不进od。。。
吾爱破解脱壳教程

ida的patch功能:直接修改程序,但是汇编语言还没学,像输出等命令还不会用。

gdb动态调试:b设断点,r运行,n单步步过,x查寄存器内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值