自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

清风阁

思维随写,让大家见笑了。

  • 博客(42)
  • 资源 (8)
  • 收藏
  • 关注

原创 介绍可执行文件的内部结构

本文介绍三种常见格式的可执行文件,即Windows下的PE、Linux下的elf,以及Mac系列下的mach-O格式文件。

2019-03-28 12:12:07 11104 2

原创 【博客系统】Hexo的目录结构

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。据说 Hexo 的原作者是中国台湾人,那么想要了解的话就读中文文档好了。Hexo 并不难,别人把框架帮你都写好了你直接用就行了还有什么理由说难呢?呵呵。图:Hexo 的主目录系统示例|-- _config.yml|-- package.jso...

2019-02-21 17:47:39 2994

原创 修改npm镜像源让安装提速

NPM 是随同 NodeJS 一起安装的包管理工具,能解决 NodeJS 代码部署上的很多问题,常见的使用场景有以下几种:允许用户从 NPM 服务器下载别人编写的第三方包到本地使用允许用户从 NPM 服务器下载并安装别人编写的命令行程序到本地使用允许用户将自己编写的包或命令行程序上传到 NPM 服务器供别人使用使用下面三种方法提速1. install 的命令行参数(临时)npm i...

2019-02-21 11:44:27 2076

原创 【算法题典】重排九宫问题(Java)

重排九宫问题类似于中国古代的华容道游戏,是后者的简化版本。九宫格中乱序填入 1~8 八个数字,相邻两个数字的位置是可以交换的,通过交换这些数字的位置,将空格移动到指定位置。解决的方法不止一种,请你给出移动最少步的那个解法。如下如所示,图一是移动前,图二为移动后结果,数字之间的位置交换也可以看成是空白方格的移动。可以编写一个九宫格类,二维数组用来存放每个格子对应的数字或空格。以空格为研究对象...

2019-02-18 21:30:31 3268 1

原创 【经验之谈】Chrom自定义网页默认打开大小

都知道 Firefox 下,更改默认网页大小的方法是在 about:config 下修改 layout.css.devPixelsPerPx 的值,但是新版的 Chrome 并没有提供这样的功能。它的默认值都是设定好的。那想要在 Chrome 下修改网页打开时的尺寸怎么办呢?很简单,因为 Chrom 的 setting 实际上是存储在本地的,所以直接修改设置界面的源码即可。Ctrl + Sh...

2019-02-18 11:29:17 3165

原创 Linux开机自动化执行脚本的四种方法(真实案例分享)

最近眼睛有点疼,可能是长时间面对电脑屏幕的原因罢。百度后安装了Redshift这款护眼工具,只要事先写好配置文件它会根据你的地理位置自动调节屏幕亮度。可是每次开机都要自己输入命令,好麻烦。我讨厌毫无必要的麻烦。想是不是可以编写一个自动化脚本,每次开机自己执行——以上,便是我写本文的初衷。希望看到本文的有缘人,如果和我有一样困扰读后能有所帮助。方法一:写 profile 文件先科普下 L...

2019-02-18 08:26:00 36152 7

原创 暴力破解栅栏密码(Python)

芦花丛中一扁舟,俊杰俄从此地游。义士若能知此理,反躬难逃可无忧。——《水浒传》穷举法暴力破解(通用)#!/usr/bin/env python3e = input('清输入要解密的字符串\n')elen = len(e) # 计算字符串长度field = []for i in range(2, elen): # 做一个循环,从2开始到数字elen(字符串长度) ...

2019-02-13 19:08:07 3881

原创 用Python实现Socket通信(TCP和UDP)

套接字是一种具有 “通信端点” 概念的计算网络数据结构,是应用层与 TCP/IP 协议族通信的中间软件抽象层,它是一组接口。不属于协议范畴。相当于电话插口,没它无法通信,对应设计模式中的门面模式。Socket 具有三大属性:域、类型、协议。域:AF_UNIX(Unix 文件系统,地址为文件名,对应文件 IO) 和 AF_INET(Internet 网络,常用)两类类型:SOCK_ST...

