自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 [攻防世界] [RE] [APK] app2

很简单,有AES关键字,猜测是AES128加密,mode为ECB,密文为之前看到的9YuQ2dk8CSaCe7DTAmaqAA==,密钥为thisisatestkey==查看主函数并未发现有价值的东西,于是查看manifest.xml中主函数下一个<activity>这里有一个Encryto.decode函数,查看声明。双击跳转,再次双击,跳转到汇编代码,按F5转换伪代码。放入IDA中分析,shift + F12查看字符串。看到JNI就说明调用外部的库文件了,查看资源文件。2023.7.6 牙疼。

2023-07-06 20:09:19 980

原创 [BUUOJ] [RE] [ACTF新生赛2020] rome1

好久没写博客了,最近在刷re,这道题是我觉得十分有意义的一道题。故AC后总结分享给大家。。

2023-06-06 22:27:37 1142 1

原创 有关个人博客的通知

鸽了拜拜。

2021-09-23 23:18:50 171

原创 [单源最短路径]求多条最短路

问题从1到5一共有几条最短路?思考我们思考一下上一篇的代码,发现for(i=head[now];i!=-1;i=vec[i].nex){ if(dis[vec[i].v] > dis[now] + vec[i].w) { dis[vec[i].v] = dis[now] + vec[i].w; q.push(make_pair(dis[vec[i].v],vec[i].v)); }}这里只是找到比其小的路径就覆盖并且放入队.

2020-10-08 17:48:32 510

原创 [单源最短路径]dijkstra(堆优化)

前言相信大家对dijkstra普通的方法已经有所了解,不过O(n^2) 的时间复杂度还是让人十分头痛。由普通的代码可知,我们的时间全部都浪费在遍历寻找最小的边上面,如果我们用一个小根堆去维护那么就可以将查询最小的边的时间压缩到 O(logn)我的板子:#include <cstdio>#include <cstring>#include <queue>#include <vector>#include <iostream>#d

2020-10-08 17:28:47 283

原创 两种建表的方法

直接上代码邻接表的创立#include <cstdio>#include <cstring>#include <vector>#include <iostream>using namespace std;int n,m;const int N = 2000000;int head[N];struct node{ int u,v,w,nex;};vector <node> vec;void addEdge(int

2020-09-26 17:43:58 306

原创 [堆] 奶牛晒衣服

惯例的传送门思路用一个堆去维护所有的衣服,每次取湿度最大的一件进行烘干,当最大的那一件也被烘干后便是答案。这个堆的作用就是保证heap[1]永远是最大的。你也可以用sort进行排序,但是数据好大可能会超时。上两份代码第一份(常规写法)/*Author : yukkiTime : 2020.9.1OJ : luoguPid : 1843*/#include <cstdio>#include <algorithm>#include

2020-09-26 00:12:35 106

原创 [图论+BFS]最小转机

