自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (21)
  • 收藏
  • 关注

原创 使用IE控件来分析网页结构,模拟测试爬虫,使用scrapy+selenium来执行网页爬虫

通常我们使用scrapy来进行网页内容的收集,但使用起来非常的不方便:1. 需要使用工具,或者手动来计算得到网页元素的xpath。2. 对一些网页内需要ajax的运行才显示的内容处理起来并不方便。我通过找相关的工具,研究爬虫方案,找到了一个比较合适的工具软件,和方便易用的处理流程:工具软件的名字是掘金数据处理平台,界面如下:scrapy辅助界面如下:使用方法:1...

2018-11-28 14:19:39 1817

原创 无借鉴棋手知识而精通围棋

人工敽能,ALPHAGO

2017-10-22 10:12:53 1940

原创 【转】开源代码审计工具备忘

开源和非商业公司2.3.1.1 .NET (C#, VB.NET and all .NET compatible languages)• Reflector.CodeMetrics — (an add-in for the essential Reflector) • CCMetrics • CRPlugin (plugin for DxCore) • FxCop — Free

2013-04-07 09:14:28 3741

转载 Pushing the Limits of Windows: Paged and Nonpaged Pool

转自:http://blogs.technet.com/b/markrussinovich/archive/2009/03/26/3211216.aspxIn previous Pushing the Limits posts, I described the two most basic system resources, physical memory and virtual

2012-08-03 13:43:25 1918

原创 常用X86指令的二进制代码

837d byte_param1 byte_param2  837d 表示EBP基地址 + byte_param1偏移 得到地址中的双字值 和 byte_param2进行比较

2012-07-26 09:42:54 1601

转载 ANDROID 经典开源项目

Android PDF 阅读器 http://sourceforge.net/projects/andpdf/files/个人记账工具 OnMyMeans http://sourceforge.net/projects/onmymeans/developAndroid电池监控 Android Battery Dog http://sourceforge.net/projects/andba

2012-07-25 13:00:10 1583

原创 NDIS PACKET结构,如何COPY?

NDIS PACKET封装了一个网络数据包,在以太网中,就是以太网封包,有时需要对数据进行拷贝再进行特殊的处理,如何做,它的结构体是什么样了?基本框架结构:typedef struct _NDIS_PACKET{NDIS_PACKET_PRIVATE Private;union{struct // For Connection-less miniports{

2012-04-19 09:11:37 2278

转载 VC 调试收集

调试的时候,可以通过修改 eax来改变函数的返回值。 VC调试技巧收集整理 - 程序之艺术 - 51CTO技术博客博客登录VC调试技巧收集整理       调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却

2011-09-01 11:27:18 941

原创 如果目标数据是一段内存区的话,该使用什么HASH算法比较合适?

如果目标数据是一段内存区的话,该使用什么HASH算法比较合适? 算法的选择标准:尽量在不同的输入的情况下产生在合法区间的离散,不重复的输出。 有两种计算方法比较容易产生离散的输出:1.异或运算2.局部移位运算 基于以上思想,可以使用如下算法:以字长为单位,将内存区从开始直至最后进行以上两种运算,直到余下的长度不够字长为止。以字节为单位,对内存区余下的部分

2011-06-15 17:22:00 1395

原创 fs:[0]到底表示什么?fs段寄存器在WINDOWS系统中的作用

fs:[0]到底表示什么?TEB,PEB,TIB,PCRB结构的表示。fs段寄存器在WINDOWS系统中的作用

2011-04-29 15:13:00 17817 1

原创 一个并行计算系统的初级模型

并行计算系统至少包括两个部分:计算者计算资源分发和结果综合者 这里有一个开源项目,实现了基础性的并行计算功能,它的架构是这样的: 同一局域网络下机器通过安装一个计算客户端,接收特殊端口的广播包,来发送自己的相关信息。它们属于计算的执行者。其中一台机器做为计算资源的分发者,它通过接口得到计算资源后,先发送主播包,识别所有在同网络的计算者,使用特定的方法,将资源分解后,分发...

2011-03-08 01:19:00 1165

原创 一条语句计算所有递增序列的结果

1.递增序列的概念:一串数的序列,相领两个数之间的差值是固定的,则此数列递增序列,如:1,2,3,4,5,6,7,8,9,10(差1) 1,3,5,7,9,11(差2)大家一般都会了解,它的规律是第1个数与倒数第1个数的和,与第二个数与倒数第二个数的和是一样的。这样可以有这样的计算方法:(Begin + End ) * ( End - Begin ) / 2 就会计算出它的所有数值的总和。但以上情况是在数值总数量为偶数是有效的,如果是奇数,则需要加入未计算的数值:( (Begin + End ) * ( E

2011-02-17 16:26:00 1162

原创 LIB/PE/COFF文件分析开源项目

<br />    这里有一个开源项目:PE-MASTER,用来进行OBJ文件的抽取,PE/LIB文件分析。PE文件修改。SVN:https://pe-master.googlecode.com/svn/trunk,如果大家对这个项目有兴趣,希望加入的话,请联系我。<br /> <br />这里是对LIB文件格式的解析(转载):<br /> <br />    上一篇文章介绍了COFF目标文件的结构。如果你试着做一个应用程序的连接器(Linker),就会发现,仅仅有目标文件是不够的。我们在连接程序时,不仅仅

2011-02-17 11:09:00 2193

原创 ARP协议,ARP攻击的原理,网络执法官的具体实现

ARP协议解析:ARP协议的格式:typedef struct _ARP_HDR{ USHORT HdType;  USHORT ProtType;  BYTE HdSize;  BYTE ProtSize;  USHORT Opcode;  BYTE SenderMacAddr[ 6 ];  ULONG SenderIPAddr;  BYTE DstMacAddr[ 6 ];  ULONG DstIPAddr; } ARP_HDR, *PARP_HDR; 其中:HdType 表示数据链路层的类型。(一般会

2011-02-09 13:53:00 2992

原创 NDIS6过滤驱动的编写

<br />NDIS6是在WINDOWS VISTA及之后版本的WINDOWS引入的,这时NDIS5的HOOK方式是无法使用的,MSDN推荐的方式是使用过滤驱动,其实也可以使用Intermediate(中间层驱动),下面谈一下它们的利弊,还有一些原理性的东西:<br />1.为什么NDIS6不动NDIS5的HOOK:<br />1.因为NDIS6使用了新的函数集和新的数据结构,最重要的是NET_BUFFER替代了NDIS_PACKET,原先所有的使用NDIS_PACKET的PROTOCOL或MINIPORT

2011-01-02 23:13:00 5151

原创 TDI FILTER 网络过滤驱动完全解析

WDM TDI Filter驱动的组织架构

2010-10-06 22:57:00 12692 3

原创 VS2005的并行计算功能支持

<br />VS2005中的VC是支持OPENMP2.0协议的,使用OPENMP2.0可以让编译器为你的多核CPU提供并行程序编译支持。<br />一个例子:<br />#include <omp.h><br />#include <stdio.h><br />int main() {<br />#pragma omp parallel<br />printf("Hello from thread %d, nthreads %d/n", omp_get_thread_num(), omp_get_num_t

2010-06-27 09:37:00 1649

原创 快速排序算法实现

<br />快速排序算法的原理:<br />将数列中任取一个数,将其左部放置比其小的数,其右部放置比其大的数。然后,对其左,右部递归执行这种分割过程。<br /> <br />源码如下:<br /> <br />INT32 SortedData[] = { 1, 3, 2, 112, 3854, 2382, 28392,1283,483,839,7, 1838,18289,9, 848,8, 7, 18, 1, 38392, 192938493, 81928374, 48393291, 3848392, 4

2010-06-22 13:31:00 914

原创 VC内联汇编实现strcpy+汇编性能分析

这是VC编译器生成的代码:char *__memsetc (dst, value, count)char *dst;char value;unsigned int count;{//push        ebp  //mov         ebp,esp //sub         esp,44h //push        ebx  //push        esi  //push        edi  //// char *start = dst;//mov         eax,dword

2010-06-21 15:28:00 2221 1

原创 启动进程流程

LINUX启动进程时设置了CS,ESP等各个寄存器的值,这是相应的宏:voidstart_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_sp){ loadsegment(fs, 0); loadsegment(es, 0); loadsegment(ds, 0); load_gs_index(0); regs->ip  = new_ip; regs->sp  = new_sp; percpu_write(old_rs

2010-06-20 21:45:00 1076

原创 多CPU支持下的 percpu 变量分析

/* *使用一个数组,来记录对于每个特定的CPU的变量的地址偏移量。 *有些CPU有自己独特的技术来实现。 */#ifndef __per_cpu_offsetextern unsigned long __per_cpu_offset[NR_CPUS];#define per_cpu_offset(x) (__per_cpu_offset[x])#endif /* 

2010-05-30 12:04:00 5295

原创 C++语法巧题(一般被用做面试题)

题1:int ArrayParamFun( char Param[100] ){    int ParamLen;   ParamLen = sizeof( Param );   prinf( "The array param length is %d/n", ParamLen );} int main(){    char TestParam[100];

2010-03-31 22:42:00 1688 1

原创 Windows蓝屏代码含意速查表

   代码  含意   0 0x0000 作业完成。   1 0x0001 不正确的函数。   2 0x0002 系统找不到指定的档案。   3 0x0003 系统找不到指定的路径。   4 0x0004 系统无法开启档案。   5 0x0005 拒绝存取。   6 0x0006 无效的代码。   7 0x0007 储存体控制区块已毁。   8 0x0008 储存体空间不足,无法处理这个指令。

2009-06-24 15:05:00 1676

原创 基本INF文件格式

[Version]Signature="$Windows NT$"  ;通知用户此驱动使用在什么平台Class=Sample    ;驱动的类型ClassGUID={C3077FCD-AE7F-3D86-9C1A-46A8181923E}  ;驱动类型的GUIDProvider=%MFGNAME%   ;开发商名称CatalogFile=basic.bat   DriverVer=01/23/20

2009-06-16 15:30:00 3548

翻译 TS (Transport stream) 格式:

包:包是TS中最基本的数据单元.它内部包含固定的1个同步字节,值为0x47.之后是3个比特标志字段和13个比特的包ID字段(PID),然后是4个比特的连续计数器字段,下面还可以有其它可选附加的字段,如可靠用来提供支持信息的字段.其余部分就是数据载荷。每个包的长度为188字节,但通信媒介为包添加错误校检字节。如DVI-ASI使用204字节和ATSC使用208字节做为包长度.ATSC添加了

2009-06-12 15:23:00 7216 3

原创 强化任务管理器(CTRL+ATL+DEL热键)执行功能(IT人必看)

     TASKMGR.EXE是大家频繁使用的一个WINDOWS系统管理工具程序,主要用来查看系统的各种资源的使用状态和进程的当前工作状态及管理当前进程。     但有很多比它功能强大进程分析程序,如Sysinternal工具包中的Process Exporer,它可以显示更全面的系统,进程内部信息,更强大的管理功能。可以从这里下载到:http://technet.microsoft.com

2009-04-28 17:23:00 1741

原创 软件的创新思想与他人思想的整合

    当今软件知识到处都是,一问题在互联网上会搜到一大把的相关信息,软件开发越发的变为了对别人思想和接口的调用和纯粹的拷贝.    这样的工作方式需要你的两种能力:1.对计算机语言知识的基本掌握,2.计算机的基本应用能力.门槛很低,软件开发变成了计算机语言的代码组合过程.    这样的开发可能也可以生产出软件产品,但有什么问题呢?1.首先就是不会有专业知识的理解,你仅仅只是知道一个接口而

2009-04-23 15:22:00 1101

原创 MATROSKA 文件格式

MATROSKA 文件格式1.EBML (Extensible Binary Meta Language):EBML语言使用不定长整数,这种方式相对于固定长度的32位/64位字长的整数值更节约空间.放置的位置也不受字节对齐约束..这种长度编码方式来自于UTF-8编码规范. 不定长度的无符号整数值(“vint”):长度的计算方法:长度 = 1 + 整数前缀0比特的个数.使

2009-03-07 23:47:00 4946

原创 使NT支持长路径名的参考代码

在某些情况下,会有使用长路径(大于MAX_PATH/260字符)的需求,如网络文件管理之类的,WindowsNT之后的NTFS文件系统其实是支持这样的操作的,但需求毕竟比较特殊,而且Explorer资源浏览器都不支持它,所以很少被认识到. 这里我写了一个子目递归调用函数,原型:INT32 LongPathFileFind(LPWSTR lpPath,  //被搜索路径       

2009-02-11 18:57:00 1132

翻译 写一段小型溢出代码(译自:Writing Small Shellcode)

背景:    这篇文章描述了一次以尽可能小体积来实现一个WIN32 ShellCode的尝试,来完成一个通用的且有很多特性受限制的任务,试验的最终结果是一个绑定某端口的,没有空字符的(/0),大小为191字节的服务器端ShellCode,同时过程也描述了写一个小型的ShellCode的通用方法。    体积对于ShellCode来说是非常重要的,因为当对已经编译好的二进制码来说,Shell

2009-01-08 17:30:00 2478

原创 线程的退出与其相关资源的释放

线程是可访问进程资源的独立运行的一系列代码(过程),它使用的资源有两种:1.进程中所有线程共享的资源。2.线程私有的资源。那么如果线程退出的话,第2种资源也就没有存在的意义了。线程退出的方式:1.线程的入口函数执行完毕,这是最自然的退出方式,也是最佳的退出方式。2.使用ExitThread系统API函数,在类UNIX系统的相应函数是pthread_exit。3.使用TerminateThrea

2009-01-04 15:35:00 17147 2

转载 OllyDbg教程-快捷键

预备知识   大多数壳都有一个共同的特点。在壳准备开始解压时都要执行PUSHAD,当壳解压 完时都要调用POPAD。到底PUSHAD和POPAD是什么干什么用的呢?其实PUSHAD是用来将 所有普通寄存器顺序进栈的指令,POPAD是所有普通寄存器顺序出栈指令。POPAD的出 栈顺序和PUSHAD相反。壳为了保护寄存器,便在解压前将所有寄存器进栈保护起来, 当解压完成后又将寄存器出栈,恢复其原貌,并

2008-12-30 01:25:00 2438

转载 各种EDA软件的PCB文件后缀名

很多朋友在工作过程中经常会碰到各种不同格式的PCB设计文件,本人总结了下文件后缀对应的格式,希望对大家能有帮助.  1).pcb。最常见的后缀,很多PCB设计文件都是这一后缀,其中最常见的是Protel、PADS,此外还包括有ZUKEN公司的Cadstar、CR5000,Altimum的P-CAD等,笔者还碰到过后缀是pcb的gerber文件,用CAM350可以打开。  2).brd。Cadenc

2008-12-22 16:05:00 21513

原创 使用OutputDebugString输出调试信息,使用DebugWindow来捕获它

OutputDebugString API函数包括MultiChar和Unicode两种版本:OutputDebugStringA和OutputDebugStringW,原型:如下:void__stdcallOutputDebugStringA(    const char* lpOutputString    );void__stdcallOutputDebugStringW(   co

2008-12-15 16:35:00 9361

转载 使用热转印纸快速自制线路板【转】

多年来制作线路板是每个电子爱好者的拦路虎,能快速地完成线路板的制作则是每个电子爱好者的心愿。工艺原理:主要采用了热转移的原理.利用激光打印机的“碳粉”(含黑色塑料微粒)受激光打印机的硒鼓静电吸引,在硒鼓上排列出精度极高的图形及文字,在消除静电后,转移于经过特殊处理的专用热转印纸上,并经高温熔化热压固定,形成热转印纸版,再将该热转印纸覆盖在敷铜板上,由于热转印纸是经过特殊处理的,通过高分

2008-12-14 23:16:00 1939

原创 Linux boot flow

Linux BootFlow: BIOS Post Setup->MBR(GRUB/LILO)->Kernel->Kernel self-extract->Kernel StartKernel Start:Create the process that ID is 1->The first process create other kernel threads->The kernel th

2008-12-10 17:16:00 1210

转载 PTHEAD原理

 引言  线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。  为什么有了进程的概念后,还要再引入线程呢?使用多

2008-11-17 15:44:00 2104

原创 软件开发中的自动化技术

实际的工作中,很多时候都需要在项目编译完成后做一些工作,或是在编译前做一些准备工作,它们是重复性的,如果手动操作是一件很麻烦的事情,VS中提供了生成前/生成后执行命令,使用脚本就可以完成大部分需要的操作.例子(生成后自动将头文件和库文件放置在合适的位置)whenbuilded.batcopy /y ..*.h .D:/MyLib/Includecopy /y ../Debug/*.lib

2008-11-05 13:37:00 1362

原创 wchar_t类型的实质

VC++编译器中包括一种本机类型,用来支持长字符串,它就是wchar_t,它所占用的内存长度为2个字节,同时VC++编译器2个字节长度的类型有short, unsigned short。(参考链接:http://msdn.microsoft.com/zh-cn/library/dh8che7s(VS.80).aspx)它们相互之间其实是可以进行类型转换而不会发生内存定位错误的,如: (在打

2008-09-03 15:31:00 3184

转载 #pragma directive

一:#pragma warning指令该指令允许有选择性的修改编译器的警告消息的行为指令格式如下:#pragma warning( warning-specifier : warning-number-list [; warning-specifier : warning-number-list...]#pragma warning( push[ ,n ] )#pragma warning( po

2008-09-03 10:08:00 1194

掘金数据处理平台 1.2.2

从网页抓取数据,通过MYSQL数据库存储,通过自然语言处理引擎解析 智能化数据处理工具

2017-12-04

简智数据处理平台 1.0

通过点击鼠标的方法来抓到网页信息 1.先分析网站的网页结构,来配置抓取策略(有全面的流程说明,如不懂参考视频教程)。 2.运行脚本,执行数据处理工作。 数据输出的方式包括: 1. 通过CSV文件输出 EXCEL等编辑软件 大部分数据库软件支持从CSV文件导入 2. 通过程序内置数据库(SQLITE)输出

2017-08-31

掘金数据处理平台 1.0.1

从网页抓取数据,通过MYSQL数据库存储,通过自然语言处理引擎解析 智能化数据处理工具

2017-07-26

PE-MASTER(用来分析WINDOWS PE, LIB, COFF文件)

用来分析WINDOWS PE, LIB, COFF文件, 从LIB文件中提取OBJ文件。这是我发的开源项目, SVN地址为:https://pe-master.googlecode.com/svn/trunk. Analyze file of pe,lib, coff format, and extract the obj file from the lib file.this is my open source project.that s developing now,you can join this project,if you like it. svn:https://pe-master.googlecode.com/svn/trunk.

2013-11-18

ArpShield(Easy anti-arp attack from Netrobocop)

只需要程序打开此程序,网络执法官等软件发出的ARP攻击将不再有效。使用了NDIS来实现。 我个人开发了一系列的安全软件,并且还会继续开发下去,希望可以得到您的支持,或与您合作。 联系msn: shi.jijie@hotmail.com

2011-02-08

PEMaster(PE/COFF文件分析提取)

PE文件、LIB文件,OBJ文件分析,OBJ文件提取,此项目为开源项目,SVN地址在资源README.TXT中。

2011-02-08

WinKrnlMgr(WINDOWS系统内核功能管理器) (WINDDK 驱动)

KrnlMgr 系统功能管理器,同时监控100多个系统内核功能调用,可以实现全面的系统功能管理,为了实现与其它安全软件的兼容,使用了多种HOOK方法,此实例程序使用了其中的20多种管理功能,通过对其强化,可以完整的管理系统的方方面面。 我可以提供一套自己个人开发的安全功能模块,包括磁盘加密,网络管理,应用层防火墙,系统功能控制,如果可以合作,请联系:shi.jijie@hotmail.com

2011-01-15

网络流量管理器(TDI 网络过滤驱动)

基于TDI驱动实现的系统网络流量管理器,可以观察系统内所有的网络流量,阻塞程序的所有网络流量,控制程序的流量发送速度.如需源码建议联系email:shi.jijie@hotmail.com

2010-10-09

设置WINDOWS设备的一组源码工程

用来设置,安装,移除WINDOWS设备。包含WINDDK,但具有非常实用的价值。

2010-06-12

WINDOWS下移除指定设备源码

WINDDK中的源码实例,输入参数是一个指定的设备ID号。将移除指定ID号的设备驱动。

2010-06-12

windows7 driver devoloper tool suit

这是用来在WINDOW7下进行DRIVER开发的一套方便配置和调试的小工具集。

2010-05-28

XENCFS 加密文件系统

个人开发的文件加密系统,会通过一个文件生成一个虚拟磁盘,在其之上的所有数据都以加密的形式存在,程序功能是完全正式的,请放心下载试用。

2010-04-15

XFreeBar (IE工具条,自绘,全面功能,自定义,扩展)

支持各版本IE,提供的多样化的功能,进行了自绘,文本搜索,各种搜索引擎的支持等等.基于WTL.

2010-04-15

XFreeBar (IE工具条,自绘,全面功能,自定义,扩展)

支持各版本IE,提供的多样化的功能,进行了自绘,文本搜索,各种搜索引擎的支持等等.基于WTL.

2010-03-16

C#调用CDLL带指针参数的函数

C#调用CDLL带指针参数的函数的实例.

2009-04-16

给WINDOWS7或Vista添加网络功能权限的脚本文件

给WINDOWS7或Vista添加网络功能权限的脚本文件,使网络程序可以在非管理员用户下运行.

2009-04-07

自制7zip压缩库演示程序

提供了我自制的7zip压缩库,这是一个使用它工作的例子。

2009-01-08

OutputDebugStrCapture

捕获Windows下OutputDebugString API调试信息输出的CONSOLE程序。相当于DebugView的子功能。

2009-01-05

NetMointor

功能介绍: 1.远程控制计算机 1.有5种颜色数可以选择 2.有5种种压缩方式可以选择 3.特点:完全的鼠标控制功能(包括各键双击,中键控制) 2.本地搜索IP地址信息的功能 1.全部信息输出方式 2.由IP地址搜索实际地址信息 3.由实际地址信息搜索IP地址段信息 3.本地抓包分析功能 1.ETHERNETII, ETHERNET802.3, IP, TCP, UDP协议的具体信息分析 4.其它功能: 1.UI自定义 2.自定义LOG系统 实际开发过程: 1.远程控制功能: 1.网络库:提供了网络模块加载、网络连接建立、网络收发、错误处理功能的全部封装。 2.压缩库:提供了JPEG、LZW、LZSS、ARI等压缩方法的全部封装。 3.网络控制通信协议:定义了各种数据类型供通信使用。 2.UI系统: 1.使用了INI文件加BMP文件对UI系统进行描述 2.对一些控件使用了程序绘制的方法(参考了网上资料且对其进行完善和功能的增加) 3.抓包功能: 1.使用了WINPACAP库来进行底层数据包的抓取 4.IP地址信息搜索功能: 1.使用了纯真IP数据库,通过对其数据结构的分析,构造代码来完成信息检索功能 现存问题: 1.Edit控制的大容量支持 如果愿意和我一起讨论或需要源码QQ:651362705

2008-11-06

XP界面开启文件

XP的界面不是自动开的,它使你可以使用XP系统的界面.

2008-03-20

空空如也

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

TA关注的人

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