2019-02-12 11:00:27 13022 7

原创 让pip源使用豆瓣镜像进行安装

让pip源使用豆瓣镜像进行安装以安装 Matplotlib 包为例sudo pip3 install pillow -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com写入文件一劳永逸[global]index-url=http://pypi.douban.com/simple/[install]trust...

2019-02-10 10:39:33 2896

原创 用Python画小猪佩奇(turtle库)

猪年好运,祝大家新年快乐!!

2019-02-09 10:59:36 581

原创 超简单Python爬取当当网图书排行信息

本文使用 Requests 库和 Python 爬取当当网图书畅销榜,难点是正则表达式的选取。match:从首字母开始匹配,string 如果包含 pattern 子串,则匹配成功,返回 Match 对象,失败则返回 None,若要完全匹配,pattern 要以 $ 结尾。search:匹配整个字符串,若 string 中包含 pattern 子串,则返回 Match 对象,否则返回 No...

2019-02-08 21:49:56 4713

原创 (*(void (* )( ))0)( ); 调用首地址为0位置的子例程

《C 陷阱与缺陷》中文版第 15 页:“编写一个独立运行于某种微处理器上的 C 程序,当计算机启动时,硬件将调用首地址为 0 位置的子例程”。如果 C 编译器能够理解我们大脑中对类型的认识,我们写(*0)();上式是错的,因为 * 的操作数必须是一个指针类型。所以要强制类型转换。要写好一个类型转换符,只要将被修饰的变量去掉并用括号括住即可。((void) (*)())上式是一个标...

2019-02-08 11:58:06 200

原创 改变 Python 描述符对象的值遇到的两个问题

与描述符有关的问题,最少涉及两个类。分清类和对象的关系。描述符对象封装描述符类的行为和初始化信息。对描述符对象操作,实际上调用了描述符类中定义的方法。class MyDes(object): def __init__(self, value=10): self.value = value def __get__(self, instance, owner):...

2019-02-03 08:54:58 189

原创 用 Python 编写一个简单的 CS 架构后门

0x00:事先说明你已经攻陷了对方主机且获得了最高权限。对方的本地防火墙会丢弃所有的外来数据包。这个后门不会仅帮定在某一个端口上。这段代码很容易写,毕竟是 Python。0x01:工作原理如你所见,客户端将伪造具有 ICMP 负载的特定数据包,另一方面在服务端,也就是我们的被攻击主机,将会接受我们发送的数据包,即使它开启了本地的防火墙(丢弃所有外来数据包)。关键在...

2018-10-13 10:53:40 5165

原创 更好的批处理脚本语言 PowerShell

微软在 2006 年推出首款 PowersShell 1.0 版本,适用于 Windows Server 2008 操作系统,并作为 PowersShell 2.0 被正式预装在之后的 Windows 7 操作系统中。在 Windows 8 中,内置的 PowerShell 更进一步,升级为 PowerShell 3.0,Windows 8.1 则对应着 PowerShell 4.0 版本。在我写...

2018-10-05 17:08:44 11391

原创 你不可不知的 Nmap 使用技巧

你不可不知的Nmap使用技巧

2018-09-26 19:46:01 17372 3

原创 rsync 命令:scp 命令的替代方案

rsync 命令和 scp 命令一样,都可以实现在 Linux、Windows 和 Mac 之间的文件互传。scp -r /local/folder/path/ remoteusername@remoteuserip但是有时候 scp 命令不太给力,常常会给出如下图所示的提示。(我刚刚就遇到了)说是被阻塞了。我首先想到了是不是对方的 22 端口(默认)被防火墙给墙了,然而在检查...

2018-09-16 23:15:16 2776 1

原创 谷歌XSS小游戏通关手记(完结)

找到一款好玩的休闲类黑客游戏,分享给大家。0x00:Google XSS Game玩乐地址:https://xss-game.appspot.com/谷歌知识库:https://xss-game.appspot.com/level6/Github地址:https://gist.github.com/pbssubhash/2f99644a4f24e8fe6b3e在线u...

