zoukankan      html  css  js  c++  java
  • 黑客编程教程(十一)获得系统详细信息

    木马程序一般都能获得系统详细信息,下面的代码获得计算机名,内存容量,驱动器类型: 
     
    
    #include<stdio.h>
    
    #include<windows.h>
    
     
    
    void GetSysInfo();
    
     
    
    DWORD GetOS() 
    
    { 
    
    OSVERSIONINFO os; 
    
     
    
     
    
    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; 
    
    } 
    
    return 0;
    
    } 
    
     
    
    VOID GetSysInfo() 
    
    { 
    
    TCHAR szBuff[MAX_PATH]; 
    
    TCHAR szTemp[MAX_PATH]; 
    
     
    
     
    
    wsprintf(szBuff,"
    
    
    <<System Information>>
    
    
    "); 
    
    printf("%s",szBuff);
    
     
    
    //计算机名 
    
    DWORD len=sizeof(szTemp); 
    
    GetComputerName(szTemp,&len); 
    
    wsprintf(szBuff,"Computer Name: %s
    
    
    ",szTemp); 
    
    printf("%s",szBuff);
    
     
    
    //当前操作系统 
    
    switch(GetOS()) 
    
    { 
    
    case VER_PLATFORM_WIN32_WINDOWS: 
    
    lstrcpy(szTemp,"Windows 9x"); 
    
    break; 
    
    case VER_PLATFORM_WIN32_NT: 
    
    lstrcpy(szTemp,"Windows NT/2000"); 
    
    break; 
    
    } 
    
    wsprintf(szBuff,"Option System: %s
    
    
    ",szTemp); 
    
    printf("%s",szBuff);
    
     
    
    //内存容量 
    
    MEMORYSTATUS mem; 
    
    mem.dwLength=sizeof(mem); 
    
    GlobalMemoryStatus(&mem); 
    
    wsprintf(szBuff,"Total Memroy: %dM
    
    
    ",mem.dwTotalPhys/1024/1024+1); 
    
    printf("%s",szBuff);
    
     
    
    //系统目录 
    
    TCHAR szPath[MAX_PATH]; 
    
    GetWindowsDirectory(szTemp,sizeof(szTemp)); 
    
    GetSystemDirectory(szBuff,sizeof(szBuff)); 
    
    wsprintf(szPath,"Windows Directory: %s
    
    
    System Directory: %s
    
    
    ",szTemp,szBuff); 
    
    printf("%s",szBuff);
    
     
    
    //驱动器及分区类型 
    
    TCHAR szFileSys[10]; 
    
     
    
    for(int i=0;i<26;++i) 
    
    { 
    
    wsprintf(szTemp,"%c:\",'A'+i); 
    
    UINT uType=GetDriveType(szTemp); 
    
    switch(uType) 
    
    { 
    
    case DRIVE_FIXED: 
    
    GetVolumeInformation(szTemp,NULL,NULL,NULL,NULL,NULL,szFileSys,MAX_PATH); 
    
    wsprintf(szBuff,"Hard Disk: %s (%s)
    
    
    ",szTemp,szFileSys); 
    
    printf("%s",szBuff);
    
    break; 
    
    case DRIVE_CDROM: 
    
    wsprintf(szBuff,"CD-ROM Disk: %s
    
    
    ",szTemp); 
    
    printf("%s",szBuff);
    
    break; 
    
    case DRIVE_REMOTE: 
    
    GetVolumeInformation(szTemp,NULL,NULL,NULL,NULL,NULL,szFileSys,MAX_PATH); 
    
    wsprintf(szBuff,"NetWork Disk: %s (%s)
    
    
    ",szTemp,szFileSys); 
    
    printf("%s",szBuff);
    
    break; 
    
    } 
    
    } 
    
     
    
    } 
    
    int main(void )
    
    {
    
    GetSysInfo();
    
    return 0;
    
     
    
    }
  • 相关阅读:
    pm2 配置
    添加项目到远程服务器(git)
    psql 命令行使用
    SQL
    iOS AFNetworking 打印从服务器返回的错误提示信息
    iOS 获取网络图片的大小
    iOS 10 常见配置的问题
    LGLTagsView
    xcode8 关闭控制台打印不用信息
    LGLProgressHUD
  • 原文地址:https://www.cnblogs.com/rinack/p/3195652.html
Copyright © 2011-2022 走看看