破译密码crypto是我感觉很有意思的一个分支
001 base64
下载附件打开后,是一个字符串,题目是base64, 所以直接解码得到flag。
002 Caesar
下载附件后打开,也是一个字符串,题目中说是caesar密码,然后不断地循环位移就好了
def caesar(str,num):
l = list(str)
i = 0
while i < len(l):
if l[i]>='0' and l[i]<='9':
i = i+1
elif l[i]>='a' and l[i] <='z':
l[i]=chr(ord('a')+(ord(l[i])+...
Abstract
Delaunay Refinement是一种生成用于插值,有限元法和有限体积法的非结构化三角形网格的技术。在理论和实践中,由Delaunay细化产生的网格满足角度,边长,三角形数量以及三角形从小到大的渐变在一定的范围内。L. Paul Chew和Jim Ruppert分别以几种方式对算法进行了改进,最重要的是,它有助于解决将小角度的非流形域划分网格的难题。
尽管小角度在输入的三角形中是一定存在且无法消除的,但是希望能够对一个区域进行三角剖分而不产生新的小角度。但是这个问题并不是总是可以解决的。Delaunay refinement algorithm 可以创建一种网格,大多数角为$30^\circ$或者更大,没有角小于$arcsin[(\sqrt{3}/2)sin(\phi/2)] \thicksim (\sqrt{3}/4)\phi$这里$\phi \leq 60^\ci...
一、首先需要配置JAVA环境
下载Java JDK
注意选择Accept License Agreement,并下载.tar.gz格式的文件。由于官网速度太慢,大家可以再去找一个源。
打开命令行。切换到下载的文件所在路径后
tar -xzvf jdk-12_linux-x64_bin.tar.gz
mv jdk-11.0.1 /opt
cd /opt/jdk-11.0.1
大家注意自己的文件夹路径
3.设置环境变量。
在命令行执行以下命令。
gedit ~/.bashrc
gedit有问题的自己百度下就好,很容易解决
在打开的文件最下面添加以下内容,然后保存并关闭
export JAVA_HOME=/opt/jdk-11.0.1
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
在命令行执行以下命令
source ~/.bashrc
4.安装并注册。
在命令行中执行以下四行指令。
u...
图像操作
最常见的图像缩放操作,只需三四行代码:
import Image
# 打开一个jpg图像文件,注意路径要改成你自己的:
im = Image.open('/Users/michael/test.jpg')
# 获得图像尺寸:
w, h = im.size
# 缩放到50%:
im.thumbnail((w//2, h//2))
# 把缩放后的图像用jpeg格式保存:
im.save('/Users/michael/thumbnail.jpg', 'jpeg')
open可以用一个变量保存想要打开的路径,比如filename = "gif/"+str(i)+".jpg"
getcolors方法
from PIL import Image
import matplotlib.pyplot as plt
img = Image.open(filename)
plt.imshow(img)
plt.show()
print(img.getcolors())
图片颜色信息是在img变量中体现的,通过RGB三元组表示。
JAD是使用Microsoft VisualC++开发的,运行速度非常快,可以处理很复杂的JAVA编译文件。众多的参数使JAD可以灵活应付多种加密手段,令反编译的代码更加优化和易读。由于JAD参数太多,没必要一一解释,其中有几个最常用的如下:
-d <dir> -用于指定输出文件的目录
-s <ext> - 输出文件扩展名(默认为: .jad),通常都会把输出文件扩展名直接指定为.java,以方便修改的重新编译。
-8- 将Unicode字符转换为ANSI字符串,如果输出字符串是中文的话一定要加上这个参数才能正确显示。
最常用的反编译指令如下所示:
Jad -d c:\test -s .java -8 HelloWorld.class
这将当前目录下的HelloWorld.class反编译为HelloWorld.java并保存在c:\test目录里,其中的提示输...
misc其实是英文miscellaneous的前四个字母,杂项、混合体、大杂烩的意思。是CTF比赛中最杂乱包罗万象的一个类别,也是最有趣的一个类别。
001 this_is_flag
题目中直接给出flag,ctrl+c ctrl+v,通过
flag{th1s_!s_a_d4m0_4la9}
002 pdf
题目明确指向要下载附件,下载发现是pdf文件,windows下可以用网站转换成Word,把图片拿开就能看到了。kali可以用pdftotext*.pdf *.txt转换(转换成Word也行)
flag{security_through_obscurity}
pdftotext
在命令行中输入
pdftotext [选项] [文件PDF文件] [文本]
-opw 密码指定PDF文...
模板制作
本文从官方文档开始,通过默认模板和自己在用的大前端theme进行学习修改(DUX不知道为什么我无法进行数学公式输入,所以被迫放弃,改用了一个更简洁的theme,感觉更容易学习更容易魔改),不断魔改自己的theme。想把自己学习的过程不断学习总结,本人非科班计算机出身(本科数学系),因经常混迹于计算机相关活动中,对自己阅读代码水平有一种迷之自信,如果有错误还希望大家多多指教,最后如果大家喜欢这个theme也可以跟着这个教程学习修改。
模板信息
这是模板信息存放的地方,它将在后台都模板选择页显示。前两行是简短的介绍,每个“*”表示一个段落。@package 表示模板名,@author 表示作者名,@version 是模板的版本号,@link 是作者的网站连接。
/**
* 这是 Typecho 0.9 系统的一套默认皮肤
*
* @package Typecho Replica...
zip用法
zip的基本用法
zip [参数] [打包后的文件名] [打包的目录路径]
常用参数
-a 将文件转成ASCII模式
-F 尝试修复损坏的压缩文件
-h 显示帮助界面
-m 将文件压缩之后,删除源文件
'-n` 特定字符串 不压缩具有特定字尾字符串的文件
-o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
-q 安静模式,在压缩的时候不显示指令的执行过程
-r 将指定的目录下的所有子目录以及文件一起处理
-S 包含系统文件和隐含文件(S是大写)例如
将指定目录/theme压缩成theme.zip文件zip -r theme.zip theme/
unzip用法
unzip的基本用法
unzip [参数] [待解压缩文件]
在linux下解压zip文件,最简单的方式就是unzip命令直接跟上要解压的zip文件。
unzip [待解压缩文件]
常用参数
-n 解压缩时不要覆盖原有的文件;
-o 不必先询问用户,unzip执行后覆盖原有的文件;
-p [password] 使用zip的密码选项;
-q 执行时不显示任何信息;
-d [目录] 定文件解...
VIM命令
简介 vim是linux最常用的编辑器,必须要熟练掌握使用办法,方便以后快速修改配置文件。如果想学习linux,vim编辑器是必须会用的工具。 vim有3种常用模式:一般模式、编辑模式、命令模式。
vim的几种模式
正常模式:可以使用快捷键命令,或按:输入命令行。
插入模式:可以输入文本,在正常模式下,按i、a、o等都可以进入插入模式。
可视模式:正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。按V进入可视行模式, 总是整行整行的选中。ctrl+v进入可视块模式。
替换模式:正常模式下,按R进入。
一般模式
移动
k j h l 上下左右
n+ 上下左右:n 为数字,移动n个字符
+或Enter 把光标移至下一行第一个非空白字符。
- 把光标移至上一行第一个非空白字符。
[ctrl]+f 屏幕向下滚动一页 代替键page down
[ctrl]+b 屏幕向上滚动一页 代替键page up
0 或者 home 移动到首行
$(shift + 4)或end:光标移动到行尾
g 光标移动到最后一行
x 向后删除
X(shitf+x) 向前删除
w...
windows 下常用的安装方式是pip install scipy但是安装会发现失败
后来查资料才发现需要在它之前需要安装一个numpy+mkl这样的包。而numpy可以正常安装成功,scipy失败原因是scipy要依赖于numpy和其他的很多库(如LAPACK/BLAS)
1.由于国外网站太慢,所以这里使用的是阿里的镜像https://mirrors.aliyun.com/pypi/simple/
2.去官网查看,官方给出的安装方法如下:【pip安装和apt的方式两种】
python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
3.在windows下我们使用pip进行安装
python -m pip inst...
创建一个ndarray:
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
object是嵌套的数列
dtype是数据类型,可选
copy是对象是否需要复制,默认True
subok 默认返回一个与基类类型一致的数组(不懂)
ndmin 指定生成数组的最小维度
最小维度
import numpy as np
a=np.array([1,2,3],ndmin=3)
print(a)
输出
[[[1 2 3]]]
dtype 对象:
numpy.dtype(object, align, copy)
object - 要转换为的数据类型对象
align - 如果为 true,填充字段使其类似 C 的结构体。
copy - 复制 dtype 对象 ,如果为 false,则是对内置数据类型对象的引用
类型字段名可以用于存取实际的 age 列
import numpy as np
dt = np.dtype([('age',np.int8)])
a =...
如果您看到这篇文章,表示您的 blog 已经安装成功.