• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
02xiaoma的私人空间
要是你觉得累了,最好的办法,就是让自己再累一些。累得彻底,才能从中脱身
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

随笔分类 -  转载(技术)

与技术有关的转载
 
win8 VS2010 配制OpenGL
摘要:glut下载地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zipglut.h ---> C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\glglut.dll,glut32.dll ---> C:\Windows\SysWOW64 (windows7 64位操作系统) ---> C:\Windows\System32 (windows7 32位操作系统)glut.lib,glut32.lib ---> C:\Progr 阅读全文
posted @ 2013-08-02 11:36 02xiaoma 阅读(839) 评论(0) 推荐(0)
Linux驱动开发之LDD3中第三章scull注释详解【转】
摘要:1 #include <linux/module.h> 2 #include <linux/moduleparam.h> 3 #include <linux/init.h> 4 #include <linux/kernel.h> /* printk() */ 5 #include <linux/slab.h> /* kmalloc() */ 6 #include <linux/fs.h> /* everything... */ 7 #include <linux/errno.h> /* error codes 阅读全文
posted @ 2012-12-23 23:27 02xiaoma 阅读(766) 评论(0) 推荐(0)
Linux内核代码 结构体初始化【转】
摘要:在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式。该方式是某些C教材(如谭二版、K&R二版)中没有介绍过的。这种方式称为指定初始化(designated initializer)。下面我们看一个例子,Linux-2.6.x/drivers/usb/storage/usb.c中有这样一个结构体初始化项目: static struct usb_driver usb_storage_driver = { .owner = THIS_MODULE, .name = "usb-storage", .probe = storage_probe, .disc 阅读全文
posted @ 2012-12-23 21:33 02xiaoma 阅读(380) 评论(0) 推荐(0)
DOS路径转化为NT路径
摘要:ReactOS里面给的源码真是碉堡了 1 NTSTATUS NTAPI RtlpWin32NTNameToNtPathName_U ( IN PUNICODE_STRING DosPath, 2 OUT PUNICODE_STRING NtPath, 3 OUT PCWSTR * PartName, 4 ... 阅读全文
posted @ 2012-11-11 11:12 02xiaoma 阅读(2628) 评论(2) 推荐(0)
根据文件句柄获得完整路径
摘要:使用NtQueryInformationFile函数获得不到完整路径可以用NtQueryObject获取完整的NT路径: 1 #include <windows.h> 2 #include <iostream> 3 using namespace std; 4 5 6 typedef struct _OBJECT_NAME_INFORMATION { 7 WORD Length; 8 WORD MaximumLength; 9 LPWSTR Buffer;10 } OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;.. 阅读全文
posted @ 2012-11-11 11:05 02xiaoma 阅读(5431) 评论(0) 推荐(0)
【转载】从文件句柄获得全路径
摘要:1 typedef NTSTATUS (NTAPI *PFN_ZwQueryObject)( 2 IN HANDLE ObjectHandle, 3 IN ULONG ObjectInformationClass, 4 OUT PVOID ObjectInformation, 5 IN ULONG ObjectInformationLength, 6 OUT PULONG ReturnLength OPTIONAL 7 ); 8 9 PFN_ZwQueryObject g_ZwQueryObject = (PFN_ZwQuery... 阅读全文
posted @ 2012-11-08 08:55 02xiaoma 阅读(412) 评论(0) 推荐(0)
[转载]关于SSDT的详解
摘要:关于SSDT的详解(1)引子2006年,中国互联网上的斗争硝烟弥漫。这时的战场上,先前颇为流行的窗口挂钩、API挂钩、进程注入等技术已然成为昨日黄花,大有逐渐淡出之势;取而代之的,则是更狠毒、更为赤裸裸的词汇:驱动、隐藏进程、Rootkit……前不久,我不经意翻出自己2005年9月写下的一篇文章《DLL的远程注入技术》,在下面看到了一位名叫L4bm0s的网友说这种技术已经过时了。虽然我也曾想过拟出若干辩解之词聊作应对,不过最终还是作罢了——毕竟,拿出些新的、有技术含量的东西才是王道。于是这一次,李马首度从ring3(应用层)的围城跨出,一跃而投身于ring0(内核层)这一更广阔的天地,便有了这 阅读全文
posted @ 2012-11-05 09:33 02xiaoma 阅读(575) 评论(0) 推荐(0)
关于tracert的工作原理和用法
摘要:Traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)栏位(field)。首先,traceroute送出一个TTL是1的IP datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute 收到这个消息后,便知道这个路由器存在于这个 阅读全文
posted @ 2012-09-04 00:25 02xiaoma 阅读(4288) 评论(0) 推荐(0)
VC++6.0/MFC中如何限制Edit控件只能输入0和1
摘要:自己派生一个CMyEdit类,步骤如下:1、Insert -> New Class -> 在Base Class中选择CEdit,在Name中输入CMyEdit.2、在左边的ClassView中,右键击CMyEdit,选择Add Windows message Handle,在弹出的框左边选择WM_CHAR,添加并编辑该消息如下:void CMyEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) { if(nChar!=49 && nChar!=48) { return; } CEdit::OnChar(nChar 阅读全文
posted @ 2012-09-02 19:02 02xiaoma 阅读(2380) 评论(0) 推荐(1)
网上看到的编写shellcode的程序
摘要:网上看到的编写shellcode的程序 1 /* 2 使用C语言编写通用shellcode的程序 3 出处:internet 4 修改:Hume/冷雨飘心 5 测试:Win2K SP4 Local 6 7 */ 8 #include <windows.h> 9 #include <stdio.h> 10 #include <winioctl.h> 11 12 #define DEBUG 1 13 14 // 15 //函数原型 16 // 17 void ... 阅读全文
posted @ 2012-08-16 10:18 02xiaoma 阅读(3140) 评论(0) 推荐(0)
string与wstring转换
摘要:方法一:MultiByteToWideChar、WideCharToMultiByte 1 BOOL StringToWString(const std::string &str,std::wstring &wstr) 2 { 3 int nLen = (int)str.length(); 4 wstr.resize(nLen,L' '); 5 6 int nResult = MultiByteToWideChar(CP_ACP,0,(LPCSTR)str.c_str(),nLen,(LPWSTR)wstr.c_str(),nLen); 7 ... 阅读全文
posted @ 2012-07-18 15:50 02xiaoma 阅读(47308) 评论(3) 推荐(1)
basic_string
摘要:原文网址:http://zh.cppreference.com/w/cpp/string/basic_string#include <string>template< typename CharT, typename Traits = std::char_traits< CharT >, typename Allocator = std::allocator< CharT >> class basic_string;类模板basic_string提供了字符序列如何操作和存储的泛型。下面是针对常见字符类型的特化:typedef basic_stri 阅读全文
posted @ 2012-07-16 15:02 02xiaoma 阅读(672) 评论(0) 推荐(0)
使用 GetStartupInfo 检查自己是否被"调试"(转自看雪论坛)
摘要:原文地址:http://bbs.pediy.com/showthread.php?t=31447在使用CreateProcess创建进程时,需要传递STARTUPINFO的结构的指针,而常常我们并不会一个一个设置其结构的值,连把其他不用的值清0都会忽略,而ollydbg也这样做了,我们可以使用GetStartupInfo检查启动信息,如果很多值为"不可理解"的,那么就说明自己不是由explorer来创建的.(explorer.exe使用shell32中ShellExecute的来运行程序,ShellExecute会清不用的值)还有一点ollydbg会向STARTUPINFO 阅读全文
posted @ 2012-07-13 14:49 02xiaoma 阅读(4566) 评论(2) 推荐(1)
《WINDOWS编程启示录》第三章
摘要:第3章GetWindowText的秘密GetWindowText函数远比你想象的要复杂。在GetWindowText函数帮助文档中试图通过简短的文字来解释这个函数的复杂性,如果你无法理解一些长篇大论的文字,那么这种做法无疑是很好的,但简短的文字同样意味着整个内容会变得有些晦涩难懂。下面,我们就来讲述GetWindowText函数的完整内容。3.1窗口如何来管理文本在窗口类中可以通过两种方法来管理文本:既可以让窗口自己进行管理,也可以让系统进行管理。默认的情况是由系统进行管理。如果窗口类让系统来管理文本,那么系统会进行以下这些工作:·对WM_NCCREATE消息进行默认的处理:将传递给 阅读全文
posted @ 2012-07-10 08:12 02xiaoma 阅读(707) 评论(0) 推荐(0)
实现自己的printf函数(转载)
摘要:转载自:http://blog.csdn.net/xfeng88/article/details/6695848在嵌入式开发中,常常会通过串口打印一些信息到PC终端,这就需要实现自己的printf函数,下面介绍打印函数print的实现。print.h 1 #ifndef __PRINT_H_ 2 #define __PRINT_H_ 3 4 void print(char* fmt, ...); 5 void printch(char ch); 6 void printdec(int dec); 7 void printflt(double flt); ... 阅读全文
posted @ 2012-06-22 12:44 02xiaoma 阅读(17361) 评论(5) 推荐(3)
(转载)超前进位加法器设计
摘要:数电书上说道超前进位加法器,没有仔细讲。上网搜了这篇资料,摘抄下来串行进位加法器需要一级一级的进位,进位延迟很大。先行进位加法器(也叫超前进位加法器)可以有效的减少进位延迟。 设二进制加法器的第i位输入为Xi, Yi,输出为Si,进位输入为Ci,进位输出为Ci+1则有 Si = Xi⊕Yi⊕CiCi+1= Xi·Yi + Xi·Ci + Yi·Ci = Xi·Yi + (Xi + Yi)·Ci令Gi = Xi·Yi,Pi = Xi+Yi则Ci+1= Gi + Pi·Ci当Xi和Yi都为1时,Gi = 1,产生进位Ci+1= 阅读全文
posted @ 2012-06-21 13:18 02xiaoma 阅读(4138) 评论(0) 推荐(0)
Win32 Application和Win32 Console Application的区别(转载)
摘要:Win32 Application和Win32 Console Application 都是工作在32位Windows环境的程序。 其中Win32 Application 就是普通的常见的窗口应用程序,当然有的界面做得比较个性化,比如圆形的、不规则形状的…… 它们都是所谓的GUI(Graphics User Interface图形用户接口),我们可以通过鼠标点击来完成控制。 Win32 Application是为你开发windows应用程序所准备的,程序以WinMain()为入口,#include<windows.h>,能够使用win32 API函数。而Win32 Console 阅读全文
posted @ 2012-06-19 23:17 02xiaoma 阅读(527) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3