传送门还是要把题目摘抄一下第一行输入n , m , start , end , 其中n表示城市数,m表示航线数,start表示起点城市,end 表示终点城市。紧接着输入m行,每行是一条类似a b这样的数据表示城市a和城市b之间有航线,也就是说城市a和城市b之间可以互相到达。城市a和城市b之间可以互相到达。 存双边思路邻接表存图,bfs找终点上代码/*Author : yukkiTime : 2020.9.21OJ : aojPid : 1952*

2020-09-22 01:08:04 344

原创 [模拟]解密QQ号

题目描述新学期开始了,小哈是小哼的新同,小哼向小哈询问QQ号,小哈当然不会直接告诉小哼。所以小哈给了小哼一串加密过的数字,同时小哈也告诉了小哼解密规则。规则是这样的:首先将第1个数删除,紧接着将第2个数放到这串数的末尾,再将第3个数删除并将第4个数再放到这串数的末尾,再将第5个数删除……直到剩下最后一个数,将最后一个数也删除。按照刚才删除的顺序,把这些删除的数连在一起就是小哈的QQ啦。现在你来帮帮小哼吧。小哈给小哼加密过的一串数是“6 3 1 7 5 8 9 2 4”。解密后小哈的QQ号应该是“6 1

2020-09-12 15:46:43 274

原创 2018年安徽省程序设计大赛B编译错误

感想11点出去溜了个弯,回来看了看STL一些使用方法和求有向图是否存在环。调试几次后一遍过了。感动思路这题很好想:这和平常的图论题的差别就是平常的图论题的点是数字,本题是一个字符串。很容易令人想到用map转换一下。首先:用一个set集合看看是否存在该字符串,不存在就map新添加一个映射,并且再set集合种报备一下;存在的话直接转化成数字即可。如下便是样例字符串转化成数字后的结果。1 22 34 33 52 56 55 75 81 2============2 33 44

2020-09-08 01:26:56 169

原创 [动态规划]经典之01背包

传送门思路很显然这就是一个01背包经典题目,对于每一个“物品”都可以选择采或者不采。采的话那就获得了本物品的价值并且花费了采药的时间。不采的话那就既不获得本物品的价值也不花费时间。状态转移方程为F[i][j]=max{F[i−1][j−w[i]]+v[i],f[i−1][j]}F[i][j] = max\{F[i-1][j-w[i]]+v[i],f[i-1][j]\}F[i][j]=max{F[i−1][j−w[i]]+v[i],f[i−1][j]}F(i,j)表示当拥有j个时间时选取前i

2020-08-21 21:37:47 112

原创 [二分答案]路标设置

传送门其实与跳石头无异上代码#include <cstdio>int len,n,k;int a[100010];int l,r;bool check(int llen){ register int i; int cnt = 0;//记录当前距离需要添加多少个路障 /* 假设当前为0 101两个路障,当前llen为51 需要添加的路障数为(101-0)/51 = 1 如果llen为50 需要添

2020-08-19 23:08:27 222 1

原创 [二分查找/二分答案]寻找第一个比给定数字大/小的数字

比给定数字小的int bin_search(int key){ int l,r; l = 1; r = 5; int mid; while(l<r) { mid = (l+r)>>1; if(a[mid] >= key) r = mid-1; else l = mid; } return l;}比给定数字大的in

2020-08-18 16:49:48 765

原创 [二分查找/二分答案] A-B数对

传送门本题思路写代码的时候顺手放进去了这里稍微补充一些首先数据100%的时候为2*10^5,数据过大两层循环可能存在超时,而常规思路就是两层for循环找答案,放弃该思路我们先行排序,然后从大到小循环一遍,当前数字减去m后所得到的值是固定的,只需要查找数组中有多少个数字符合条件即可时间复杂度O(nlogn)上代码#include <cstdio>#include <algorithm>using namespace std;#define scnaf sca

2020-08-18 15:46:07 324

原创 gdb:value requires 400020 bytes, which is more than max-value-size

解决方法直接输入如下命令set max-value-size unlimited

2020-08-17 23:08:35 1667

原创 The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwx------

当时不小心CTRL C 后就出现了这个情况解决方法删除HDFS中的/tmp/hive 文件hadoop fs -rm -r /tmp/hive

2020-07-23 11:12:09 2666

原创 安徽2019ACM C卡牌对决

思想田忌赛马上代码:#include <cstdio>#include <algorithm>using namespace std;int n;int a[50010];int b[50010];bool vis[100010];int ans;bool cmp(const int &a, const int &b){return a>b;}int main(){ register int i; scanf("%d

2020-05-28 11:04:37 613

原创 [图论 + 搜索]查找文献

传送门没啥好说的了,直接上代码#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#define scnaf scanf#define MAXN 1000010using namespace std;int n,m;/*思路:由于向量星储...

2020-05-06 14:46:36 255

原创 [并查集]修复公路

传送门思考过程这个数据范围好大啊,我想省点空间于是就想到了vector,思路很简单,就是先根据建造时间排个序,然后从小到大的顺序合并,合并一次检查一次,如果最后祖先都一样那么就是通了。#include <cstdio>#include <algorithm>#include <vector>using namespace std;int fa[...

2020-05-05 16:14:48 276

原创 [并查集]一中校运会之百米跑

思路有什么好说的呢?我就多用了一个map将名字转换成了数字,其他无异。并查集走起。#include <cstdio>#include <string>#include <map>#include <algorithm>#include <iostream>using namespace std;int fa[20002];...

2020-05-04 21:38:36 267

原创 [二分答案]和为给定数

描述给出若干个整数,询问其中是否有一对数的和等于给定的数。输入共三行:第一行是整数n(0 < n <= 100,000),表示有n个整数。第二行是n个整数。整数的范围是在0到10^8之间。第三行是一个整数m(0 <= m <= 2^30),表示需要得到的和。输出若存在和为m的数对,输出两个整数,小的在前,大的在后,中间用单个空格隔开。若有多个数对满足条件,...

2020-05-02 01:38:33 595

原创 [二分答案]河中跳房子

描述每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一个岩石跳到另一个岩石。这项激动人心的活动在一条长长的笔直河道中进行,在起点和离起点L远 (1 ≤ L≤ 1,000,000,000) 的终点处均有一个岩石。在起点和终点之间,有N (0 ≤ N ≤ 50,000) 个岩石,每个岩石与起点的距离分别为Di (0 < Di < L)。在比赛过程中,奶牛轮流从起点出发,尝试到...

2020-05-02 01:33:33 454

原创 [01BFS]hdu 2757 Ocean Currents

思路分析这显然是一个01BFS,根据其性质我们只需要将消耗为0的点放在前面,消耗为1的放在后面再一个一个遍历即可。然后不断更新当前点消耗能量的最小值,待遍历结束后输出ans[tx][ty]即可。这里用queue是不行的,需要使用优先队列来实现上述功能。注意:不能用vis来标记某个点是否被访问过,因为有可能第一遍被访问的时候并不是最优的解#include <cstdio>#i...

2020-04-30 23:14:48 195

原创 [强网杯 2019]随便注 堆叠注入

大纲技能点分析过程这里是我的做法其他做法以上技能点堆叠注入分析过程首先是这么一个界面,如果你再这个表单的框里提交的话在url框上会显示加号比如 12 32 4 ⇒inject=12+32+4 。那么我们就直接在url框里注入即可。然后接着 ?inject=1’ order by 2# 发现报错怀疑是“#”被过滤了,换成 --+后正常访问由于order by 3报错,那么常规套路:1...

2020-04-12 20:28:49 571

原创 递归篇 3

题目大意给定一排长度为N(0<N<40)的方格,向里面填入a,b,c三个数。要求仅数字C不能相邻。问:N个格子有几种填数方法思路当只有一个格子的时候就三种方法即F(1) = 3当有两个格子的时候:F(2) = 8,这个答案固然可以通过列举得到,但怎么通过上一个状态去得到本状态呢?分析每一个状态无非是通过上一个状态的其中一种情况得来的。无非是最后一个数字是C与否...

2020-04-11 17:09:52 146

原创 用STL打ACM

STL 相关文章说明count()解释注意文章说明这是我通过不断学习所总结出来的一些注意事项和知识点。将持续更新(TODO)count()解释首先这个函数需要<algorithm>文件头 ####重点它的格式是count(begin(),end(),value)如#include <iostream>#include <algorithm&gt...

2020-04-11 17:08:07 290

原创 Linux 更改时区

很简单,就两步rm -rf /etc/localtimeln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime查看时间date

2020-03-04 03:55:34 175

原创 某RSA

题目如下所示:from Crypto.Util.number import getPrime,bytes_to_longfrom sympy import Derivativefrom fractions import Fractionfrom secret import flagp=getPrime(1024)q=getPrime(1024)e=65537n=p*qz=Fra...

2020-03-02 01:19:53 854

原创 centos7 failed to start lsb

解决方法# systemctl stop NetworkManager# systemctl disable NetworkManager# systemctl start network.service说明NetworkManager是系统自带的管理套件,应该是有点问题,将其关掉就行了...

2020-02-27 14:49:56 230

原创 2.22题目

#include<cstdio>int main(){ char c1[3],t,a,b,c; scanf("%s",c1); a=c1[0]; b=c1[1]; c=c1[2]; if(a>b) { t=a; a=b; b=t; } if(a>c) {...

2020-02-23 10:00:51 199

原创 某个递归题引发的思考

题目大意给定一排长度为N(0<N<=50)的方格,向里面填入a,b,c三个数。要求任何相邻的方格数字不能相同,且首尾两格也不能相同。问:N个格子有几种填数方法方法一(玄学大法)首先进行暴力循环求结果得:1 : 32 : 63 : 64 : 185 : 306 : 667 : 126考虑到每一个数字开头都一样这里除以三发现:1 : 12 : 23 :...

2020-02-20 17:27:12 146

原创 攻防世界 a_good_idea

给了个这个基操一下:PK == 内含压缩包用kali分离后:有三个文件,python文件是我写的。这个hint告诉我们:try to find the secret of pixels像素的秘密?一开始以为是宽高不一样,看了属性后发现都是一样的,回溯。细细思考:to,to_do。显然是todo.png中有些东西,而且和像素有关于是乎:from PIL import Im...

2020-02-03 00:18:32 4927 1

原创 攻防世界 转轮机加密

前言前前后后看了几遍才懂得了这一题的解法,网上讲的都是啥啊,我最后看脚本源码才明白过来他们想要表达什么意思。网上给的转轮机的图都是三个轮子的,但是转轮机可以是N个轮子轮子:1: < ZWAXJGDLUBVIQHKYPNTCRMOSFE <2: < KPBELNACZDTRXMJQOYHGVSFUWI <3: < BDMAIZVRNSJUWFHTEQ...

2020-01-25 02:23:41 2697

原创 攻防世界 web ics-06

前言这题我真的不知道为什么是爆破id,但是我可以不用burpsuite去爆破id,哈哈哈哈。上代码:import requestsfrom bs4 import BeautifulSoupfrom urllib import requesturl = 'http://111.198.29.45:42567/index.php?id='a = url + '1'res = reque...

2020-01-10 21:43:35 337

原创 从斐波那契数列了解递归

斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …如果设F(n)为该数列的第n项(n>=3),那么这句话可以写成如下形式:F(n)=F(n-1)+F(n-2)問題がある:给定一个整数n,如何去求F(n)?由上面的式子可知:当n>=3的时候该式子成立,那当n=1或n=2的时候呢?由上面的数列可知:F(1) = 1,F(...

2020-01-10 16:46:59 488 1

原创 部分排序算法的实现

前言讲述部分排序算法的实现与利弊我认为你们掌握冒泡排序,归并排序,快速排序这三种足以冒泡排序概念:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现他们的排序与排序要求相反时,就将他们互换。代码实现#include <cstdio>int a[11] = {0,7...

2020-01-09 22:07:59 290

原创 python3进行excel操作

前言只要有需求,就会找出解决问题的方法准备pip install xlrd //读取表格pip install xlwt //写入表格写入数据首先先初始化import xlwtexcel = xlwt.Workbook(encoding='utf-8') #创建excelsheet = excel.add_sheet('member') #创建sheetstyle =...

2020-01-09 11:02:10 238

原创 攻防世界 MISC Reverse-it

首先给了一个不知道是什么东西的文件。将它放进winhex以及用binwalk都不知道他到底是什么文件。但是。。。。reverse-it,考虑从这个文件的16进制信息下手这是文件结尾的东西,这上图和下图是不是有点相似之处?不错,整个文件被倒过来了。这里我是使用python脚本给逆转过来的。import osf = open('1',"rb")#二进制形式打开f = f.read(...

2020-01-05 14:27:51 2280 4

原创 攻防世界 web upload1

题型 : 文件上传这个看题目就应该能反应过来了首先就给了一个上传界面,看一下源代码下半段只是一个普通的文件上传脚本,但是这里面有个check()函数,说明和上面的js函数有点关系。就算你不会js(我也不会) 也应该能看懂:只能上传后缀名那俩个的文件。其实这题很简单:先写一个一句话木马,然后后缀名修改成jpg或png。用burpsuite修改一下上传到它的服务器上,再用菜刀连接就行了这...

2020-01-05 07:29:04 1964

原创 python之随机函数random

前言记录一些用得着的,用于生成对拍数据import random# 随机整数:random.randint(a,b)# 随机实数random.uniform(a,b)# 随机小数:random.random() #(0,1)# 随机列表,元组或字符串的随机项:random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*(...

2019-12-11 13:12:30 272

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除