adb介绍
adb工具即Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。adb 是一个 C/S 架构的命令行工具,主要由 3 部分组成:
1、运行在 PC 端的 Client : 可以通过它对 Android 应用进行安装、卸载及调试
Eclipse 中的 ADT、SDK Tools 目录下的 DDMS、Monitor 等工具,都是同样地用到了 adb 的功能来与 Android 设备进行交互。
PC 端的手机助手,诸如 360 手机助手、豌豆荚、应用宝等,其除了安装第三方应用方便,其他的功能,基本上都可以通过 adb 命令去完成,这里建议测试人员尽量不要在电脑上安装这类手机助手,因为其自带的 adb 程序可能会与 Android SDK 下的 adb 程序产生冲突,5037 端口被占用,导致使用 adb 命令时无法连接到设备
2、运行在 PC 端的 Service : 其管理客户端到 And...
PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux)。
安装
pip3 install pyautogui
如果安装过程很慢,可以换成国内的pip源
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
有时候安装过程已就报错,主要意思就是位于pypi.douban.com的存储库不是受信任的或安全的主机,正在被忽略。要求使用–trusted host pypi.douban.com允许此...
破译密码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 已经安装成功.