Load and Unload (ZT)
摘要: 一、前言
在前一段时间,我遭遇了一个现象诡异的Bug,最后原因归结为在DllMain里错误地调用了FreeLibrary(在本文最后对此Bug有详细的解释)。MSDN里关于禁止在DllMain里调用 LoadLibrary和FreeLibrary的解释过于含糊不清,所以我重温了一遍Russ Osterlund的"Windows 2000 Loader"一文,并仔细阅读了泄漏的Win2000源代码的相关部分。按照我一贯的习惯,我的阅读过程形成了我这篇文章的主体。自从我2000年写了"ATL接口映射宏详解" 以来,我还没写过这么大块头的文章。我不知道有多少人耐着性子看完了"ATL接口映射宏详解",我猜想这篇文章的命运也不会比它的前辈好多少。在这个技术更新越来越快的年代里,人们会对这种陷入实现细节的文章感到厌烦,而我自己在若干年后可能也不会有耐心和勇气面对它,但文章最后对几个问题的解释也还是有实用价值的,另外寻根究底的精神也总是应该存在的。
..............
阅读全文
Windows NT使用技巧、编程原理及程序示例(ZT)
摘要: 1. 利用Net User命令和Cacls命令做用户管理
2. 利用At命令做日程管理
3. 利用用户登录脚本实现开机提示
4. 利用Net Session命令实现登录用户统计
5. Windows NT局域网管理API函数库(NETAPI)简介
6. 怎样添加、删除、配置用户?
7. 怎样修改用户口令?
8. 怎样编程实现用户的注销和关机?
9. 怎样获取所有登录用户列表?
10. 怎样向用户或计算机发送消息?
11. 怎样实现远程关闭计算机?
12. UNICODE字符串和普通ASCII字符串怎样转换?
13. 如何获取系统错误信息?
14. 什么是Service(服务)程序?
15. 如何使自己的应用程序成为Service?
16. 如何编制Service程序?
..................
阅读全文
LNK1103: debugging information corrupt; recompile module
摘要: Linking...
Creating library Debug/xxx.lib and object Debug/xxx.exp
uuid.lib(comcat.obj) : fatal error LNK1103: debugging information corrupt; recompile module
Error executing link.exe.
.........
阅读全文
控制台下输出DLL的调试信息(ZT)
摘要: 在cmd.exe下运行rundll32.exe mydll.dll,MyFunc ,本想直接在当前cmd窗口输出调试信息.
可因rundll32是Win32 GUI程序而非Win32 console,所以cmd.exe标准输入输出句柄无法被mydll.dll继承用来向父进程cmd.exe输出数据.
这时, 如果用强行用GetStdHandle获得句柄,然后用WriteConsole来进行输出,则会发生无效句柄错误.
但是如果在这之前先AllocConsole,则可正常WriteConsole,但是会新建个控制台窗口来输出数据,很不爽 :-P
有没有什么办法向当前cmd.exe窗口输出数据呢?
.............
阅读全文
char *和char [ ]的区别(ZT)
摘要: 见程序如下:
#include "stdafx.h"
#include "string.h"
#include "stdio.h"
int main(int argc, char* argv[])
{
char source[]="This is a source sentence";
//char *source="This is a source sentence";
strtok(source,"a");
printf("%s\n",source);
return 0;
}
如果用被注释掉的那句话,程序运行的时候就报错。
................
阅读全文
Windows下的进程隐藏(ZT)
摘要: 9X环境中Windows提供了想光的API函数用于隐藏系统进程。但是到了2000以上系统,已经无法真正的做到对于进程的隐藏,除非编写底层驱动。但是我们可以通过一些变通的办法来达到隐藏进程的目的,其中一个就是远程注入。简单的说就是先编写一个 API的DLL,然后将这个DLL库注入到一个系统进程中,作为它的一个线程去执行。
要实现DLL注入,首先需要打开目标进程。
hRemoteProcess = OpenProcess( PROCESS_CREATE_THREAD | //允许远程创建线程
PROCESS_VM_OPERATION | //允许远程VM操作
PROCESS_VM_WRITE, //允许远程VM写
FALSE, dwRemoteProcessId )
...........
阅读全文
ApiHook类(ZT)
摘要: // 头文件
// ApiHook.h: interface for the CApiHook class.
//
//////////////////////////////////////////////////////////////////////
#ifndef API_HOOK_H
#define API_HOOK_H
class CApiHook
{
public :
HANDLE hProc ;
............
阅读全文
APIHOOK之拦截OpenProcess(真正的实现了拦截TerminateProcess)(ZT)
摘要:
关于API HOOK(OpenProcess),根据网上文章改写
以下是部分程序,在VC++6.0 Plat SDK 2003 SP1下编译通过
#include <windows.h>
#include "APIHook.h"
extern CAPIHook g_OpenProcess;
// 自定义OpenProcess函数
#pragma data_seg("YCIShared")
HHOOK g_hHook = NULL;
DWORD dwCurrentProcessId=0;
#pragma data_seg()
HANDLE WINAPI Hook_OpenProcess(DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId)
.................
阅读全文
APIHOOK之杀毒软件的简单实现(ZT)
摘要: #define DEBUGMSG
#include <windows.h>
#include <windef.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include "Psapi.h"
#pragma comment (lib,"Psapi.lib")
#define erron GetLastError ()
TCHAR name[50]=""; //保存虫虫的文件名+路径
FILE *Gfp=NULL; //输出到文件
BOOL ScanVXER (LPTSTR V_FileName,long V_FileOffset,int V_Length,TCHAR *V_Contents);
//匹配特征码函数
.......................
阅读全文
应用层隐藏服务的项目(ZT)
摘要: 应用层隐藏服务的项目 2006-03-28
HideService
// *****************************************************************************//
//
// 文件名: AgentHk.cpp
// 所属项目名称:
// 所属模块名称: AGENT Service Hook
// 所属项目版本: 2.0
// 文件用途 :
// 文件作者 : horse_b
// 创建日期 : 2004-11-30
//
// 文件修改说明:
// 文件修改人:
// 修改日期:
//
//
//
//********************************************************************************//
.............
阅读全文
启动项新思路
摘要: 前几天我看了一篇技术文章,是讲述一种病毒的感染运行机制。原文中提到了一个木马启动的新的思路。(文章是两年前的,唉,看来我们要学的东西好多阿)也许某些 ~高手已经会了,但是很多人也不知道。我整理出来,结合我自己的试验,给大家简单介绍一下。作为一个小教程,本文不涉及程序方面的知识,菜鸟老鸟都能看明白的。暂时我们只针对XP和2000系统。其他的系统我没测试过,不敢乱说!
一般大家机器里都会有QQ吧,我们就用QQ来做试验!!?
直接在开始菜单里找到运行栏,输入regedit,打开注册表编辑器。找到
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options]
.........
阅读全文
WSUS3安装完毕,WSUS.MSC不能执行
摘要: 风马牛不相及的垃圾提示:
MMC 不能打开文件 C:\Program Files\Update Services\administrationsnapin\wsus.msc。
这可能是由于文件不存在,不是一个 MMC 控制台,或者用后来版本的 MMC 创建。也可能是由于您没有访问此文件的足够权限。
解决方法:
安装KB907265补丁,中文Windows2003补丁地址为:http://download.microsoft.com/download/4/4/3/443ecb98-2394-4c92-b9e6-c50998edb8cf/WindowsServer2003-KB907265-x86-CHS.exe
阅读全文
WSUS3安装中途出错
摘要: 2007-05-15 18:19:20 Success MWUSSetup Validating pre-requisites...
2007-05-15 18:19:21 Error MWUSSetup Failed to determine if an higher version of WSUS is installed. Assuming it is not... (Error 0x80070002: 系统找不到指定的文件。)
2007-05-15 18:19:24 Success MWUSSetup Required MMC Version: 3. Current MMC Version: 2
2007-05-15 18:19:24 Success MWUSSetup Required MMC Version: 3. Current MMC Version: 2
2007-05-15 18:19:57 Success MWUSSetup
阅读全文
Vista错误删除了备份驱动目录FileRepository后解决方法
摘要: 网上的东西真是没多少可以相信的,我的Vista删除了FileRepository目录之后,USB不能用了,蓝牙不能用了,设备管理器一堆感叹号,更新驱动,塞Vista安装盘也没用,折腾了N久了,最近终于解决了(不要随便相信所谓的“减肥”)
下载IMAGEX6000
将VISTA安装光盘中的WIM文件解压
以管理员模式运行命令提示符 IMAGEX.EXE /APPLY X:\SOURCES\INSTALL.WIM 4 X:\A 路径自己改,目录需先手工创建,4为U版
完成后把X:\A\Windows\System32\DriverStore\FileRepository中的文件复制回去就行了,不用重装系统!
真想减肥,使用NTFS压缩方式压缩一下,其他就算了,以防万一
阅读全文
网页木马US-ASCII码,unicode码的加密解密(ZT)
摘要: 转载:二少's Blog
US-ASCII加密,就是把7bit转换为8bit
阅读全文