① win8)有無辦法多開某個應用 比如某個網路游戲
有 多建立幾個用戶一個用戶開一個 如果你開網游的話建議弄個游戲多開器
第一,進程隱藏
部分游戲通過探測游戲客戶端進程是否已經存在來防止重復打開,如游戲:英雄美人 游戲多開的辦法為啟動一個游戲客戶端後,將該游戲的進程隱藏,只保留一個或多個。
第二,窗口標題修改(使用FindWindow API函數)
部分游戲通過探測游戲客戶端的窗口是否已經存在來防止重復打開。 游戲多開的辦法為將游戲的窗口修改為任意字元。
第三,埠隱藏
部分游戲通過默認打開TCP或者UDP埠監聽,開第二個游戲的時候會打開埠失敗從而判斷游戲是否多開。
游戲多開的方法為此類需要採用netstat –a –n –o 命令查看埠即可實現游戲多開。
第四,多個游戲目錄
部分游戲通過獨占文件訪問來防止重復打開。
游戲多開的方法為復制游戲客戶端到另外的文件夾,在另外的文件夾打開即可。
第五,多個操作系統賬號(僅限XP系統)
部分游戲通過限制一個用戶只能打開一個游戲來防止重復打開。
游戲多開的方法為在系統賬號裡面多建立賬號,一個游戲使用一個賬號。方法如下: 1、打開控制面版→用戶帳戶→創建一個新帳戶→輸入新帳戶名(下一步)→創建帳戶; 2、然後到桌面的游戲快捷圖標上右鍵到[屬性] 選[高級] 把裡面[以其他用戶身份運行]這個選項勾上 開第2個程序的時候記得用你新建的用戶進就可以了,省的老去切換用戶了。
第六,互斥體。
部分游戲通過互斥對象/信號量/事件等線程同步對象來確定程序是否已經運行。最常用的函數如:CreateMutexA。
1、首先創建一個互斥體,CreateMutex函數,第一個參數可以設置為NULL,第二個參數必須設置為false,第三個參數表示互斥體的名稱,這個名稱最好有一些特殊標識以防止與其他應用程序沖突,比如程序名+時間。
2、使用GetLastError()函數判斷錯誤信息是否為ERROR_ALREADY_EXISTS,如果是,則表示程序已經啟動。
游戲多開的方法有二種,一為發現互斥體,然後關閉互斥體即可實現多開。二為APIHOOK,接收到錯誤信息時,加重置命令(置錯誤碼=0)即可。QQ游戲,天龍八部==最常見的類型
② 互斥體的創建
在VC中,我們用CreateMutex函數創建互斥體。
HANDLE WINAPI CreateMutex(
__in_opt LPSECURITY_ATTRIBUTES lpMutexAttributes,
__in BOOL bInitialOwner,
__in_opt LPCTSTR lpName
);
③ v5程序多開器原理
v5程序多開器原理是:利用互斥體。v5程序多開器通過互斥對象、信號量、事件等線程同步對象來確定程序是否已經運行。最常用的函數如:CreateMutexA。
v5程序多開器創建一個互斥體,CreateMutex函數,第一個參數可以設置為NULL,第二個參數必須設置為false,第三個參數表示互斥體的名稱,這個名稱最好有一些特殊標識以防止與其他應用程序沖突,比如程序名+時間。
使用GetLastError()函數判斷錯誤信息是否為ERROR_ALREADY_EXISTS如果是,則表示程序已經啟動。
多開的方法有二種,一為發現互斥體,然後關閉互斥體即可實現多開。二為APIHOOK,接收到錯誤信息時,加重置命令(置錯誤碼=0)即可。
共享節法突破多開的方法是:
思路是共享節中的某個數據用來判斷是否運行過實例,我們可以捕捉訪問該段的代碼。
OD載入ALT+M顯示內存,這里可以看到許多段,選中Shared段右鍵在訪問上設置中斷,對整個內存塊設置該類型斷點,這個斷點是一次性斷點,當所在段被讀取或執行時就中斷,中斷發生後,斷點將被刪除。F9運行程序來到下面。
004F0E5C 833D 00407000 0>CMP DWORD PTR DS:[704000],0 004F0E63 75 0E JNZ SHORT 共享節單.004F0E73。
轉到004F0E73這個地址我們看到有ExitProcess,可以斷定這兩句代碼就是拿出共享段中得某個數據與0比較來判斷是否有實例運行,我們將其JNZ NOP掉,讓其永遠不會跳轉,保存修改,成功多開。