- 2024-11-11reverse2
题目链接:reverse2。下载附件后,使用IDA进行反编译,定位到main函数,如下。main函数中主要需要分析的地方如下。for(i=0;i<=strlen(&flag);++i){if(*(&flag+i)=='i'||*(&flag+i)=='r')*(&flag+i)='1';
- 2024-11-11Luogu
Luogu比赛记录【LGR-206-Div.3】洛谷基础赛#17&Diligent-OIRound1P11274「Diligent-OIR1D」DlgtTemplate周日被同机房大佬叫去写的因为看着很dp,所以往dp想。发现从前向后dp很神秘,后效性很大。于是唐了15min想到倒序dp。设\(f_{i,j}\)表示\([i,n]\)中选出
- 2024-11-09分支语句【if】 pk 【switch】
一、if语句有三种形式:①if(表达式) 语句inta=5;if(a>0)puts("大于0");② if(表达式) 语句 else 语句 inta=5; if(a>0) puts("大于0"); else puts("小于等于0");③ if(表达式)
- 2024-11-06C语言之输出函数printf以及puts
printf和puts都是c语言的库函数,都可以输出的函数但他们也存在着一定的区别printf函数:1.功能强大:printf是一个格式化输出的函数,它可以输出各种类型的数据,并且能够按照指定的格式进行输出,例如会以10进制整数输出10。可以同时输入多组数据,灵活的控制输出的格式,如控制整数的
- 2024-10-25题解:Tokitsukaze, CSL and Stone Game
ProblemLinkTokitsukaze,CSLandStoneGame题外话对于某些人说降绿甚至降黄,本人是很不同意的,毕竟多一道水蓝有什么不好题意翻译得很简洁,不再赘述。Solution不难发现有以下几种情况:只有两堆不等的,肯定选少的那堆,因为这样不易使得两堆相等。若两堆相等,一定破坏相等
- 2024-10-24ZetCode-其它教程-一-
ZetCode其它教程(一)原文:ZetCode协议:CCBY-NC-SA4.0TCL教程原文:https://zetcode.com/lang/tcl/这是Tcl教程。在本教程中,您将学习Tcl语言。本教程适合初学者。目录Tcl语言词法结构基本命令表达式控制流字符串列表数组过程输入/输出TclTcl是基于
- 2024-10-23Ruby数据结构介绍
Ruby中的String 对象存储并操作一个或多个字节的任意序列,通常表示那些代表人类语言的字符。最简单的字符串是括在单引号(单引号字符)内。在引号标记内的文本是字符串的值:'ThisisasimpleRubystringliteral'如果您需要在单引号字符串内使用单引号字符,那么需要在单引号
- 2024-10-22数字IC后端实现Innovus |给各种IP子模块添加port buffer和antenna diode万能脚本
我们之前分享过在hierarchicalflow后端实现中为了确保顶层flatten时timingsignoff和physicalsignoff看到的情况和模块级看到的情况一致,我们会在模块ioport添加ioportbuffer(主要是timing,antenna一致性)。实际上在芯片级我们还会给各大子模块Block和IP的接口添加buffer。
- 2024-10-18Ruby教程
Ruby是一种简洁而强大的编程语言,以下是一个Ruby教程:一、安装Ruby在官方网站(https://www.ruby-lang.org/)下载适合你操作系统的Ruby安装包。按照安装向导进行安装。安装完成后,可以在命令行中输入ruby-v来检查Ruby的版本,确认安装成功。二、基本语法变量和数据类
- 2024-10-1810093-基于STM32的无线串口小型直流电机调速器设计(仿真+原理图+源代码工程+详细介绍说明书+proteus)
10093-基于STM32的无线串口小型直流电机调速器设计(仿真+原理图+源代码工程+详细介绍说明书+proteus)功能描述:直流电机的调速器设计设计,需要设计一个调速与控制系统,是设备可以直接控制和读取信息,并且显示。①设计直流电机转速控制系统;②通过按键调节直流电机转速;③可以在
- 2024-10-1810093-基于STM32的无线串口小型直流电机调速器设计(仿真+原理图+源代码工程+详细介绍说明书+proteus)
10093-基于STM32的无线串口小型直流电机调速器设计(仿真+原理图+源代码工程+详细介绍说明书+proteus)功能描述:直流电机的调速器设计设计,需要设计一个调速与控制系统,是设备可以直接控制和读取信息,并且显示。①设计直流电机转速控制系统;②通过按键调节直流电机转速;③可以在
- 2024-10-14ctfshow
pwn19fork()函数创建了一个子进程。如果当前代码处于父进程(fork()返回1)则进入if语句块。如果是子进程(fork()返回0),则进入else语句块。在子进程中给予了用户一个shell权限,允许用户在子进程中输入数据并通过system运行。值得注意的是在read函数前有一句fclose(_bss
- 2024-10-14模板
调试gdb.attach(p)pause()ret2textfrompwnimport*context(arch="i386",os="linux",log_level="debug")filename="./pwn"p=remote("pwn.challenge.ctf.show",28104)#p=process(filename)elf=ELF(filename)
- 2024-10-08NSSCTF(PWN)10
[HUBUCTF2022新生赛]singout这题是道签到题,直接nc但是catflag得不到flag我们可以用:1catflag2nl${IFS}f*3tacfla*>&24tacf\lag>&25tail./*6tac${IFS}f*7tac$IFS$9f*8tac./*用这些得到flag[LitCTF2023]狠狠的溢出涅~查看发现是64位文件这道
- 2024-09-30NSSCTF(PWN)4
[GDOUCTF2023]Shellcode使用checksec发现这是64位文件查看main函数发现这题涉及到了栈溢出我们点开第一个read,name发现位于bss段中,就想到这里涉及到了shellcode,但是使用 shellcraft默认生成的字节数是44字节,这里最大输入数才25字节,所有不能使用默认生成这里我们就
- 2024-09-26AT_joisc2016_d 雇用計画
题意有\(n\)个数\(a_i\),\(q\)次操作,每次操作会单点修改\(a_i\),查询所有\(\geb\)的所有数形成的连通块个数。\(n,q\le2\times10^5,1\lea_i\le10^9\)分析存在一个\(O(n\sqrtn)\)的分块做法,但是需要精细实现(否则复杂度可能退化成\(O(n\sqrtn\logn)\),不过应该也
- 2024-09-25CTFSHOW pwn03 WrriteUp
本文来自一个初学CTF的小白,如有任何问题请大佬们指教!题目来源CTFShowpwn-pwn03(ret2libc)https://ctf.show/challenges思路1.下载题目放到checksec先查一下2.IDA打开题目Shift+F12查看字符串发现没有system和/bin/sh,但是有libc文件。3.用gdb的cyclic查询一下溢出所
- 2024-09-18P3573 [POI2014] RAJ-Rally
题意给定一个DAG,你需要删掉一个点使得原图的最长路径的长度最短,求出答案和方案。\(n\le5\times10^5,m\le10^6\)分析DAG的一条路径有一个优美的性质:一定是从拓扑序小的点指向拓扑序大的点。考虑按照拓扑序从小到大处理每一个点。假设我们处理到了点\(x\),它的拓扑序是\(i
- 2024-09-15条件编译 - 代码裁剪的工具 --进阶C语言
目录条件编译-代码裁剪的工具为何要有条件编译条件编译都在那些地方用?见一见条件编译的代码宏是否被定义vs宏是否为真or假编译器也能够自动帮你加上宏GCCVS2023-VS2019#ifdef/#ifndef#if注意事项让#if和#ifdef/#ifndef完全一样条件编译也支持嵌套一个使用#ifdefined能起到很
- 2024-09-11ABC246Ex 01? Queries(动态 DP)
题意给定长度为\(n\)的字符串\(s\),只包含0,1,?,其中?可以任意替换为0和1。再给定\(q\)次单点修改,修改后查询字符串本质不同的子序列个数,对\(998244353\)取模。\(n,q\le10^5\)分析考虑没有修改怎么做。首先跟SA没有任何关系。设\(f_{i,0/1}\)表示考虑前\(
- 2024-09-11P3730 曼哈顿交易(经典题,莫队+值域分块)
记录这一类很典的题目。题意给定\(n\)个数,\(q\)次询问区间\([l,r]\)内出现次数第\(k\)小的数的出现次数。若区间内不同数的个数小于\(k\)输出-1。\(n,q\le10^5\)。分析发现正常的数据结构以及分块都很难维护这种信息,考虑莫队。莫队加入数时,我们需要更新一个数的
- 2024-09-10P10408 「SMOI-R1」Apple
据说是个典,记录一下吧。题意给你\(\{a_{2^n}\}\)和\(q\)次操作,下标从0开始。操作如下:1x,表示查询\(\sum_{y\operatorname{or}x=x}a_y\)的值。2xv,表示\(a_x\leftarrowv\)\(n\le20,q\le3\times10^5\)。分析令\(y\)为\(x\)的子集当且仅当\(y\operatorna
- 2024-09-09栈迁移(详解)
栈迁移原理栈迁移主要利用了leave_ret这个指令leave返回上级函数时,恢复原本的栈空间leavemovesp,ebppopebpret返回上级函数后,执行上级函数的命令ret等同于popeip(不存在这样的指令esp'''ebpret在函数的先执行到leave指令时,会将ebp处填充的地址pop到ebp中去
- 2024-09-09羊城杯比赛pwn复现
title:羊城杯比赛pwn复现date:2024-09-0520:12:19categories:ctf-比赛复现首先推荐这个博客本篇学习的思路来自这个大佬实力有限,只复现出了pstack这一题pstack知识点这个题目是个很经典的栈迁移的题目,因为栈溢出的空间不够,但是常规的栈迁移一般有方法获得一
- 2024-09-09Linux网盘,编程者的选择,让技术为数据服务,创造无限价值!“#Linux系统编程《网盘项目》
"Linux网盘,编程者的选择,让技术为数据服务,创造无限价值!"#Linux系统编程《网盘项目》前言预备知识一、项目功能二、程序基本框架2.1服务器程序流图2.2客户端程序流图三、程序代码解析3.1服务器代码解析3.1.1主函数代码解析3.1.2信息处理函数代码解析3.1.3获取命