D3:SVG随机树与时钟等

基本功能及说明:

1.点击index.html文件,进入主页选择相应的功能。


2.选择svg盆栽随机树:基于D3和SVG生成的盆栽随机树,通过点击“Start Growing!”按钮,来实现盆栽的生长过程,同时更新按钮,继续点击“Growing More”继续生成更多的随机树子叶;最后通过点击“Replant”恢复花盆状态,可以进行重新生成;通过单机“Back”按钮,回到index主页面


3.选择SVG时钟:基于SVG和TweenmaxGSAP的时钟模型,用SVG来绘制时刻表形状,并通过GSAP来实现时钟指针转动的动态效果。进入主页以后会自动匹配系统时间,主要通过Tweenmax的GSAP动画形成环形时钟。浏览后可以通过点击“Back”按钮,回到系统index主界面,完成交互

用途

本文件内容可拆分用于装饰博客等视讯网站框架,增加功能性和可读性

使用的库和工具

jquery-2.1.1.min.js、TweenMax、D3.js、SVG

额外的Svg.css文件用于存放index.html的主界面信息,增强可视化。

其他




https://github.com/elbadaernU404/d3

Python爬虫相关

进程和线程

并发和并行

并发是同时具有多个活动的系统,实质是一个或多个物理CPU在若干道程序(或线程)之间多路复用。

并行是真正意义上的不同事件或线程在同一时刻同时执行。并行利用并发使系统运行更快,在操作系统的多个抽象层次运用。

进程

程序不能自己运行,只有将程序装载进内存,由系统分配资源后才能运行。程序是指令的集合,可以视为指令的静态文本,而进程是指令的执行活动,是动态的行为。
进程是操作系统对于一个运行中程序的抽象,是CPU、内存、IO设备的抽象。系统可以同时运行多个进程。

线程

线程是操作系统进行运算调度的最小单位,被包含于进程中,是进程的实际运作单位。一个进程可以由多个线程组成,线程之间共享代码和数据。
由于在实际网络服务器中对并行的需求,线程成为重要的编程模型:
1.多线程之间比多进程之间更易共享数据。
2.线程一般比进程高效。

Read More

Python正则表达式和requests爬虫

Some people,when confronted with a problem,think,”I know,I’ll use regular expressions.”Now they have two problems.

----Jamie Zawinski

正则表达式

正则表达式是可匹配文本片段的模式。最简单的正则表达式为普通字符串,与自己匹配。python模块re提供了其对正则表达式的支持。

requests模块

Requests是用Python语言编写,基于urllib,采用Apache2Licensed开源协议的HTTP库,是一个需要单独安装的第三方库。通过pip执行指令:

1
pip install requests


来安装requests模块。py3版本安装时自带pip。如果报错,可能需要对pip进行更新,执行:

1
python -m pip install -U pip


来对pip安装更新,需要注意的是这里需要将python添加进环境变量才可以执行。这样就完成requests模块的安装。

Read More

海龟绘图法(Python)

这里是python中的一个绘图模块:海龟绘图(turtle)。此模块可以让操作者绘制图形,而非打印文本。
其他命令参考:https://docs.python.org/3/library/turtle.html
绘图方法:参考搜索turtle graphis

最简单的示例:

import turtle
t=turtle.Pen()
t.reset()
for x in range(100):
t.forward(x)
t.left(90)
效果图:

这里需要注意的是,存储文件时文件名称不能以turtle命名,否则解释器将会报错。

之后可以尝试结合随机函数和随机语句来绘制较为复杂的图形:

import turtle as t
from random import randint
t.TurtleScreen._RUNNING = True #使程序于IDLE中顺利运行
t.speed(0) #速度最快
t.bgcolor(“black”) #背景色为黑色
t.setpos(-25, 25) #起始位置
t.colormode(255) #颜色模式为真彩色
i = 0 #赋哑值
for a in range(0,200): #绘制花瓣
r = randint(0, 255)
g = randint(0, 255)
b = randint(0, 255)
t.pencolor(r, g, b)
t.forward(50 + i)
t.right(85)
t.forward(i)
t.left(30)
i += 1
t.left(90) #绘制花杆
t.pensize(width=10)
t.pencolor(“green”)
t.speed(10)
t.forward(250)
t.done()
效果图:

可以进一步来设计一个小游戏:

import turtle as t
from random import randint

t.TurtleScreen._RUNNING = True
t.setup(width=750, height=350, startx=None, starty=None) #界面大小设置
t.hideturtle() #隐藏海龟画笔
t.color(“orange”)
t.penup()
t.setpos(0, 0)
myfont = (“隶书”, 16, “normal”) #设置字体
target = randint(1, 100)
t.write(“一个1到100之间的整数,猜猜看:”, font=myfont)
guess = 0
while target!=guess in range(0,100):
guess = t.simpledialog.askinteger(“猜数游戏”, “请输入一个整数:”)
if guess == target:
answer = “Congratulations!”
t.bgcolor(“black”)
elif not guess:
t.clear()
t.write(“Give Up,Game Over.”, font=myfont)
break
elif guess > target:
answer = “你猜大了,再猜一次:”
else:
answer = “你猜小了,再猜一次:”
t.clear()
t.write(answer, font=myfont)
t.done()
初始界面:

