- 博客(50)
- 收藏
- 关注
原创 buuctf-RE-SimpleRev
IDA 打开将main函数反编译为C代码1 int __cdecl __noreturn main(int argc, const char **argv, const char **envp) 2 { 3 int v3; // eax 4 char v4; // [rsp+Fh] [rbp-1h] 5 6 while ( 1 ) 7 { 8 ...
2020-12-22 21:27:00 258
原创 ACM-NEFU新生训练2-排序和CMP
A.谁考了第k名-排序Description在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。Input第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。Output输出第k名学生的学号和成绩,中间用空格分隔...
2020-12-22 21:26:00 617 1
原创 CTF-NEFU校赛-题解
Write by NEFUNSI:ghosin0ERROR签到signin下载 signin.txt 打开得到一串 base64,解码得到 flag{we1come_t0_NEFUCTF!} 。Re_SignUp下载 SignUp ,使用 010 Editor 打开发现是 Linux 可执行文件。用 ida64 打开可看到 main 函数处有字符串 xr yeI^r...
2020-12-22 21:25:00 720
原创 汇编学习-堆栈平衡
概念当调用某处的函数时,函数一般会使用堆栈作为存储的对象,这里就涉及到了堆栈使用结束后,如果不将堆栈及时还原而直接RETN,就会造成EIP的值被改变(00000000),从而导致程序运行错误,因此,每次分体函数执行完毕后,都应该将使用过的堆栈还原到使用之前的内容。如果通过堆栈传递参数了,那么在函数执行完毕后,要平衡参数导致的堆栈变化。内平栈RETN 8相当于RETN之后再让m...
2020-12-22 21:24:00 295
原创 ACM-NEFUOJ-P239回文数
#include<bits/stdc++.h>using namespace std;int n,p[1000],len,p1[1000];int f(){ int i; for(i=0;i<=len;i++) if(p[i]!=p[len-i]) return 0; return 1;}void f1(){ int i; for(i=0...
2020-12-20 13:00:00 119
原创 ACM-NEFUOJ-P210畅通工程并查集
题目:我已经明示到这个程度了你还不用并查集?#include<bits/stdc++.h>using namespace std;const int MAXN=1010;int F[MAXN];int GetFather(int x){ return F[x]==x?x:F[x]=GetFather(F[x]);}void Union(int...
2020-12-19 16:04:00 142 1
原创 ACM-NEFUOJ-P209湖南修路
思路prim的最小生成树,套上肝就完事了代码#include<iostream>#include<cstdio>#include<string.h>#define MAX 999999;using namespace std;int map[105][105],dist[105];bool vis[105];int prim(i...
2020-12-19 16:03:00 133 1
原创 ACM-NEFUOJ-汉诺塔问题
P200汉诺塔#include<bits/stdc++.h>using namespace std;int main(){ int n,i; long long s[40]; s[1]=2; for(i=2;i<=35;i++) s[i]=3*s[i-1]+2; while(cin>>n) ...
2020-12-19 16:02:00 191 1
原创 CTF-RE-学习记录-汇编-2
汇编工具DTDebug下载后设置好odd与插件路径,同时在属性中设置为管理员身份运行(无Administrator权限进入的时候一直在提示)寄存器存储数据:CPU>内存>硬盘32位CPU: 8 16 3264位CPU: 8 16 32 64EIP:存储CPU下一次执行的指令集,不能作他用通用寄存器32位寄存器32位16位8位WAXAX...
2020-12-15 17:21:00 256
原创 汇编-学习笔记
常用汇编指令MOV指令指令格式指令解释MOV r/m8,r8r通用寄存器MOV r/m16,r16m代表内存MOV r/m32,r32imm代表立即数MOV r8,r/m8r8代表8位通用寄存器MOV r16,r/m16m8代表8位内存MOV r32,r/m32imm8代表8位立即数MOV r8, imm8MO...
2020-12-15 17:20:00 105
原创 CTF-RE-学习记录-汇编
八进制运算加法表1+1=21+2=32+2=41+3=42+3=53+3=61+4=52+4=63+4=74+4=101+5=62+5=73+5=84+5=115+5=121+6=72+6=103+6=114+6=125+6=136+6=141+7=102+7=11...
2020-12-15 17:19:00 217
原创 ACM-NEFU15届校赛-大二组
A.小林找工作#include<bits/stdc++.h>using namespace std;const int MAXN=1e5+10;int p[MAXN];int main(){ int n,m; cin>>n>>m; for(int i=1;i<=n;i++) { scanf("%d", &p[...
2020-12-15 17:17:00 123
原创 ACM-NEFU15届校赛-大一组
A. 三角形面积#include <bits/stdc++.h>using namespace std;int main(){ double a,b,c; double ans,p,tmp; cin>>a>>b>>c; p=(a+b+c)*0.5; tmp=p*(p-a)*(p-b)*(p...
2020-12-15 17:16:00 141
原创 ACM-刷题记录-14届NEFU校赛
P2031凯撒密码#include<bits/stdc++.h>using namespace std;int main(){ string s; int d; while(cin>>s) { cin>>d; int len=s.length(); for(int i=0;i<len;i++) { s[i]...
2020-12-15 17:14:00 171
原创 ACM-学习记录-尺取法
题目给定一个数组和一个数s,在这个数组中找一个区间,使得这个区间之和等于s。例如:给定的数组int x[14] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};和一个s = 15。那么,可以找到的区间就应该有0到4, 3到5, 6到7.(注意这里的下标从0开始)思路对于这样的题,不用任何技巧就可以跑出结果,例如下面这个方法可能...
2020-12-15 17:13:00 134
原创 ACM-位运算符-判断奇偶
同样一个问题,位运算可以提高程序的运行效率。下面讲一下关于奇偶性的判断。常规方法public static boolean isOdd(int i){ return i % 2 != 0;}位运算方法public static boolean isOdd(int i){ return (i & 1) != 0;}说明:我们知道计算机中...
2020-12-15 17:11:00 315
原创 CTF-Web-PHP反序列化
概念解释PHP 反序列化漏洞又叫做 PHP 对象注入漏洞,我觉得这个表达很不直白,也不能说明根本的问题,不如我们叫他 PHP 对象的属性篡改漏洞好了(别说这是我说的~~)反序列化漏洞的成因在于代码中的 unserialize() 接收的参数可控,从上面的例子看,这个函数的参数是一个序列化的对象,而序列化的对象只含有对象的属性,那我们就要利用对对象属性的篡改实现最终的攻击。魔法方法...
2020-12-15 17:08:00 260
原创 [ACM]Uva572-Oil Deposits-DFS应用
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>using namespace std;const int maxn = 100 + 5;char piece[maxn][maxn];int n,m,idx[maxn][maxn];...
2020-11-10 20:02:00 152
原创 [ACM]NOIP2011D1T1复现-铺地毯
逆向考虑即可解决#include<iostream>using namespace std;const int maxn= 100000 +5;int a[maxn][4];//0-x,1-y,2-x-length,3-y-lengthint main(){ int n,flag=0; cin>>n; for(int i=1;i<=n...
2020-11-10 19:04:00 121
原创 [ACM]Uva839-Not So Mobile(树状天平)
在输入过程中同时进行数据处理,代码简洁,效率较高#include<iostream>#include<cstdio>using namespace std;bool solve(int& W){ int W1,D1,W2,D2; bool b1=true,b2=true; cin>>W1>>D1>>W...
2020-11-10 18:00:00 137 1
原创 常见文件头,文件尾总结
图片类文件类型 后缀 文件头 文件尾 标志JPEG .jpg .jpeg FFD8FF FFD9 JFIFPNG .png 89504E47 AE426082 PNG IEND IHDRGIF .gif 47494638 003B GIF9aTIFF .tif .tiff 49492A00 4D4D2A00 - II MM音频类文件类型 后缀 文件头 文件尾 标志WAVE...
2020-11-10 16:13:00 2241
原创 [ACM]NEFUOJ-最长上升子序列
Description给出长度为n的数组,找出这个数组的最长上升子序列Input第一行:输入N,为数组的长度(2=<N<=50000)第二行:N个值,表示数组中元素的值(10^9<=a[i]<=10^9)Output输出最长上升子序列的长度Sample Input5-6 4 -2 10 5Sample Output3#include&l...
2020-11-06 22:20:00 162
原创 [ACM]TL-Prim
#include<iostream>#include<cstdio>using namespace std;int main(){ int inf = 99999999; int n,m,t1,t2,t3,min; int e[7][7],dis[7],book[7]={0}; int count=0,sum=0; cin>>n&g...
2020-11-05 20:24:00 77
原创 [ACM]TL-Kruskal
#include<iostream>#include<cstdio>using namespace std;struct edge{ int u; int v; int w;};struct edge e[10];int n,m;int f[7]={0},sum=0,count=0;void quicksort(int left,in...
2020-11-05 20:22:00 87
原创 [CTF]upload-lab靶场day1
Pass-01 前端js绕过拿到题目看hint提示判定在前端,用burp代理,将1.php后缀名更改为.png格式即可通过前端检测,而后在burp中对修改包内容,将1.png改为1.php即可绕过前端js检测Pass-02 MIME验证上传php后显示不成功,但是上传图片显示正常,即使用burp抓包后发送到repeater,将Content-Type内容类型更改为:image/jp...
2020-11-04 22:56:00 145
原创 [CTF]picoCTF-day1
Lets Warm UpIf I told you a word started with 0x70 in hexadecimal, what would it start with in ASCII?这应该就是签到题了吧?爱了爱了,十六进制转十进制再打表(突然ACM)转ASCII,得到‘p’,按照格式输入即可The Numbers下载图片后得到一串数字,根据格式盲猜开头是pi...
2020-11-04 22:55:00 353
原创 [ACM]queue队列模板
思路队列的原理基本与站队一样,队首出,队尾入,变化以后也是大同小异,写起来主要就是注意struct的相关知识,以及伪指针(分别指向队首和队尾+1),队尾序号要+1以防首位变量数字重合造成不必要的麻烦(目前也不是很清楚会遇到什么)代码#include<iostream>using namespace std;struct queue{ int data[10...
2020-11-04 22:52:00 125
原创 [ACM]快速排序模板
思路快排基本思路应该就是二分+递归,从两侧同时(实则先从右往左)往中间找,同时和参变量对比,发现位置颠倒后交换位置,然后通过二分将其一块一块的分割开,直到分割到一个元素位置,即完成了快排。代码#include<bits/stdc++.h>using namespace std;int a[101],n;void quicksort(int left,int...
2020-11-04 22:51:00 159
原创 [ACM]STL-dfs
#include<iostream>using namespace std;int book[101],sum,n,e[101][101];void dfs(int cur){ cout<<cur<<" "; sum++; if(sum==n) return; for(int i=1;i<=n;i++) { if(e[...
2020-11-04 22:49:00 126
原创 [CTF]Caser-Pass-Tool1-C++工具
刷pico遇到一个凯撒密码加密题,顺手写了个解密工具,但是暂时没有解决到边界字母的升降档问题#include<iostream>using namespace std;int main(){ char s[100]; int n,k,s2[100]; cin>>n>>k; for(int i=0;i<n;i++) { c...
2020-11-04 22:46:00 141
原创 [CTF学习笔记]net-pack(WinShark)
题目:shark on wire 1DescriptionWe found this packet capture. Recover the flag.思路这里懂得了winshark的一些基本用法(感谢wbl学长),例如常见的CTF的杂项的流量包分析,主要内容集中在TCP中进行TCP追踪流(stream)进行分析,bing查找之后发现了另一种常见的流量包拦截嗅探后寻找admin...
2020-11-04 22:44:00 199
原创 【学习记录】队列
思路队列的原理基本与站队一样,队首出,队尾入,变化以后也是大同小异,写起来主要就是注意struct的相关知识,以及伪指针(分别指向队首和队尾+1),队尾序号要+1以防首位变量数字重合造成不必要的麻烦(目前也不是很清楚会遇到什么)代码#include<iostream>using namespace std;struct queue{ int data[100]; int head; int tail;};int main(){ struct queue q; in
2020-10-08 22:27:14 112
原创 【复习笔记】快速排序QuickSort
思路快排基本思路应该就是二分+递归,从两侧同时(实则先从右往左)往中间找,同时和参变量对比,发现位置颠倒后交换位置,然后通过二分将其一块一块的分割开,直到分割到一个元素位置,即完成了快排。代码#include<bits/stdc++.h>using namespace std;int a[101],n;void quicksort(int left,int right){ int i,j,t,temp;//temp存基准数 if(left>right) retur
2020-10-07 22:20:17 210
原创 【学习记录】冒泡排序
冒泡排序的复习思路代码总结思路冒泡排序的思路已经烂大街了,大概思路就是遍历n-1次第一项到n-1(假设共有n项),每一次都分别比较第j项和第j+1项,n-1轮过去后即可完成排序代码#include<iostream>#include<bits/stdc++.h>using namespace std;int main(){ int n,a[100],t; cin>>n; for(int i=0;i<n;i++) { cin>>
2020-10-07 21:37:18 106
原创 NEFUOJ P903字符串去星问题
Description有一个字符串(长度小于100),要统计其中有多少个,并输出该字符串去掉后的新字符串。Input输入数据有多组,每组1个连续的字符串;Output在1行内输出该串内有多少个* 和去掉后的新串。Sample InputGoodggod223**df2wQqqq*Sample Output3 Goodggod223df2w1 Qqqq新内容字...
2020-10-01 10:28:00 120
原创 -O1 -O2 -O3 优化的原理是什么?
一般来说,如果不指定优化标识的话,gcc就会产生可调试代码,每条指令之间将是独立的:可以在指令之间设置断点,使用gdb中的 p命令查看变量的值,改变变量的值等。并且把获取最快的编译速度作为它的目标。当优化标识被启用之后,gcc编译器将会试图改变程序的结构(当然会在保证变换之后的程序与源程序语义等价的前提之下),以满足某些目标,如:代码大小最小或运行速度更快(只不过通常来说,这两个目...
2018-07-14 18:59:00 731
原创 敬爱的武威一中老师们的经典语录-----武威一中学生必看
党星元“你求出来了吗?”“森口不如。”“你牛X的很吗?”来看(抗),这个坐标是(3,0)(桑,零)~~~~~阿滴流四的jue后跟!!!!木有交作业的同学,度涨到后米昂起!(没有交作业的同学,都站到后面去!)周银堆,你说地很好阿杜恩~~~杠撒着累?(恩,...
2018-07-10 19:01:00 1348
原创 学生成绩录入排序
入100个学生的学号、姓名、性别(0男1女),数学、语文、英语成绩,然后计算语数外平均分按从高到低的顺序排列后输出。 1 #include<cstdio> 2 #define MAXN 100 3 //学生类型 4 typedef struct student{ 5 int id, sex, ch, ma, en; 6 float avg; ...
2018-01-22 00:02:00 163
原创 归并排序框架
1 //将有序列表L和R合并到A列表上 2 void Merge(int *L, int Lc, int *R,int Rc){ 3 int i = 0,j = 0,k = 0;//分别表示L,R,A列表的索引 4 while(i < Lc && j < Rc) 5 T[k++] = L[i] < R[j] ?...
2018-01-20 21:53:00 111
原创 快速排序框架
1 void quick_sort(int arr[], int i,int j){ 2 if(i >= j) return; 3 int mid = arr[j]; 4 inta=i,b=j-1; 5 while(a < b){ 6 while(arr[a] < mid && a &l...
2018-01-20 21:23:00 79
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人