2018-08-26 00:01:59 2619

原创 使用Python模块:collections模块

集合相关的模块都在这里了……提起Python应该没有不知道这个模块的吧,它为开发者提供了一系列敏捷、实用的类和方法——有的是为了对集合进行相关操作,有的本身就是集合概述:collections模块有哪些东西collections.__init__.py的源码collections模块的官方介绍打开idle并导入collections模块,看看都有哪些有趣的东西一...

2018-05-25 12:07:23 11572 3

原创 一个例子彻底理解Python的三种方法

定义在类中的代码块叫方法,Python的方法分为『实例方法』、『类方法』、『静态方法』,按照从前到后的顺序它们和实例对象的依赖程度依次降低(不考虑装饰器)class Demo: sfield = 100 # 静态属性 def __init__(self, value): ''' 初始化方法 ''' self.value ...

2018-05-24 17:38:10 3883

原创 使用Python模块:hashlib和hmac模块

哈希算法(也称摘要算法)的重要性不言而喻,在各种加密算法随处可见它的身影;本文要介绍的两个Python模块就是和哈希有关的内建模块hashlib模块...

2018-05-24 15:14:12 4009

原创 使用Python模块:heapq模块(堆)

这是一个相当实用的内置模块,但是很多人竟然不知道他的存在——笔者也是今天偶然看到的,哎……尽管如此,还是改变不了这个模块好用的事实概述首先明确,heapq模块是可以用来求前n个最大/最小值的(怎么样,是不是很常见的应用场景 :-)通常在Python中,求前n个最大/最小值的方法无非是通过排序,它通常和列表相联系lyst = [-3, 22, 45, 34, 99, ...

2018-05-23 18:16:43 8646

原创 AppleScript编程(二):杂谈及补充

本文先谈作为AppleScript内置数据结构的记录(record)之用法,接着按照一般性套路介绍AS脚本的控制流概念,哦对还有最重要的文件概念再谈record及相关在上一章我们简单的介绍了AS内置的四种基本数据结构,分别是数字、文本、列表,再有就是下面要着重讲的记录(record)record处理返回值很方便脚本部分输出部分提供一个默认值以...

2018-05-12 16:52:46 1114

原创 AppleScript编程(一):苹果脚本的基本语法

根据百度百科的解释,AppleScript是Apple公司独有的技术(Mac OSX内置的编程语言,只能在Mac上运行,也就是把windows拒之门外了),于1990年首次出现在Mac OS 7上;编写AS脚本可在Finder和其他AppleScript应用程序中实现自动化操作概述关于『是什么』的问题,在引言部分已经讲的很清楚了AppleScript使用了名为Apple E...

2018-05-08 20:46:06 19349

原创 Python多线程编程(一):多线程和锁

以后但凡标题中出现数字括号的,就表示为一个短篇系列(大概3~5篇博文的样子,最多不超过10篇);对于较长的连载博文我将略去标题处的数字记号(如《汇编语言入门》系列)进程和线程什么是进程?什么又是线程?这个(被问烂掉的)问题的标准答案是什么并不重要。理解二者的区别的联系才是关键:进程是一个执行中的程序(如打开任务管理器看到的系统进程),而线程的概念依托于进程,是在进程下执...

2018-05-08 17:07:39 12054 1

原创 使用Python模块:struct模块

Python没有提供直接的将用户定义的数据类型和文件IO关联起来的功能,但是它提供了struct库(是一个内置库)——我们可以以二进制模式来写这些数据(有趣的是,它真的是设计来讲文本数据写为缓存的)概述1)bytes、strbytes是Python3.x新加的数据类型(在Python2.x中被合并在str)中bytes是byte的序列,而str是unicode的序列...

2018-05-06 10:37:14 21975 1

原创 Python递归遍历目录下所有文件查找指定文件

