学习报告(一到二周)
学习报告(一到二周)
语言学习
汇编语言
已基本了解其使用语法,及其功能(函数调用,返回父函数)
mov,jmp,push,pop(基本语句)
call(调用子函数),ret(返回父函数),leave(将栈中的指向子函数地址去除,恢复父函数指令)
stack用法
存储函数在内存中的位置,存储变量,存储命令等
C语言
基本理解指针用法(用于指向变量地址),可用于子函数中调用外部变量,也可用于间接修改和间接引用对应地址的值
工具使用
ida静态分析
通过解ctf题逐步理解
基本可以看懂其伪代码表示意思
基本会搜索相应输出结果以找到目标程序
评测作业
1,交换数值
(1)指针
1 |
|
(2)+-交换
1 |
|
(3)异或(利用两次异或后为原值)
1 |
|
2,汇编角度分析switch语句
switch相当于一个子函数,每个case对应命令地址,所有的case按我们在c语言中写出的顺序排序,switch寻找对应case名对应的地址,将IP移向对应地址再进行相应命令,根据IP进行一次命令后+一个命令长度,就会按顺序执行命令。
只要不遇到break就不会退出该子函数。
3,位运算判断奇偶数
1 |
|
直接通过最后一位是否为1判断奇偶数,因为除第一位其他都为2的多少次方倍
4,
选择排序()
1 |
|
冒泡排序
1 |
|
二分寻找
1 | int search(int* arr, int p, int q, int ele) |
5,出的题目
目测需要动态调试,没寻找到对应的地址,不太会做
学习目标
仍需多加练习CTF
仍需多了解加密算法如base64及更高级的算法
- 标题: 学习报告(一到二周)
- 作者: runwu2204
- 创建于 : 2023-01-05 17:05:21
- 更新于 : 2023-01-05 17:05:21
- 链接: https://runwu2204.github.io/2023/01/05/Re/实验室报告/学习报告(一到二周)/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论