自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cracker_zhou的博客

转战简书: https://www.jianshu.com/u/4116bd500ab8

  • 博客(28)
  • 资源 (9)
  • 收藏
  • 关注

原创 博客迁移简书

简书地址: https://www.jianshu.com/u/4116bd500ab8

2018-09-02 16:18:53 480

原创 LVM项目小结

无用的瞎bb:  距离上一篇博客其实已经过去很久了,本身没有懈怠但是鉴于实在太忙便一直没更新。   花了很长时间对公司产品做windows动态磁盘(ldm)和lvm的支持。也就是提供一个ldm或者lvm的镜像使用dokany对其进行虚拟重组,方便lvm相关信息的展示以及其lv分区中文件系统的进一步解析。   因为ldm是基于lvm的衍生品所以下面主要会讲关于lvm的故事,原理都是相通的。...

2018-03-25 19:42:12 953

原创 JMP法劫持dll函数

通过WriteProcessMemory动态修改函数入口地址机器码(5个字节),使之强制跳转到另一个函数。

2017-11-26 13:08:44 878

原创 资源管理器看不到WNetAddConnection2A映射的磁盘

记录一个使用WNetAddConnection2映射网络资源但是文件资源管理器看不到的坑

2017-11-14 12:30:10 1542

原创 造轮子之ValueAnd

C++轮子版的ValueAdd,模仿python中and的行为:函数返回对应值而不是bool,受限于C++语言一个函数不能返回多种数据类型,不能传入跨类型参数。

2017-11-07 14:20:49 238

原创 linux c监控U盘插拔事件

在linux下U盘插拔事件的分发采用的是netlink机制。netlink是一种linux下内核态和用户态进程间通讯(IPC)的方法,常用的还有ioctl调用(通过HDIO_GET_IDENTITY获取硬盘序列号),proc文件映射(/proc/cpuinfo可以看到CPU相关信息).相比于后面两者,netlink采用了socket通信方法,于是一下子就多了超多的优点。比如socket可以实现异步通

2017-10-05 20:24:59 7671 1

原创 汇编与C/C++的故事

