汇编基础知识
# 汇编
# 汇编指令
在 Linux 上,大部分双操作数的指令均已前者为目的操作数,后者为源操作数。
# 间接寻址
**[] ** 表示间接寻址,类似 c 语言的 ***** .
mov eax, [ebx+8] ;若ebx储存值为0x4008,则该指令将0x4010处的值赋给eax
mov eax, [0x4001] ;将地址0x4001处的值赋给eax(该代码为推测,不一定合法)
lea eax, [ebx] ;直接将ebx的值赋值给eax
# 常用命令
push 将数据入栈,pop 将栈顶数据弹出
push eip ;将eip储存的值入栈
pop eip ;将栈顶数据弹出并存入ei
more...moectf2023
# Moectf
# test_nc
了解了 nc 指令,在不使用 pwntools 的 remote 命令连接靶机时可以用。直接连接靶机更方便。
# baby_calculater
完成 100 次算式校验就行,顺便学了一下 python 的正则匹配来简化代码。
#!/usr/bin/python3from pwn import *import rep=remote('localhost','34599')context(log_level='debug')p.recvuntil(b'
more...pwn常用工具及环境配置
# 环境
# python
# str 和 bytes 转换
B = S.encode('utf-8') #可忽略参数S = B.decode('utf-8')B = bytes(S,'utf-8') #不可忽略参数# 字符串替换
dynstr = dynstr.replace("read","system")# checksec
RELRO got 表写权限 Partial RELRO 代表具有写权限
stack canary 栈溢出保护
NX:No-eXecut
more...