- 博客(28)
- 资源 (6)
- 收藏
- 关注
原创 Linux TUN设备实现Tunnel性能分析
Linux的TUN/TAP设备是一种可以使得应用层与TCP/IP协议栈交互的驱动模块,通常用于组建虚拟局域网中的点对点隧道(Tunnel),可以工作于2层(TAP设备)和3层(TUN设备)数据交换。其工作原理图如下:应用程序通过socket向192.168.1.22地址发送数据{DATA}数据进入内核协议栈,协议栈构造IP报文,生成{IP{DATA}}数据,并且分发到虚拟网卡虚拟网卡将数据{IP{DATA}}转发到TUN驱动TUN App从TUN驱动读取到{IP{DATA}}数据,TUN App通过物理so
2024-04-03 21:25:15
1148
2
原创 从操作系统设计理念的变化看移动互联网对IT技术发展的影响
题目的帽子可能有点大,不过我会尽量把自己的观点表达清楚一点。为什么我会关注并且思考操作系统设计的理念变化呢?都是因为早些时候在某乎看到了一干不明身份的程序员指责微软的Win RT框架屏蔽了绝大部分Win32 API,他们不明白为什么微软要做这么“愚蠢”的决定发布了一个功能残疾的新平台。对于这个问题可以简单的用四个字回答:为了安全。但是安全只是微软重铸Win RT的直接目的,而这么做的动机也是顺应了
2016-06-26 05:27:55
1253
原创 具有强运营属性的客户端产品基础技术架构
计算机诞生到如今的几十年里,软件开发技术也经历了数不清的更新换代。从开发语言,到开发框架,再到软件开发模型,不同层级之间都是百花齐放的情景。而互联网的崛起,也让C/S和B/S架构的系统瞬间爆发。B/S架构是互联网的开拓者,但是由于早期硬件性能不足,浏览器功能单一,所以B/S架构没有十分突出的发展势头,也从另一方面拖慢了前端技术的发展。而C/S架构的系统在互联网发展的这前几十年里应该是出尽了风头。因
2016-06-05 19:09:46
10316
原创 深入探究Windows平台客户端安全问题-进程地址空间入侵和白加黑高阶利用
标 题: 深入探究Windows平台客户端安全问题-进程地址空间入侵和白加黑高阶利用时 间: 2014-09-08,00:03:51前言为了避免被读者骂“标题党”,笔者在文章开头先澄清一下这个高大尚的“进程地址空间入侵”的可替代词语—注入。看完第一句还能看到这里的读者一般有两种:1.初学者,实在是不懂所以需要学习的同学 2.大牛,只是想看看笔者打算怎么来炒“注入”这
2016-05-28 13:31:06
11488
原创 经典栈溢出利用详解一例—Notepad++插件CCompletion
标 题: 经典栈溢出利用详解一例—Notepad++插件CCompletion时 间: 2014-02-23,21:08:51回顾 上篇文章介绍了Noetpad++程序中的一个插件CCompletion存在的一个因使用不安全的lstrcpyW函数拷贝字符串造成的栈溢出漏洞,并且确定了漏洞的大致利用入口,已经找到了可控EIP数据在整个输入数据中的精确位置,但是如果要写出可以利用的S
2016-05-28 13:26:50
5508
原创 漏洞挖掘方法之静态扫描+经典栈溢出实例
标 题: 漏洞挖掘方法之静态扫描+经典栈溢出实例时 间: 2014-02-11,01:52:50这是笔者公开发表的关于漏洞挖掘的第二篇文章,与发第一篇的时间差不多间隔了整整一年,在这一年里虽然工作细碎,但我还是抽出了大量的时间关注安全,因为当初的既定目标就是走安全的路。这一年了也做了不少关于安全方面的事情,比如参加各大*SRC的漏洞提交什么的,曾今有一段时间也是走火入魔了一样,但是后来
2016-05-28 13:20:40
9604
3
原创 密码控件安全技术浅析及攻击实例
标 题: 密码控件安全技术浅析及攻击实例时 间: 2013-07-14,16:09:57密码控件是一个很常见的控件,这篇文章主要介绍一下安全密码控件的一些实现思路和攻击思路。 1 物理密码键盘和密码控件的对比 先说一下程序中的密码控件和现实中的密码键盘的对比。几乎每个人都在银行或者ATM机器上输入过密码,那在输入密码的过程中你接触到的那个键盘就是一个金融密码键盘。一般柜
2016-05-28 13:14:49
13751
1
原创 PE感染&ShellCode编写技术补充
标 题: PE感染&ShellCode编写技术补充时 间: 2013-06-04,22:45:53 上篇文章写了Windows Shell Code编写的一些技术和经验,其中讲到ShellCode中使用的数据的问题时,提供了三种方法:1. HardCode地址,然后把数据写入HardCode的地址中2. 转化法(HASH),把数据转化成可用寄存器存储的整数3. 把数据Pu
2016-05-28 13:02:45
3229
原创 Windows Shell Code编写中级拔高
标 题: Windows Shell Code编写中级拔高时 间: 2013-05-28,23:59:54一、基础知识&基本原理&一些思想方法关于Windows Shell Code的文章论坛里的介绍也不少了,不过授之以鱼不如授之以渔,虽然有部分文章也做了大量讲解,但是几乎都是对照一份现成的代码来介绍为何那样写,为何这样写。所以如果Windows系统原理的知识相对薄弱的同学
2016-05-28 12:59:39
4623
1
原创 WindowsXP SP3 AFD.sys 本地拒绝服务漏洞的挖掘过程
标 题: WindowsXP SP3 AFD.sys 本地拒绝服务漏洞的挖掘过程时 间: 2013-03-17,15:22:33这是本人第一次做漏洞挖掘,2月的时候开始研究漏洞挖掘技术,2月24号那天在进行Fuzz测试的时候偶然的发现了一个afd.sys未处理的异常,然后就对这个异常如获至宝的分析起来了,因为在上班,所以都是利用周末时间来进行,前前后后到加起来差不多5天时间。现在这个漏
2016-05-28 12:54:41
5710
1
原创 解密NtQueryVirtualMemory
NtQueryVirtualMemory是windows的一个未公开API(导出但未形成文档),他的作用主要是查询指定进程的某个虚拟地址控件所在的内存对象的一些信息。原型(prototype):NTSTATUS NTAPI NtQueryVirtualMemory( IN HANDLE ProcessHandle, //目标进
2013-01-20 17:43:36
12639
原创 PiscisOS开发笔记_2_开发方法详解
上篇文章简单的介绍了PiscisOS的概况,这篇文章详细的说明整个系统的开发方法。因为操作系统涉及接近硬件底层的编程,在我的接触范围内还没找到一个很好的IDE能包办自始至终的编码和调试,所以不可避免的要自己选择一个适合自己的开发方法,包括开发语言的选取,编译(汇编)软件的选择,调试工具的选择,运行环境的选择和其他一些工具软件的选择。首先把PiscisOS开发中使用的所有软件列一个清单:
2012-06-18 00:05:52
4915
6
原创 PiscisOS开发笔记_1_PiscisOS的诞生和系统特性简介
博客的前三篇文章是一个关于简单的操作系统开发的系列文章,那三篇文章写于2010年9月份,那时还是大三刚刚开始,和朋友枫影一起做完了一个IM系统之后我们萌生了一起写个小的操作系统的念头,从那时候开始我们就开始准备这方面的知识了,当时是看了《自己动手写操作系统》这本书,初看感觉很生涩,有很多理论知识太陌生。于是就准备把操作系统这个项目当作一个长期目标,至少在离开校园之前完成它。后来大三下期我和枫影都开
2012-06-12 23:01:27
5159
22
原创 Windows系统调用架构分析—也谈KiFastCallEntry函数地址的获取
为什么要写这篇文章1. 因为最近在学习《软件调试》这本书,看到书中的某个调试历程中讲了Windows的系统调用的实现机制,其中讲到了从Ring3跳转到Ring0之后直接进入了KiFastCallEntry这个函数。2. 碰巧前天又在网上看到了一篇老文章介绍xxx安全卫士对Windows系统调用的Hook,主要就是Hook到这个函数3. 刚刚做完毕业设计,对
2012-05-27 13:32:01
19977
15
原创 从汇编语言到类库框架的随感
前几天在论坛里看到一个问题,下面有个这样的回复。[Quote=引用 21 楼 的回复:]C++语言确实能创造出各种奇葩。不知道这是它的荣耀还是悲哀。[/Quote]他这个回复对楼主的问题没有任何帮助,因为这个问题不是某种语言的问题。所以看到他的抱怨的时候我就想驳一驳他,但是后来只顾帮楼主解决问去了,没有回复他。楼主的问题是“规则和需求”引起的。 从最低层次来说,如
2012-05-11 23:23:36
3184
1
原创 本人原创作品以及工程源码
本人一些典型原创作品以及工程源码发布地址:SkyDrive:https://skydrive.live.com/?cid=9c617b617af13119
2012-05-06 11:28:03
2064
原创 Unix基本操作..Hash-网络攻防大赛笔记(2)
本文章于2010-04-26 09:08:37发布在本人百度空间.后因某些原因临时和谐了.现在拿出来看看还是能感觉到自己一直在技术的道路上成长着.缅怀即将逝去的大学校园生活. World of CommandJust enjoy, :)guest@syclover:~$ cat WELCOMEWelcome to the World of Command.Use "ls
2012-04-08 11:35:46
2266
原创 简单验证码图片识别BMP,C,C++,C#,JAVA,脚本-网络攻防大赛笔记(1)
本文章于2010-04-24 16:09:50发布在本人百度空间.后因某些原因临时和谐了.现在拿出来看看还是能感觉到自己一直在技术的道路上成长着.缅怀即将逝去的大学校园生活.//////////////////////////////////////正文开始应邀和朋友一起组队参加了学校今年的网络攻防大赛,到目前拿分不算很多,位列第五,题目类型大部分是注入和破解,难度不算太大,不过范围很广,
2012-04-08 11:28:58
5533
转载 微软前MVP谈"死去"的Windows Mobile
转载声明出处PHP程序员站作者PHP程序员站会员链接http://www.phperz.com/php-news/b/1/20120324064.html =======原文=====一个微软前Windows CE MVP 对江河日下的CE在PDA跟手机领域的发展历史.想到要写这篇文章的时候,心情还是有些沉重的。毕竟自己曾
2012-03-07 09:10:56
2405
1
原创 动态链接库的静态链接导致程序的DLL劫持漏洞-借助QQ程序xGraphic32.dll描述
动态链接库的静态链接导致程序的DLL劫持漏洞借助QQ程序xGraphic32.dll描述 不想啰嗦这么多了,直接开题。 一、 库首先明确一下库的概念,库里存放的都是二进制编码。纵观编程技术的发展路线,可以看到一条清晰的发展脉络:代码>静态库>动态库。假如我们要编写一个程序叫做Calc.exe,而现在有现成的库,库里面存放的是已经编译好的函数Add(),Sub
2011-12-19 14:35:53
12973
26
原创 Linux内核驱动模块编写概览-ioctl,class_create,device_create
如果你对内核驱动模块一无所知,请先学习内核驱动模块的基础知识。如果你已经入门了内核驱动模块,但是仍感觉有些模糊,不能从整体来了解一个内核驱动模块的结构,请赏读一下这篇拙文。如果你已经从事内核模块编程N年,并且道行高深,也请不吝赐教一下文中的疏漏错误。 本文中我将实现一个简单的Linux字符设备,旨在大致勾勒出linux内核模块的编写方法的轮廓。其中重点介绍ioctl的用途。我把
2011-06-21 12:42:00
7781
原创 【译读】Intel 开发者手册-(2)
3.2 基本执行环境概述运行于IA-32处理器上的任何程序或任务都被给予一套的资源来执行指令,存储代码,数据和状态信息。这些资源构成了IA-32处理器的基本执行环境。基本执行环境会被运行于处理器上的应用程序和操作系统或执行者组织利用。l 地址空间:运行于IA-32处理器上的任何任务或者程序可以寻址多达4GByte的线性地址空间和多达64GByte的物理地址空间。关于寻址大于4GByte的地址空间详见3.3.6小节,“保护模式下的物理地址扩展”。l 基本寄存器:8个通用寄存器,6个段寄存器,一个EFLAG
2010-10-15 14:32:00
4372
翻译 Intel 开发者手册-(1)
从零开始-保护模式=========================================第三章基本执行环境本章节从汇编语言的编程人员的视角来描述IA-32处理器的基本执行环境。主要描述处理器如何执行指令,如何存储以及操作数据。这里所描述的执行环境包括:内存(地址空间),通用数据寄存器,段寄存器,标志寄存器和指令指针寄存器。3.1 操作模式IA-32架构支持三种基本的操作模式:保护模式,实地址模式和系统管理模式。操作模式决定了何种指令和架构特性是可用的:l 保护模式:此模式是处理的固有状态。
2010-10-09 18:56:00
4146
原创 汇编语言裸机实现时钟程序-BCD转ASCII,修改中断向量表
为了熟悉BIOS的各种中断功能,所以写来练练手。注:以下所有中断均为BIOS中断,无DOS中断。先说一下实现思路:一、先能取得当前系统时间,查BIOS中断知道7、时钟服务(Clock Service——INT 1AH) 00H —读取时钟“滴答”计数01H —设置时钟“滴答”计数02H —读取时间03H —设置时间04H —读取日期05H —设置日期06H —设置闹钟07H —闹钟复位0AH —读取天数计数0BH —设置天数计数80H —设置声音源信息其中(3)、功能02H功能描述:读取时间入口参数:AH=
2010-10-02 12:43:00
5243
2
原创 简单OS开发前奏(三)操作系统装载过程及BootSector的汇编语言实现
上篇文章说过,BIOS的最后一个步骤是INT 19H,继这条指令执行之后,计算机就计入了OS Booting阶段。再继续分析BOOT的详细过程之前先来熟悉几个相关概念。 Master Booter:位于硬盘的第一个扇区(即MBR,主引导记录),用于装载Boot Block的程序,长度446[之前手误写成了466]字节。 Boot Sector:位于软盘的第一个扇区,或者硬盘
2010-09-25 22:50:00
7285
9
原创 简单OS开发前奏(二)BIOS启动过程-硬件检测及初始化浅析
BIOS就是基本输入输出系统,它是一组固化到计算机内主板上一个ROM芯片上的程序,保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。 其主要功能是为x86架构的计算机提供最底层的、最直接的硬件初始化设置和控制。一般来说没安装任何操作系统的计算机成为裸机,但是裸机并不裸,因为有BIOS,所以各种硬件仍然可以在你按下启动按钮之后有序的工作,只是这些工作是不为用户提供服务的。BIOS的基本工作任务:● POST:开机自检● 初始化阶段:对DRAM、芯片组,外围设备等设置● 保存
2010-09-21 15:34:00
8652
4
原创 简单OS开发前奏(一)EDITPLUS+MASM32搭建汇编开发环境(16位+32位)
沉寂了一个学期,现在要做点正事了,毕业设计打算是写一个简单的操作系统,今天开始写个系列文章,也称不上是教程,算是为毕业设计提前做准备,也是把网络上有关x86系统的硬件和OS启动过程综合发布并实现一下,内容会涉及X86架构的CPU和BIOS的相关知识。 关于汇编语言就不多说了,高层应用开发的人也许永远不会接触到这个编码复杂的开发工具,但是我个人认为用汇编写出来的东西比那些高层应用开发人员所提出来的概念性东西实在的多。汇编现在能干什么呢?汇编什么都能干,你能用高级语言实现的功能汇编都能做,但是没人愿意用汇编来
2010-09-09 19:28:00
4466
2
华为H3C802.1X认证客户端
2011-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人