之前看到网上有人说『os.path.isdir()判断必须写绝对路径』,当时心想Python不是有迭代上下文吗,为什么不行?遂作本文验证之代码部分考虑用一个path变量指代当前遍历元素的绝对路径(正确做法)def search(root, target): items = os.listdir(root) for item in items: ...

2018-04-26 22:47:25 38281 1

原创 学习JavaFX(五):场景辅助类

还记得javafx.scene.layout包吗?那是用来定义场景布局的工具包;本文介绍的Color、Font、Image、ImageView,这些类从不同层面、角度支持结点的表现形式,虽然较为简单,但是功不可没——这些类都定义在javafx.scene包的子包下面(不是layout包)Color(颜色)继承关系java.lang.Object java...

2018-04-18 09:01:54 723

原创 学习JavaFX(四):所有权绑定

可以通过本文学到的技术将一个靶对象(target object)绑定到源对象(source object)概述:财产绑定JavaFX引入了新的概念:财产绑定(property binding)被绑定的对象叫靶对象(target object、binding object、binding property),绑定对象叫源对象(source object、bindable ...

2018-04-17 20:25:59 1384

原创 学习JavaFX(三):在不同层次上设计和布局

合理的布局设计,不仅使图形界面更美观,也让逻辑更清晰,布局和合理的JavaFX结构更有利于维护——在JavaFX中看到布局二字条件反射的要想到layout包,这是一个专门用来做布局的JavaFX包——本文的行文顺序是按照JavaFX布局从底层往外层进行的Stage(舞台)继承关系java.lang.Object javafx.stage.Window ...

2018-04-17 14:29:29 4240

原创 学习JavaFX(二):认识布局有关的类和方法

谈到JavaFX或者说GUI设计,就脱不开布局设计javafx.scene.layout包javafx.scene.layout包提供了一系列用于布局的类AnchorPaneAnchorPanebuilder<B extends AnchorPaneBuilder<B>>BorderPaneBorderPaneBuilder<B ...

2018-04-17 11:24:26 4330

原创 学习JavaFX(一):初步认识GUI设计

Sun公司于2008年12月5日发布了JavaFX技术的正式版,众所周知它是一门专门用来编写GUI程序的编程语言——JavaFX主要用来创建区域一体化协议应用(rich Internet applications,简称RIA),当前JavaFX脚本包括JavaFX脚本和Java Fx Mobile(一种运营于行动装置的操作系统),今后JavaFX将包括更多的产品JavaFX v.s...

2018-04-16 22:46:05 18320 4

原创 深入理解Python的闭包机制

本文以Python为例,深入浅出讲解闭包;根据百度百科的解释,闭包就是能够读取其他函数内部变量的函数,例如在JavaScript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成『定义在一个函数内部的函数』;在本质上,闭包是将函数内部和函数外部连接起来的桥梁理解闭包的定义定义:闭包(closure)是能够读取其它函数内部变量的函数理解:根据拆分语句分析,闭包是...

2018-04-13 11:32:44 592

原创 学习Python爬虫(四):模拟浏览器向服务器提交请求

有时候纯粹使用request.get()方法这样简单粗暴的方式似乎并不能获得我们想要的信息,这是因为有的网页自带了『反爬虫机制』——比如通过访问请求的HTTP header的user-agent进行来源审查——为了模拟浏览器访问,我们需要重新定义请求HTTP header的user-agent字段复习requests.get()方法再说一遍,requests库的get方法非常常...

2018-04-05 12:20:25 15213 3

原创 Python实现尾递归的两种办法

尾递归作为一种代码优化,在效率上相当于循环迭代,且不失递归的简洁优雅普通递归(深度调用)def fact(n): if n ==1: print("fact(1) ==> 1") return 1 else: print("fact("+str(n)+")", "==>", str(n)+" *...

2018-04-03 10:17:22 2212

原创 Python传入参数的几种方法

Python传入参数的方法有:位置参数、默认参数、可变参数、关键字参数、和命名关键字参数、以及各种参数调用的组合写在前面Python唯一支持的参数传递方式是『共享传参』(call by sharing)多数面向对象语言都采用这一模式,包括Ruby、Smalltalk和Java(Java的引用类型是这样,基本类型按值传递)共享传参是指函数的各个形式参数获得实参中各个引...

2018-03-20 18:04:13 197381 7

原创 搜索树及其应用(不定期更新)

承接之前的『树』,本文将目标特别锁定在『查找树』;这里整理出我遇到的各种形式的查找树,以后可能会不定期更新,以尽可能多的囊括所有种类的查找树;虽然标题为“搜索树”,但是我还是习惯叫“查找树”,以下也将沿袭着一传统学习『查找树』心里面始终要有一个意识:对于查找树而言『平衡』很重要目录普通查找树(BST)查找树的初始化(返回根结点)查找树的查找(线性下降,不需要遍历)...

2018-03-03 10:50:00 10738

原创 树的旋转详解

以AVL树为例讲解树的旋转,包教包会——完全掌握并且透彻理解!概述AVL树适合讲解树的旋转(实际上树的旋转就是以AVL为原型讲的),不仅因为它高度平衡,更因为它的旋转高度自调整算法是调用在每次AVL树的平衡被打破之时,换句话说,AVL树的旋转是被动的(伺机而动)由于AVL是查找树,而我们通常(其实已经成了一个惯例、潜规则)插入元素时把它插到叶子结点的位置(先判断,直到N...

2018-02-22 23:11:03 6616 3

原创 汇编语言入门:几种寻址方式之比较

考虑到上一章的“寻址方式”太重要了,遂单独成章,作文于此直接寻址适用于偏移地址为[idata]的情形CS: IP存放代码指针(2000: 000E) 地址加法器合成CS和IP的值为一个物理地址(CPU只能看懂物理地址,2000E) 通过地址总线传送该地址,找到符合该地址的内存单元(下图,三字节长度,根据首地址2000E读取到的指令是A10E00) 把读...

2018-02-17 10:38:56 15070 2

原创 静态分析方法简介

程序分析分为动态分析和静态分析两种,其中静态分析是指不实际运行程序而通过词法分析、语法分析、控制流、数据流等技术对源码进行扫描分析本文从宏观上对静态分析技术做一个大体的介绍,并为后续文章做一个好的铺垫反汇编技术反汇编是指将目标代码转变为汇编代码的过程反汇编的难度主要体现在以下几个方面: 1. 编译过程会造成信息损失;机器语言没有变量或函数名,变量类型信息只能通过数据的用途而

2018-02-07 16:24:14 9147 1

《汇编语言》书籍及习题答案

zip压缩格式文件,包括王爽老师《汇编语言》(第三版)及书籍配套的课后习题答案(原书没有答案),书籍是pdf格式的,答案是txt格式的。

2018-05-18

[百度文库] Python多线程编程介绍

百度文库5分资源,对Python的多线程编程有一个详尽而具体的介绍,适合入门者看。

2018-05-15

Hash-identifier

Kali下自动hash类型鉴别脚本,亦可用于其他Linux发行版。 将脚本拷贝到 /usr/bin/ 下使用。

2019-03-03

pep8编码规范标准文档

最新的Python编码规范之pep8编码规范,排版清晰,样式美观。

2018-05-15

[跨平台] Windows调试工具包

包括Windows下的debug.exe、masm.exe等汇编、调试工具;解压包还包括一个DOSBox,保证工具可以在Mac、Linux上运行!

2018-05-18

VOCALOID3中文教程

中文V家,虚拟歌姬。VOCALOID3中文版,正确的打开方式。

2019-03-08

OD常用命令

Ollydbg是目前仍然广泛使用的32位动态调试器,这是它的常用命令整理。

2019-03-11

Pentest with Bash Shell

本书介绍了基本的,用Bash进行渗透测试的方法。适合新书入门,也适合老鸟复习。俗话说技不压身,多看看不会有坏处的。

2019-03-02

空空如也

空空如也

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

TA关注的人 TA的粉丝

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