系统
abcpanpeng
爱好:踢球与编程
展开
-
基于visual c++之windows核心编程代码分析(44)监测任意程序函数起始地址
很多时候,我们分析一个程序的构架,必须了解其函数的相关信息,如何了解其函数信息呢,我们必须监测函数的起始地址,结束地址,代码长度 等等信息。如何做到这一点呢,我们编程实现之。[cpp] view plaincopyprint?#include #include DWORD code() { /////////////////////////转载 2013-01-01 14:28:29 · 770 阅读 · 0 评论 -
基于visual c++之windows核心编程代码分析(47)实现交换网络的QQ号嗅探
当我们在一个交换网络里面,不知道别人的QQ号码是个很痛苦的事情,假如一个PLMM在上网,你却不知道她得QQ也没有勇气去问,是个很可惜的事情,至于我们搞编程的,可以通过交换机的数据交换,嗅探出QQ号,因为QQ数据里面唯独QQ号码不加密。[cpp] view plaincopyprint?#include "stdafx.h" #include "pcap.h"转载 2013-01-01 14:25:20 · 981 阅读 · 0 评论 -
基于visual c++之windows核心编程代码分析(54)实现Winlogon注入dll
Windows Logon Process,Windows NT 用户登陆程序,管理用户登录和退出。该进程的正常路径应是 C:\Windows\System32 且是以 SYSTEM 用户运行.我们都知道操作系统都是基于权限,而权限都是基于用户的,而这个winlogon进程就是管理用户登入登出,是不可以被结束的。winlogon是一个父进程,大多数的进程都是winlogon的子进程,如MDM.转载 2013-01-01 14:19:47 · 1523 阅读 · 0 评论 -
基于visual c++之windows核心编程代码分析(63)无模块dll进程注射
我们在信息安全编程的时候经常需要进行dll进程注入,我们在编程中如何实现呢。需要引用Psapi.Lib,具体可以百度下载之。其头文件如下,[cpp] view plaincopyprint?odule Name: psapi.h Abstract: Include file for APIs provided by PS转载 2013-01-01 14:11:48 · 1916 阅读 · 0 评论 -
Vc动态切换IE9标签(选项卡)
//相关头文件 Add 1210#include #include #pragma comment(lib,"oleacc.lib")//全局变量 Add 1210HWND hWndMainWindow;IAccessible *paccMainWindow = NULL;IAccessible *paccChildWindow = NULL;HRESULT hr;原创 2012-10-25 10:09:48 · 2244 阅读 · 0 评论 -
使用WTSGetActiveConsoleSessionId()的VISTA服务与桌面交互
<br />摘自:http://blog.csdn.net/felixz/archive/2006/10/23/1346380.aspx<br />作者:<br />Windows Vista 对快速用户切换,用户账户权限,以及服务程序所运行的会话空间都作了很大的改动,致使一些原本可以工作的程序不再能够正常工作了,我们不得不进行一些改进以跟上 Vista 的步伐。<br />我们的软件在Windows NT/2000/XP/Vista 系统中安装了一个系统服务,这个服务负责以 SYSTEM 权限启动我们的主转载 2011-05-10 21:09:00 · 1073 阅读 · 0 评论 -
通过SetWorkingSet减少内存使用(翻译)
第一次翻译文章,错误在所难免。让大家见笑了!还希望高手多指点。。 Windows Form应用程序在内存使用方面显得非常臃肿。主要是因为.NET应用程序在启动的时候有大量的footprint被JIT编译器加载,并且所有的链代码和WinForms引擎在启动时候被编译,并加载到程序的进程。这一过程占用了处理器时间片的同时也占用了大量的内存。JIT在确定哪些代码应该被编译已经做的非常好了,大部分其编译的代码都是事实上要用的。但是.NET框架本身也会要求编译一些代码。这样的结果就是程序进程加载了很多只在启动的转载 2011-03-11 10:51:00 · 2117 阅读 · 0 评论 -
最新Ghost系统封装教程及封装工具原理
<br />本教程基于MCC硬件抽象HAL(电源模式)原理,系统以XP为例。 <br /><br />这里将系统封装分为3步:做系统、封装、部署 <br /><br /><br />================================ <br /><br />一、做系统 <br /><br />================================ <br /><br />平台不限,但不建议在虚拟机上制作。CPU及主板芯片没有限制,关于intelide和intelppm的不兼容问题,没转载 2011-02-14 11:43:00 · 6185 阅读 · 1 评论 -
封装(驱动处理)
<br />(一)简介 <br />封装前都会对封装用计算机(源计算机)中的硬件设备驱动进行处理。所谓处理,主要是卸载驱动,以及一些对驱动程序的调整等。 <br />为什么要卸载源计算机的硬件设备驱动程序?理论上说,卸载源计算机的驱动不是必要的步骤,Windows本身就具有对硬件的即插即用能力,例如你添加一块网卡、更换一块显卡系统都会自动帮你搜寻适合的驱动并尝试安装。系统封装与部署技术是将源计算机中的系统封装后部署到其他计算机上,对系统来说并不认为是系统部署到了不同计算机中,而是发现了更多的即插即用设备,系转载 2011-02-14 11:26:00 · 7840 阅读 · 0 评论 -
VC++实现Vista和Win7系统低权限程序向高权限程序发消息
Windows 7已经隆重发布,但是很多程序员已经通过RTM等版本尝到了Windows 7的甜处。那么在Windows 7下用户界面特权隔离,将是本文我们介绍的重点。ZJk平坦软件园我们介绍了操作系统服务的Session 0隔离,通过Session 0隔离,Windows 7实现了各个Session之间的独立和更加安全的互访,使得操作系统的安全性有了较大的提高。从操作系统服务的Session 0隔离尝到了甜头后,雷德蒙的程序员们仿佛爱上了隔离这一招式。现在他们又将隔离引入了同一个Session之中的各个进程转载 2011-01-25 11:29:00 · 1633 阅读 · 0 评论 -
什么是线程安全
<br />什么是线程安全? 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 <br /> 或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题。 <br /> 线程安全问题都是由全局变量及静态变量引起的。 <br /> 若每个线程中对全局变量、静态变量只有读操作,而无写操作,一转载 2010-11-30 21:40:00 · 1050 阅读 · 0 评论 -
SystemParametersInfo详说
函数功能描述:查询或设置系统级参数。该函数也可以在设置参数中更新用户配置文件。函数原型B00L SystemParametersinfo(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinlni);参数uiAction:该参数指定要查询或设置的系统级参数。其取值如下;SPI_GETACCESSTIMEOUT:检索与可访问特性相关联的超时段的转载 2010-04-22 09:45:00 · 1184 阅读 · 0 评论 -
基于visual c++之windows核心编程代码分析(43)剿灭病毒编程
编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码被称为计算机病毒(Computer Virus)。具有破坏性,复制性和传染性。我们如何编程干掉病毒呢,有的病毒很拽很得瑟。看我们来实践干掉病毒提升权限[cpp] view plaincopyprint?//转载 2013-01-01 14:30:00 · 1667 阅读 · 0 评论 -
基于visual c++之windows核心编程代码分析(66)实现Windows服务的远程控制
Windows服务之前已经进行了讲解,如何在安装Windows服务呢,作为远程控制的服务端。安装Windows服务代码如下[cpp] view plaincopyprint?#include "stdafx.h" //#include #include "InstallService.h" #include BOOL StartService(L转载 2013-01-01 14:06:28 · 4770 阅读 · 2 评论 -
基于visual c++之windows核心编程代码分析(65)实现程序自我复制
我们进行信息安全与网络战编程的时候,经常需要实现程序的自我复制,我们如何实现程序的自我复制呢,请见代码[cpp] view plaincopyprint?#include #include #include //////////////////////////////////////////////////////////////////转载 2013-01-01 14:08:52 · 1377 阅读 · 0 评论 -
基于visual c++之windows核心编程代码分析(48)编程实现远程登录3389
3389端口是Windows 2000(2003) Server 远程桌面的服务端口,可以通过这个端口,用"远程桌面"等连接工具来连接到远程的服务器,如果连接上了,输入系统管理员的用户名和密码后,将变得可以像操作本机一样操作远程的电脑,因此远程服务器一般都将这个端口修改数值或者关闭。3389端口的关闭: 首先说明3389端口是windows的远程管理终端所开的端口,它并不是一个木马程序转载 2013-01-01 14:24:15 · 1112 阅读 · 0 评论 -
基于visual c++之windows核心编程代码分析(56)使用winsock搜索蓝牙设备
蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的转载 2013-01-01 14:16:53 · 1405 阅读 · 0 评论 -
VC++实现枚举进程与模块
[cpp] view plaincopyprint?#pragma once #define _WIN32_WINNT 0x0500 #include"windows.h" #include"tlhelp32.h" #include"stdio.h" #include"NativeApi.h" #include"wchar.h" #include"转载 2013-01-01 13:57:30 · 1113 阅读 · 0 评论 -
用Visual studio11在Windows8上开发驱动实现内存填0杀进程
在Windows NT中,80386保护模式的“保护”比Windows 95中更坚固,这个“镀金的笼子”更加结实,更加难以打破。在Windows 95中,至少应用程序I/O操作是不受限制的,而在Windows NT中,我们的应用程序连这点权限都被剥夺了。在NT中几乎不太可能进入真正的ring0层。在Windows NT中,存在三种Device Driver: 1.“Virtual转载 2013-01-01 13:50:53 · 1478 阅读 · 0 评论 -
基于visual c++之windows核心编程代码分析(51)基于匿名管道实现远程控制
我们知道域名是为了方便记忆而专门建立的一套地址转换系统,要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。一个域名对应一个IP地址,一个IP地址可以对应多个域名;所以多个域名可以同时被解析到一个IP地址。域名解析需要由专门的域名解析服务器(DNS)来完成。 解析过程,比如,一个域名为:www.staspcom,是想看到这个现HTTP服务,如果转载 2013-01-01 14:21:58 · 1008 阅读 · 0 评论 -
基于visual c++之windows核心编程代码分析(62)读取本地已登录的QQ号及应用代码
有时候,一个PLMM在网吧上过网以后,你不好意思去搭讪要她得电话,所以就得靠自己去看她得QQ上过以后留下的记录了。我们自己去翻QQ文件是不是很累,我们来编个程帮我们干活。[cpp] view plaincopyprint?#include "stdafx.h" //对比数据,找到相同字节集的偏移 int GetInBuffer(constv转载 2013-01-01 14:13:34 · 963 阅读 · 0 评论 -
基于visual c++之windows核心编程代码分析(64)现有的exe文件中添加自己的代码
我们进行信息安全编程的时候,经常需要向exe文件插入自己的源代码,我们如何在代码中实现呢。请见代码与注释讲解[cpp] view plaincopyprint?#include #include #include ///////////////////////////////////////////////////////////////////转载 2013-01-01 14:09:54 · 999 阅读 · 2 评论 -
基于Windows8与Visual Studio11开发第一个USB驱动应用程序
USB ,是英文Universal Serial BUS(通用串行总线)的缩写,而其中文简称为“通串线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。从1994年11月11日发表了USB V0.7版本以后,USB版本经历了多年转载 2013-01-01 14:01:11 · 8441 阅读 · 1 评论 -
用Visual studio11在Windows8上开发驱动实现注册表监控和过滤
在Windows NT中,80386保护模式的“保护”比Windows 95中更坚固,这个“镀金的笼子”更加结实,更加难以打破。在Windows 95中,至少应用程序I/O操作是不受限制的,而在Windows NT中,我们的应用程序连这点权限都被剥夺了。在NT中几乎不太可能进入真正的ring0层。在Windows NT中,存在三种Device Driver: 1.“Virtual转载 2013-01-01 13:54:31 · 1517 阅读 · 0 评论 -
VC++实现获取进程端口检测木马
我们都知道病毒木马都要与外面通信,如何检测呢,今天我们来时间检测进程端口来检测木马请见代码与注释[cpp] view plaincopyprint?#include #include #include #include #pragma comment(lib, "ws2_32.lib") //---------转载 2013-01-01 13:44:02 · 2216 阅读 · 0 评论 -
进程间通信_共享内存类_C++实现
忘记是从哪里整理的一个类了,但非常好用,可以将其放在自己的项目中实现不同进程间数据的通信。头文件:view plaincopy to clipboardprint?/****************************************************************** ++ File Name : FFMClass.h ++ Description转载 2010-03-28 13:32:00 · 1197 阅读 · 0 评论 -
VC 开机自动启动程序代码
很多监控软件要求软件能够在系统重新启动后不用用户去点击图标启动项目,而是直接能够启动运行,方法是写注册表Software//Microsoft//Windows//CurrentVersion//Run。参考程序可以见下:(查找程序目录的执行文件,存在则进行添加注册表操作) //实用代码一int C***Dlg::CreateRun(void){//添加以下代码 HKEY R转载 2010-03-26 13:41:00 · 1442 阅读 · 0 评论 -
让VS2005中的fstream支持中文路径文件打开 (转)
让VS2005中的fstream支持中文路径文件打开 前几天发了这篇《用fstream对二进制文件的读写》,有朋友指出了VS2005的fstream对于中文路径支持不好的bug。我想大概是因为VS2005更加重视了对字符串的全球化支持,所以鼓励我们使用unicode编码的字符串,对于MBCS之类的支持可能就疏忽了吧。 我搜索了一下这个问题的解决,参考了如下资料写了演示代码。转载 2009-07-28 14:49:00 · 1170 阅读 · 0 评论 -
一个函数实现调节录音麦克风输入音量
头文件包含:#include "mmsystem.h"#pragma comment(lib, "winmm.lib")BOOL SetMicrPhoneVolume(DWORD dwVolume){ BOOL bResult = FALSE; try { int mixerNum = (int)mixerGetNumDevs(); for(int i = 0; i { DWO原创 2009-01-17 08:37:00 · 5747 阅读 · 4 评论 -
cmd常用命令
winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构(wmi) wupdmgr Windows更新程序 wscript Windows脚本宿主设置 write 写字板 winmsd 系统信息 wiaacmgr 扫描仪和照相机向导 winchat xp自带局域网聊天 mem.exe 显示内存使用情况 msconfig.exe 系统配置实用程序 mplayer转载 2008-10-26 22:18:00 · 2129 阅读 · 0 评论 -
[MFC]CString类型转换
1、CString 对象的连接 能体现出 CString 类型方便性特点的一个方面就字符串的连接,使用 CString 类型,你能很方便地连接两个字符串,正如下面的例子:CString gray("Gray");CString cat("Cat");CString graycat = gray + cat;要比用下面的方法好得多:char gray[] = "Gray";char cat[] =转载 2007-06-15 09:21:00 · 5966 阅读 · 1 评论 -
VC++常用数据类型及其操作详解
一. VC常用数据类型列表二. 常用数据类型转化2.1数学类型变量与字符串相互转换2.2 CString及string,char *与其他数据类型的转换和操作●CString,string,char*的综合比较●数学类型与CString相互转化●CString与char*相互转换举例●CString 与 BSTR转载 2007-06-15 09:05:00 · 1445 阅读 · 0 评论 -
Unicode与字符集函数
Unicode与字符集函数 近日闲来无事,前一阵子又被Unicode搞的焦头烂额,于是想看看MSDN吧!英文的看起来真费劲,为了以后省点劲,翻译总结了一下,备查。英文水平有限,如有出入,请参见MSDN。第一个就是宽字符到多字节字符转换函数,函数原型如下:int WideCharToMultiByte(UINT CodePage,DWORD dwFlags,LPCWSTR lpW转载 2007-06-14 18:22:00 · 1186 阅读 · 0 评论 -
获取错误码
CString FormartLastError(){ //if (Error==0) // Error=GetLastError(); LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |原创 2007-06-07 16:51:00 · 1373 阅读 · 0 评论 -
开机自动运行
BOOL SetAutoRun(CString strPath)//开机自动运行 { CString str; HKEY hRegKey; BOOL bResult; str=_T("Software//Microsoft//Windows//CurrentVersion//Run");原创 2007-06-07 16:48:00 · 962 阅读 · 0 评论 -
Unicode-enabling Microsoft C/C++ Source Code
Unicode-enabling Microsoft C/C++ Source CodeInitial Steps for Unicode-enabling Microsoft C/C++ Source· Define _UNICODE, undefine _MBCS if defined. · Convert literal strings to us转载 2007-07-28 14:23:00 · 1913 阅读 · 0 评论 -
在W2K中提升权限的几个攻击实例之成败心得
讲到Exploit都会涉及到提升权限的问题,所谓提升权限就是利用系统的漏洞来获得更高的Privilege。比如说,你用一般用户的账号登录Windows NT/Windows 2000后,你就只能作有限的操作,却不能加减用户,不能往系统目录中存写文件等等;但等到你通过系统的漏洞获得了Administrator或者Local System的权限以后,你也就可以作这些事了。我研究Exploit的时间原创 2007-06-26 15:28:00 · 1229 阅读 · 0 评论 -
判断是否有当前实例运行
//=========================================================================//// 功 能:判断是否有当前实例运行 //// 参 数:无原创 2007-01-13 09:52:00 · 931 阅读 · 2 评论 -
(转)用DirectDraw实现屏幕截图 [ 2004-05-03 ] 陈伟凡 出处:GameDev 目 录
在DirectDraw的非独占模式中,主表面即为当前屏幕。你可以直接Lock住主表面,从而取得主表面图象数据。但如果你要对大量的数据进行直接的操作,最好还是先在系统内存中建一个和主表面一样大小的后台表面。用BltFast把主表面复制一份到后台表面,然后锁住后台表面,再进行操作,这是因为CPU对显存的操作是什分慢的。1、初始化DirectDraw 你可以响应WM_CREATE消息,并在OnCrea转载 2009-05-25 23:27:00 · 2719 阅读 · 0 评论 -
ATL正则表达式库与CAtlRegExp的使用(转)
作者:淡月清风 日期:2009-05-26 正则表达式是最强大的文本解析工具之一,在ATL中也提供了一些用于正则表达式的类库(CATLRegExp等),本文将简要说明这些类库的使用方法。 1.CATLRegExp类声明:template class CAtlRegExp; 初始化:与微软的GRETA类库(微软研究院推出的另一个正则表达式类库)不同,原创 2009-08-19 10:21:00 · 5110 阅读 · 2 评论