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

📄 cooperator.h

📁 iceSword冰刀杀木马程序
💻 H
📖 第 1 页 / 共 2 页
字号:
//    [out] 用于保存返回值的缓冲,宽字符串. 
//  len
//    [in] 缓冲大小.
//
//返回值:成功则返回TRUE.
//
//备注:
/////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllimport) BOOL IsdQueryProcessFileName(
                                            DWORD Pid, 
                                            char *FileName, 
                                            int len);

/////////////////////////////////////////////////////////////////////
////IsdGetModuleFileName
//
//目的:获取指定进程的指定模块的文件路径名
//
//参数:
//  Pid
//    [in] 进程PID
//  hModule
//    [in] 模块句柄
//  lpFilename
//    [out] 用于保存返回值的缓冲,宽字符串. 
//  nSize
//    [in] 缓冲大小.
//
//返回值:成功则返回TRUE.
//
//备注:
/////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllimport) BOOL IsdGetModuleFileName(
                                            DWORD Pid, 
                                            HMODULE hModule, 
                                            LPTSTR lpFilename, 
                                            DWORD nSize);

/////////////////////////////////////////////////////////////////////
////IsdCreateFile
//
//目的:创建或打开文件(目录也是特殊的文件)
//
//参数:
//  lpFileName
//    [in] 文件路径全名. 
//  dwDesiredAccess
//    [in] 文件访问权限.
//  dwShareMode
//    [in] 共享模式.
//  lpSecurityAttributes
//    [in] 始终为NULL.
//  dwCreationDisposition
//    [in] 创建打开部署.
//  dwFlagsAndAttributes
//    [in] 标志属性.
//  hTemplateFile
//    [in] 始终为NULL.
//
//返回值:成功则返回打开句柄,否则返回INVALID_HANDLE_VALUE.
//
//备注:它是系统API CreateFile的子集,使用上差不多,需要注意的是:
//    1、lpSecurityAttributes、hTemplateFile不支持,应传入NULL.
//    2、只能用它来创建或打开硬盘文件.
//    3、对它来说文件访问权限dwDesiredAccess其实没有什么意义,默认
//       就有所有的权限,一般传入0就好.
//    4、传回的句柄是由IceSword维护的,并不是windows内核句柄,不能
//       用它来使用系统api.
//    6、IceSword限制了每个协件进程的句柄表大小,文件、注册表仅可打
//       开1000个句柄.
//    5、一定要传入文件路径全名.
/////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllimport) HANDLE IsdCreateFile(
                                            LPCSTR lpFileName,
                                            ULONG dwDesiredAccess,
                                            ULONG dwShareMode,
                                            PVOID lpSecurityAttributes,
                                            ULONG dwCreationDisposition,
                                            ULONG dwFlagsAndAttributes,
                                            HANDLE hTemplateFile);

/////////////////////////////////////////////////////////////////////
////IsdFindFile
//
//目的:枚举目录
//
//参数:
//  hFile
//    [in] 目录句柄,由IsdCreateFile返回. 
//  lpFindFileData
//    [out] ISD_WIN32_FIND_DATA结构指针.
//  ReSet
//    [in] 重置.
//
//返回值:成功则返回TRUE.
//
//备注:它将系统API FindFirstFile、FindNextFile功能集合在一起:
//    1、ReSet为TRUE则从第一个文件从头枚举.
//    2、置ReSet为FALSE重复调用IsdFindFile则可枚举hFile所指目录的所
//       有文件,请看示例.
/////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllimport) BOOL IsdFindFile(
                                            HANDLE hFile,
                                            PISD_WIN32_FIND_DATA lpFindFileData,
                                            BOOL ReSet);

/////////////////////////////////////////////////////////////////////
////IsdCloseHandle
//
//目的:关闭句柄
//
//参数:
//  hFile 
//    [in] 文件或目录句柄. 
//
//返回值:成功则返回TRUE.
/////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllimport) BOOL IsdCloseHandle(HANDLE hFile);

/////////////////////////////////////////////////////////////////////
////IsdReadFile
//
//目的:读文件
//
//参数:
//  hFile
//    [in] 文件句柄. 
//  lpBuffer
//    [out] 读缓冲.
//  nNumberOfBytesToRead
//    [in] 需要读取的大小.
//  lpNumberOfBytesRead
//    [out] 成功后返回实际读取大小.
//  lpOverlapped
//    [in] 始终为NULL.
//
//返回值:成功则返回TRUE.
//
//备注:它是系统API ReadFile的子集,使用上差不多,需要注意的是:
//    1、lpOverlapped不支持,应传入NULL.
/////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllimport) BOOL IsdReadFile(
                                            HANDLE hFile,
                                            PVOID lpBuffer,
                                            ULONG nNumberOfBytesToRead,
                                            PULONG lpNumberOfBytesRead,
                                            LPOVERLAPPED lpOverlapped);

