- 博客(90)
- 收藏
- 关注
转载 循环冗余校验码(CRC)应用总结(包括C++源码)
最近在实习期间需要用到数据的校验,所选为CRC16,那么就在此总结一番吧。现在此说明下什么是CRC:循环冗余码校验 英文名称为Cyclical Redundancy Check,简称CRC,它是利用除法及余数的原理来作错误侦测(Error Detecting)的。实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个C
2014-10-31 00:43:08
1773
转载 Linux设备驱动之Ioctl控制
http://www.cnblogs.com/geneil/archive/2011/12/04/2275372.html
2014-10-27 13:17:07
646
转载 VC++实现Vista和Win7系统低权限程序向高权限程序发消息
Windows 7已经隆重发布,但是很多程序员已经通过RTM等版本尝到了Windows 7的甜处。那么在Windows 7下用户界面特权隔离,将是本文我们介绍的重点。我们介绍了操作系统服务的Session 0隔离,通过Session 0隔离,Windows 7实现了各个Session之间的独立和更加安全的互访,使得操作系统的安全性有了较大的提高。从操作系统服务的Session 0隔离尝到了
2014-10-24 23:25:04
755
转载 MiniFilter简介
minifilter是sfilter后微软推出的过滤驱动框架。相比于sfilter,他更容易使用,需要程序员做的编码更简洁。系统为minifilter专门制作了一个过滤管理器,这个管理器本身其实是一个传统过滤驱动,它向minifilter的使用者提供许多接口,让原本复杂的文件过滤驱动变得方便简单。之所以简单是因为传统的过滤驱动把大量的工作放在绑定设备上,而现在这些工作都交给minifilter中的
2014-10-20 23:59:12
7121
1
原创 Computer Network Homework 1
《Computer Networks》:chapter 1 problems 1, 6, 10, 20, 27, 28. 1. Imagine that you have trained your St. Bernard, Bernie, to carry a box ofthree 8-mm tapes instead of a flask of brandy. (When y
2014-10-16 21:59:28
3814
转载 linux驱动模块编译(初学者)
linux 模块编译步骤(转) 本文将直接了当的带你进入linux的模块编译。当然在介绍的过程当中,我也会添加一些必要的注释,以便初学者能够看懂。之所以要写这篇文章,主要是因为从书本上学的话,可能要花更长的时间才能学会整个过程,因为看书的话是一个学习过程,而我这篇文章更像是一个培训。所以实践性和总结性更强。通过本文你将会学到编译一个模块和模块makefile的基本知识。以及加载(
2014-10-16 00:45:55
568
转载 实现GetProcAddress
标 题: 【原创】完美实现GetProcAddress作 者: blueapplez时 间: 2010-09-27,22:11:13链 接: http://bbs.pediy.com/showthread.php?t=121226// 本文系转载,代码中的部分注释是我学习中写的,通过作者的探索,让我了解了更多的关于GetProcAddress函数的细节,再次对前人的探索以及无私
2014-10-01 19:35:00
1852
转载 Windows Job简介
一直以来对这个东西总是搞不清楚,看了几遍Windows核心编程后,总算是有一点点感觉了,欢迎高手对我不正确的理解拍砖指正。Job可以被理解为进程的容器,而它又不是单纯的容器,按照书本上所讲的,Job是一个沙盒,它可以为在它里面运行的进程增加一系列的限制。包括每一个进程或者整个Job能够使用的User mode CPU时间,每一个进程或者整个Job最多能使用的内存,Job内的进程能否访问到J
2014-09-27 15:45:15
3995
转载 “段寄存器”的故事
http://blog.youkuaiyun.com/michael2012zhao/article/details/5554023一、 段寄存器的产生段寄存器的产生源于Intel 8086 CPU体系结构中数据总线与地址总线的宽度不一致。 数据总线的宽度,也即是ALU(算数逻辑单元)的宽度,平常说一个CPU是“16位”或者“32位”指的就是这个。8086CPU的数据总
2014-09-22 22:16:04
523
原创 VS2012上64位驱动恢复_asm关键字完整方案
首先是kx上的帖子 提示了Intel Parallel Studio XE这个玩意 下面我把我自己的配置流程说一下1、去官网下载Intel Parallel Studio XE 2015
2014-09-20 13:49:33
2628
转载 x64 下的 segmentation 情形
6.1、 x64 下的物理资源及系统数据结构6.1.1、 segment registers x64 体系在硬件级上最大限度地削弱了 segmentation 段式管理。采用平坦内存管理模式,因此体现出来的思想是 base 为 0、limit 忽略。 但是,x64 还是对 segmentation 提供了某种程度上的支持。体现在 FS 与 GS 的与众不同。 segmen
2014-09-17 12:24:15
835
转载 Svn一些使用记录
准备工作1,下载svn并安装http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 (包含客户端、服务器端)2,在系统变量里添加SVN_EDITOR变量,值为任意一个文本编辑器的名字,比如notepad.exe一、把项目源代码上传服务器1,进入项目根目录cd 项目根目录2,把当前目录
2014-09-12 14:40:55
1779
转载 转一下PT的记录
x64里由于无法内联汇编语句,所以必须专门写asm文件来编译汇编语言,先总结一下R0里面如何编译:1. 下载MASM64编译器(Tesla.Angela修改版),下载地址:http://good.gd/1399004.htm 然后写一个编译的bat文件(假设装在C盘下面,项目在D:\Devlopment\test,asm文件叫x64.asm)@Set Prog
2014-09-10 14:45:42
559
转载 Windows平台X64函数调用约定与汇编代码分析
原文 http://kelvinh.github.io/blog/2013/08/05/windows-x64-calling-conventions/起因整件事源自于公司的一个公共模块,有很多项目都依赖于这个公共模块,我们项目是其中之一。假定依赖的函数原型为:int add(int a, int b, int c, int d, int e)某一天,这个公共模块将 a
2014-09-09 14:17:02
2559
转载 C语言的继承
这里说的继承有点像C++里的父类和子类,实际上是结构体类型的强制转换,最近看Linux内核源码时经常接触到这种方法,在这里就当作是一个简单的学习吧。 下面给出一个Demo,很简单,分别定义了一个father结构体和一个son结构体,father结构体里定义了2个整形变量,son结构体里的第一个成员是father结构体类型的变量,son里的另外2个成员也是整形变量,这样,son结构体
2014-09-08 21:46:18
944
原创 CentOS下mysql密码本地重置
mysql的root密码忘了可以通过以下方式解决:1、service mysqld stop成功关闭mysql进程2、
2014-09-02 12:00:52
593
转载 针对函数的多线程inline API HOOK
源自:http://blog.youkuaiyun.com/yiyefangzhou24/article/details/7523449Inline API HOOK方法有很多,常见的一种方法无需内嵌汇编语句,原理简单易懂,针对64位微软操作系统不允许内嵌汇编这种无解的事比较给力(列宁大神提供的消息,本人未亲自尝试)。下面简单说一下这种方法的原理。 首先说一说inline HOOK
2014-07-29 15:43:43
1121
转载 DllMain中不当操作导致死锁问题的分析——DllMain中要谨慎写代码(完结篇)
之前几篇文章主要介绍和分析了为什么会在DllMain做出一些不当操作导致死锁的原因。本文将总结以前文章的结论,并介绍些DllMain中还有哪些操作会导致死锁等问题。(转载请指明出于breaksoftware的csdn博客) DllMain的相关特性 首先列出《DllMain中不当操作导致死锁问题的分析--进程对DllMain函数的调用规律的研究和分析》中论证
2014-07-25 23:42:12
649
转载 CRC32查表法
#include windows.h>#include stdio.h>void PrintCrcTable(){ //Poly = 0xedb88320 WinRAR Poly DWORD Val; for (DWORD i = 0; i 256; i++) { Val = i; for (DWORD
2014-07-09 20:50:32
3221
原创 学习BluePill源码笔记-4
2.2 HvmNTSTATUS NTAPI HvmSwallowBluepill (){ CCHAR cProcessorNumber; NTSTATUS Status, CallbackStatus; _KdPrint (("HvmSwallowBluepill(): Going to subvert %d processor%s\n", KeNu
2014-07-08 20:43:42
1439
原创 学习BluePill源码笔记-2
1.5 MmCreateMapping if (!NT_SUCCESS (Status = MmCreateMapping (g_PageMapBasePhysicalAddress, (PVOID) PML4_BASE, FALSE))) { DbgPrint ("MmInitManager(): MmCreateMapping() failed to map PML4 page,
2014-06-29 18:50:48
1232
原创 入门级的一个登录窗口PHP+MYSQL
CREATE DATABASE blog;USE blog;mysql> CREATE TABLE USER_PASSWORD( -> username VARCHAR(25) NOT NULL, -> password VARCHAR(25) NOT NULL, );login.php Welcome to micro blog
2014-06-28 13:16:04
717
转载 【转】VIM学习
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你想以最快的速度学习人类
2014-05-21 00:24:10
410
原创 Windows内核原理与实现--Windows进程线程基本概念(2)
执行体层位于内核层之上,侧重于提供各种管理策略,同时为上层应用程序提供基本的功能接口。下面先来讨论执行体层金恒对象的
2014-04-22 21:07:57
1443
转载 C# ListView用法详解
原文地址 http://blog.youkuaiyun.com/chen_zw/article/details/7910324一、ListView类 1、常用的基本属性: (1)FullRowSelect:设置是否行选择模式。(默认为false) 提示:只有在Details视图该属性才有意义。 (2) GridLines:设置行和列之间
2014-04-22 16:42:27
571
转载 C# treeview默认选中一个节点
有不少朋友都在找关于C#怎么在窗体加载的时候TreeView控件自定义选中任意一个节点.而且需要选中节点的上级节点是展开的.在这里公布源代码.并附上效果图.当窗体一加载的时候就默认选中了销售部(一)的节点 .并且节点0默认展开for (int i = 0; i { for (int j = 0; j
2014-04-22 16:40:20
12081
1
原创 用C#Numberics库写的简单RSA算法
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.W
2014-04-19 12:38:36
938
转载 分享一个C#的Rabin-Miller素性检验算法
public bool IsProbablePrime(BigInteger source) { int certainty = 2; if (source == 2 || source == 3) return true; if (source < 2 || source % 2 == 0)
2014-04-18 20:35:12
817
原创 第一个C#程序的坑爹问题
本菜初学C#了,有个小程序:MessageBox点是就显示窗体,否则结束using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using
2014-04-18 17:11:38
650
原创 Windows内核原理与实现--Windows进程线程基本概念(1)
操作系统需要做的事情是:维护一个全局的进程表,记录下当前有哪些进程正在被执行,把时间分成适当的片段
2014-04-17 21:37:30
1509
转载 利用Fltmgr加载驱动
#include#includetypedef struct _tagLOAD{ WORD Len; WCHAR ServiceName[512];} LOAD , *PLOAD;#define MAGIC_IOCTL 0x00088004VOID WINAPI make_reg( LPWSTR szDriverName, LPWSTR sz
2014-04-16 20:20:24
895
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人