其实我知道这个标题实在是太广泛了,但是下面所有东西都是和汇编,C++有关的。stdcall与cdecl   首先他们共属于函数约定(calling convention),详情参考wiki(https://en.wikipedia.org/wiki/Calling_convention).总结如下:   a. 两者都是参数从右至左进栈.   b. stdcall是winapi标准默认调用方式

2017-07-22 09:39:29 440

原创 硬盘SMART信息数据结构

在Windows环境下我知道有两种方法可以读取硬盘SMART信息:一是通过DeviceIoControl这个Win API,还有就是通过wql语句查询。这两种方法已经在网上被说烂,本文主要要记录一个找到死都找不到的东西:无论是通过上面Api还是wql查询都会返回两个512字节的数据,一个记录Attributes,还有一个是SMART信息中的THRESHOLDS(对,它们是分开存储的)。那么这两个5

2017-06-16 18:17:36 5787 3

原创 C++中hack private权限

三种C++越过权限修改成员变量的方法。

2017-05-11 20:43:57 855

原创 造轮子之C++中的map,filter,reduce

一直喜欢python的map,filter和reduce函数,在标准C++中分别有std::transform(对应python的map),std::copy_if(对应python的filter),std::accumulate(对应python的reduce)。当然这是后话,当年年少无知,就自己造了一下轮子,毕竟我就是一个热衷于造轮子的人。template <typename Func,type

2017-04-26 21:41:37 7889 1

原创 scapy学习icmp报文

icmp(Internet Control Message Protocol)报文真的是一个数据结构特别简单的报文,虽然它使用到了ip头部,协议位于网络层。说它数据结构简单主要是因为icmp报文最主要出于网络诊断的目的,比如检测某个主机或者路由器是否正确到达,不像tcp,udp或者更上层协议的报文会携带很多额外的信息。icmp报文类型  在icmp报文中最重要的只有type和code字段,其中c

2017-02-11 14:10:57 8853

原创 scapy学习arp欺骗

在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。   地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息

2017-02-04 16:57:54 7920

原创 scapy基础-网络数据包结构

网络层次模型,数据包的组成是学习scapy的基础,下文主要关注模型中各个层次的用途,ethernet II和ip包数据结构。      1.五层模型简介 名称 作用 包含协议 应用层 面向程序对程序的传输服务(应用层更关注于ip协议中的数据包部分) HTTP,DNS,FTP,SMTP 传输层 分割并重新组装上层提供的数据流,为数据流提供端口到端口的传输服务。(传输层

2017-01-21 11:41:20 3521

原创 端口转发

windows和linux系统的端口转发方法介绍

2017-01-11 22:43:17 695

原创 啰嗦编码

其实网上针对编码的讲述实在太多了,我也并不想从重复大家都说烂的东西,但是仍然有很多老程序猿对编码仍然很模糊。知乎里有句话是这么说的:一旦走上了编程之路,如果你不把编码问题搞清楚,那么它将像幽灵一般纠缠你整个职业生涯,各种灵异事件会接踵而来,挥之不去。(先对utf-8,gbk之类编码有一个大概的认识再往下读。)   1.字符集和字符编码   其实字符集和字符编码属于有关系但是属于不同的东西。

2016-12-18 00:46:44 484

原创 centos编译python3绑定的pycaffe

目前python3版本的pycaffe仍然属于不稳定版本,有很多未知因素,所以还是非常建议使用python2.7编译pycaffe。

2016-09-27 16:49:15 2331

原创 正则表达式进阶

网上讲正则表达式的教程实在是太多了,所以这里并不想重复那些被说烂的教程。我真正学习正则表达式是源于python的re模块,所以下面主要会以python语言为基础记录一下关于正则表达式的一些进阶并比较重要的用法。   1.命名捕获组(Named Capturing Groups)   其实我们经常使用捕获组,比如:   re.search("(\w).*","a1234").groups()

2016-06-26 15:32:32 434

原创 C++中的仿函数

端午放假回家,无意间拾起侯捷的>,之前一直看的不太懂,没想到今天翻到仿函数(factors)一章,竟有所收获,而且刚好与上一章讲述的函数指针很有关联,遂赶紧记录下来。   在algorithm算法库中有一个for_each函数用于对某个可迭代对象进行某种操作,行为类似于python中的map函数。   其核心代码如下:templateclass _InIt, class _Fn1>

2016-06-13 13:08:15 5425

原创 C++中的函数指针

python中装饰器和偏函数两个概念。装饰器是其本质原理也是将一个函数当作参数传入另一个函数中,起到一层封装的作用,这样可以不改变原有函数的基础上而添加新的功能,比如经典的测函数运行时间,在我之前web性能测试一章用过装饰器(http://blog.csdn.net/cracker_zhou/article/details/50408514),再结合python的@语法糖就完全不用考虑实现的语法问题

2016-05-22 12:33:46 369

原创 图片中的exif数据

前两天python群中一位女神发了一张照片,虽然只是个风景照。但是我突然想起之前在读<<python绝技>>时书中有讲到在图片中包含exif(exchange image file format),exif标准定义了如何存储图片和音频文件的标准,包含文档的作者,修改时间甚至有可能包含照片的GPS位置信息。(事实上不止图片,文档,表格,音频,视频都有类似exif的元数据)。 from PIL

2016-05-08 14:50:22 4816 1

转载 ftp服务

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”,用于Internet上的控制文件的双向传输。下面主要讲两个东西:一个是ftp的主动和被动传输,另一个是ftp的ASCII码传输与二进制传输。1.ftp的主动传输与被动传输   TCP/IP协议中,FTP标准命令TCP端口号为21,数据传输端口为20。   一个主动模式的FTP连接建立要遵循

2016-03-13 13:54:28 460

原创 linux安全之TCP Wrappers

之前有篇文章讲述了linux服务器的安装增强(http://blog.csdn.net/cracker_zhou/article/details/50392594)。在大牛看来这或许不够专业但是我会不断的好好学习,向大牛看起。让csdn的每篇blog见证我的成长。今天主要要讲的是/etc/hosts.deny文件。1.TCP Wrappers   TCP Wrappers使用访问控制列表 (ACL

2016-03-12 11:12:27 2499

原创 linux的shadow文件

在《Python绝技》这本书的第一个小程序首先展示了针对与unix系统中shadow文件密码的暴力破解的能力,因为之前只是对shadow文件停留在保存了用户密码的阶段,但并没有详细研究,所以周末两天特地花时间好好研究了一下。 1.passwd文件和shadow文件 在unix早些时候是没有/etc/shadow这个文件的。一个用户的所有信息都只是保存在/etc/passwd文件中,加密后的用户密

2016-03-07 10:57:50 7944 6

原创 python文件读写编码

我们知道,在python中有一句经典名言是“decode early,unicode everywhere,encode later”表示一个字符串建议先全部decode为unicode编码,然后根据所需encode为目标编码。那么对字符串的处理基本没什么问题了。 但是涉及到写文件时的编码问题现在在下面总结一下:#coding:utf-8f = open('file.txt', 'wb') #以

2016-03-02 10:03:20 751

原创 python中文件变化监控-watchdog

python通过watchdog对windows平台指定文件夹进行变动检测。

2016-02-20 14:31:40 32158 4

原创 python-web加载性能测试(初级)

首先不得不承认这只是一种很基础的web性能加载测试,因为之前一直没有专业的学过应该如何测试。原因是我们公司的网站快完成了,但是感觉打开的速度很慢啊,后来自己写了一个简单的python脚本主要模拟对web资源的获取。所以这些时间不包括浏览器的渲染js时间,我就先忽略不计吧。 当然很感谢借这个机会让我学习了一下python的装饰器语法,之前一直有听说,而且看了很多资料其实都不是很懂。直到这次实战让我加

2015-12-26 14:43:57 2437

原创 linux服务器安全增强(ssh和iptables)

其实在大学里就一直想做一个服务器运维人员,可惜机遇不巧现在做的是C++开发。终于某一天当我用lastb查看到那么多的对root密码猜解失败记录时意识到我们服务器的安全性确实很差,因为不确定是否有某人进来过所以干脆重装系统从头来。(用的阿里云ECS)1.禁止root用户的ssh登陆,更改ssh默认端口之前一直使用root用户登陆,确实方便。但是确实也很容易出问题,于是首先第一件事就是新建一个账户。

2015-12-24 10:22:28 1796

原创 python之os模块总结

os模块提供了一个轻便的方法使用要依赖操作系统的功能,集成了常用的文件与文件夹操作。下面是与文件路径相关的函数:os.getcwd()os.chdir()os.path.split()os.path.splitext()os.path.splitdriver()os.path.realpath(path) # Return the absolute version of a patho

2015-12-24 10:20:59 366

JMP法劫持Dll中函数的示例代码

测试于vs2015。通过WriteProcessMemory动态修改函数入口地址机器码(5个字节),使之强制跳转到另一个函数。

2017-11-26

arm-linux-gcc-4.4.3.tar.gz

1.建立目录 $ sudo mkdir /usr/local/arm 2.复制文件 文件arm-linux-gcc-4.4.3.tar.gz,放在Desktop 进入Desktop $ cd ~/Desktop 复制 $ sudo cp arm-linux-gcc-4.4.3.tar.gz /usr/local/arm 3.解压文件 进入目录 $ cd /usr/local/a rm 解压 $ sudo tar -xzvf arm-linux-gcc-4.4.3.tar.gz 4.添加环境变量 用gedit打开文件bash.bashrc $ sudo gedit /etc/bash.bashrc 在最后一行添加“export PATH=/usr/local/arm/opt/FriendlyARM/toolschain/4.4.3/bin:$PATH”,保存文件 5.注册环境变量 运行/etc/bash.bashrc $ . /etc/bash.bashrc 6.检测是否成功 查看版本号,若有则成功 $ arm-linux-gcc -v

2017-10-20

gdcm的python绑定

基于gdcm最新版本2.6.4通过vs2013 64位编译而成,此包为python2.7绑定版本,直接下载并解压所有文件至site-packages目录下即可直接导包,亲测可用。

2016-07-26

opencv2的python绑定

opencv的python2.7(amd64)编译文件,由vs2013编译而成。直接将此文件解压放置site-packages文件夹下即可直接通过import cv2导入。

2016-07-20

openssh(6.7p1)包含tcp_wrappers功能

基于官方openssh 6.7p1版本,打上了国外大牛的tcp wrappers补丁。

2016-03-10

一键编译升级安装openssh(6.7p1)

仅用于yum系。一键安装编译升级openssh。当自己修改/etc/ssh/sshd_config文件时注意如果开启pam认证,请确保存在/etc/pam.d/sshd文件且有相应规则,所以在安装openssh之前建议先装dropbear(http://download.csdn.net/detail/cracker_zhou/9417041)保证openssh如果出现损坏仍然可以连进去。

2016-01-25

一键编译安装python(2.7.11)

由于大部分linux版本中python版本仍停留在2.6.x,而且在centos6.x中yum又绑定系统python版本(即系统中2.6.x的python不能做任何改动),所以额外写了一个脚本能一键下载安装python2.7.11,默认编译为动态库。

2016-01-25

一键编译升级安装openssh(6.7.1p)

一键安装编译升级openssh。当自己修改/etc/ssh/sshd_config文件时注意如果开启pam认证,请确保存在/etc/pam.d/sshd文件且有相应规则。

2016-01-25

一键编译安装dropbear

仅用于yum系linux,自动下载编译安装dropbear,默认开启2222端口作为服务。

2016-01-25

空空如也

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

TA关注的人

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