/////////////////////////////////////////////////////////////////////
////IsdWriteFile
//
//目的:读文件
//
//参数:
//  hFile
//    [in] 文件句柄. 
//  lpBuffer
//    [out] 写缓冲.
//  nNumberOfBytesToWrite
//    [in] 需要写入的大小.
//  lpNumberOfBytesWritten
//    [out] 成功后返回实际写入大小.
//  lpOverlapped
//    [in] 始终为NULL.
//
//返回值:成功则返回TRUE.
//
//备注:它是系统API WriteFile的子集,使用上差不多,需要注意的是:
//    1、lpOverlapped不支持,应传入NULL.
/////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllimport) BOOL IsdWriteFile(
                                            HANDLE hFile,
                                            PVOID lpBuffer,
                                            ULONG nNumberOfBytesToWrite,
                                            PULONG lpNumberOfBytesWritten,
                                            LPOVERLAPPED lpOverlapped);

/////////////////////////////////////////////////////////////////////
////IsdSetFilePointerEx
//
//目的:设置打开文件的指针位置
//
//备注:它与系统API SetFilePointerEx用法相同,不赘述.
/////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllimport) BOOL IsdSetFilePointerEx(
                                            HANDLE hFile,
                                            LARGE_INTEGER liDistanceToMove,
                                            PLARGE_INTEGER lpNewFilePointer,
                                            ULONG dwMoveMethod);

/////////////////////////////////////////////////////////////////////
////IsdGetFileSizeEx
//
//目的:设置打开文件的指针位置
//
//备注:它与系统API GetFileSizeEx用法相同,不赘述.
/////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllimport) BOOL IsdGetFileSizeEx(
                                            HANDLE hFile,
                                            PLARGE_INTEGER lpFileSize);

/////////////////////////////////////////////////////////////////////
////IsdGetFileTime
//
//目的:设置打开文件的指针位置
//
//备注:它与系统API GetFileTime用法相同,不赘述.
/////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllimport) BOOL IsdGetFileTime(
                                            HANDLE hFile,
                                            LPFILETIME lpCreationTime,
                                            LPFILETIME lpLastAccessTime,
                                            LPFILETIME lpLastWriteTime);

/////////////////////////////////////////////////////////////////////
////IsdSetFileTime
//
//目的:设置打开文件的指针位置
//
//备注:它与系统API SetFileTime用法相同,不赘述,但注意这个函数3个指
//      针都不能为空.
/////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllimport) BOOL IsdSetFileTime(
                                            HANDLE hFile,
                                            const FILETIME *lpCreationTime,
                                            const FILETIME *lpLastAccessTime,
                                            const FILETIME *lpLastWriteTime);

extern "C" __declspec(dllimport) LONG IsdSetInformationFile(
                                            HANDLE hFile,
                                            PVOID  FileInformation,
                                            ULONG  Length,
                                            FILE_INFORMATION_CLASS  FileInformationClass);

extern "C" __declspec(dllimport) LONG IsdQueryInformationFile(
                                            HANDLE hFile,
                                            PVOID  FileInformation,
                                            ULONG  Length,
                                            FILE_INFORMATION_CLASS  FileInformationClass);

extern "C" __declspec(dllimport) INT IsdReadProcessMemory(
                                            DWORD pid, 
                                            PVOID BaseAddress, 
                                            PVOID Buf, 
                                            UINT Len);

extern "C" __declspec(dllimport) INT IsdWriteProcessMemory(
                                            DWORD pid, 
                                            PVOID BaseAddress, 
                                            PVOID Buf, 
                                            UINT Len);

//
////使用IsdOpenKey打开的句柄也应使用IsdCloseHandle关闭。对注册表 协件dll中暂时只导出这几个,见谅:)
////使用上比较麻烦,参考例子
//
extern "C" __declspec(dllimport) BOOL IsdOpenKey(
                                            OUT PHANDLE KeyHandle,
                                            IN ACCESS_MASK DesiredAccess,
                                            IN HANDLE RootDirectory,
                                            IN PWCHAR KeyName);

extern "C" __declspec(dllimport) NTSTATUS IsdEnumerateKey(
                                            IN HANDLE KeyHandle,
                                            IN ULONG Index,
                                            IN KEY_INFORMATION_CLASS KeyInformationClass,
                                            OUT PVOID KeyInformation,
                                            IN ULONG Length,
                                            IN PULONG ResultLength);

extern "C" __declspec(dllimport) NTSTATUS IsdEnumerateValueKey(
                                            IN HANDLE KeyHandle,
                                            IN ULONG Index,
                                            IN KEY_VALUE_INFORMATION_CLASS KeyInformationClass,
                                            OUT PVOID KeyInformation,
                                            IN ULONG Length,
                                            IN PULONG ResultLength);

#endif

⌨️ 快捷键说明

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