AttackLab
实验touch1 结合汇编代码可以确定返回地址距离我们输入的buf距离为0x28,查看Gets函数如下: char *__fastcall Gets(char *dest){ char *i; // rbx int v2; / ...
阅读更多
DataLab
实验过程bitXor思路比较简单,即使用~和&实现异或异或即相同为0不同为1Y = ~AB + ~BA即可实现然后把或通过德摩根律变成与即可实现 /* * bitXor - x^y using only ~ and & ...
阅读更多
Bomb Lab
实验说明: A “binary bomb” is a program provided to students as an object code file. When run, it prompts the user to type i ...
阅读更多
DASCTF-MAY pwn wp
两道题都比较中规中矩,第二个比第一个还简单,第一个比赛一开始想歪了,做了很jb久,第二个十几分钟就出了 ticket一个比较典型的堆菜单题目 分析逆向的话倒是不难,直接看漏洞,首先是free中,一眼看过去发现这不就是uaf么,free的是指 ...
阅读更多
JlenuCTF
反正交完wp了,索性水个博客吧( HAPPYGAMESIMPIOT到手后直接strings一波,啊这 社工一:帮我溯源我愿称为最强题目,雪宝yyds 👴🏻一开始不知道怎么回事,下载下来www.zip是这样的,莫不是👴🏻被搅屎了,浪 ...
阅读更多
Tcache Stash Unlink Demo 演示
实例源码演示#include <stdio.h>#include <stdlib.h>#include <inttypes.h>static uint64_t target = 0;int main()& ...
阅读更多
SEH
说明结构化异常处理(SEH)是Windows操作系统提供的强大异常处理功能。而Visual C++中的__try{}/\_finally{}和__try{}/__except{}结构本质上是对Windows提供的SEH的封装。 结构线程信息 ...
阅读更多
混淆技术-控制流平坦化 [SUCTF2019]hardcpp
去除平坦化给了elf文件,一开始缺libc库,先下载下来apt-file search libc1++.sosudo apt-get install libc1++.so 然后运行程序,输入flag然后没了载入ida,发现主函数比较复杂,查 ...
阅读更多
ubuntu20.04 去除控制流平坦化的工具deflat.py安装
在virtualenv中安装angrsudo apt-get install python-dev libffi-dev build-essentialpip3 install virtualenv pip3 install virtua ...
阅读更多
二进制程序从源文件到可执行程序的过程
在c语言中,我们都知道一个源程序从源码到可执行文件都要经历预处理,编译,汇编和链接的过程,最终形成可执行文件,然后才被操作系统装载进内存运行。 为了复习pwn知识,写个文章来探究一下经常被我忽略的关于程序的中间过程。 预编译该过程主要处理源 ...
阅读更多