胜利界面:

放弃界面:

一些.vbs脚本文件(自娱自乐向)

.vbs

我记得初识basic语言好像要回溯到2014年以前,初中时代,当时考试的重心主要是放在读程序逻辑上,几个语句,像loop…until至今印象深刻。
记录几个简单的.vbs脚本,计算机可以直接执行。

1.

消息框招呼脚本

记事本编写’msgbox “Hello,9.9”‘,将文件后缀.txt修改为.vbs即可,双击运行后弹出消息框,可以将此脚本设置为开机启动,恩,硬核自己给自己打个招呼来自娱自乐。
(另,在室友电脑编写后首末添加do/loop可以让程序进入死循环,讯息内容可以随意发挥,控制台关闭程序即可)
一些.vbs脚本文件(自娱自乐向)

2.

语音脚本

同样的,在记事本编写’CreateObject(“SAPI.SpVoice”).Speak “Hello,9.9”‘,调整扩展名为.vbs,运行后得到系统语言提示。同样的,可以将其设置为开机启动,配合消息框食用效果更佳(假装是电脑给自己打招呼)。

3.

无限刷新:

1
2
3
4
set ws=createobject("wscript.shell")
do
ws.sendkeys"{f5}"
loop

无限Alt+f4

1
2
3
4
5
6
dim WSHshell
set WSHshell=wscript.createobject("wscript.shell")
do
wscript.sleep 2000
WSHshell.SendKeys"%{f4}"
loop

QQ消息自动发送

1
2
3
4
5
6
7
8
9
10
11
On Error Resume Next 
Dim fd,ye
set fd=createobject("wscript.shell")
for i=1 to 10 //循环次数
wscript.sleep 100 //循环间隔,越大越慢
fd.AppActivate("Name") //发送对象的昵称
fd.sendKeys "^v" //打印复制的内容
fd.sendKeys i
fd.sendKeys "%s"
next
wscript.quit

(注:以上脚本慎用,玩笑适可而止。)

添加插曲

来自伟大的360爸爸发出的木马警告(我日我自己lol)
一些.vbs脚本文件(自娱自乐向)
一些.vbs脚本文件(自娱自乐向)
一些.vbs脚本文件(自娱自乐向)

2018年上实训记录

(持续更新ing…)

Day1.

所谓实训的大目标只有一个俄罗斯方块的设计,工具为Codeblocks。
实际上挺无聊,上午上机的环境之前都有配置过,简单调试了下,坑爹的是不知情的情况下安装了什么伽卡他卡我卡大家卡的流氓学生端课堂工具(已灭口,下图1附加方法)。下午随进度写了几行代码,仅仅调整了光标以及颜色等的设置,然后就(结束了??)emmmmm,GG,懵逼中水掉一天,还是顺带学些其他的玩意吧XD。
不多吐槽,这玩意虽然常见,代码千千万万但到自己手里毕竟也是第一次做,踏实些。


Read More

ISCC2018的部分WP

(持续更新…)

1.


要求输入比服务器上大的数字,随便输入几个9,发现最多只能输入三位数,直接F12找到maxlength=3将3修改为4再随意填入一个四位数即可。

2.

打开地址后是一份PHP代码:

由代码读出需要使strcmp函数值为0,应该是要构造出长度相等的数组。构造payload,在连接后添入/?password[]=a,返回flag。

3.


用Burpsuite抓包,GO一次后得到提示在Request添加X-Forwarded-For:127.0.0.1即可。

Read More

关于QQ坦白说JSON源破解对方身份的方法

这个问题在4月2日晚上七点左右已经被修复,存在时间不长。随着被修复的问题还有很多,墨水不多,这里不多说。
首先通过https://ti.qq.com/cgi-node/honest-say/receive/mine ,可以打开自己的坦白说JSON源,然后发现EncodeUin后的加密代码,如图:

有大佬破解出了:

对照解码后便可以得到发送者的QQ号码……恩 ,很可怕。
当然问题很严重,修复也很快,现在只能被开发者调侃。怎么说呢,就当愚人节菜单吧,在匿名的世界里皮一下也得适当一些233。

CTF-Tests(3)

1.

2018年0ctf签到题

根据提示要求加入freenode网站的IRC(Internet Relay Chat)0ctf2018聊天室来获取flag。初次进入chat.freenode.net,网页没有反应,推测端口问题或者是网络节点问题。之后我在进入freenode.net后,按照说明使用了6667~6669的端口,均不能成功,于是打开手机VPN,等待之后成功进入聊天页面,输入给定的#0ctf2018进入聊天室,得到flag。

Read More


Powered by Hexo and Hexo-theme-hiker

Copyright © 2017 - 2025 青域 All Rights Reserved.

UV : | PV :