2013-10-03 35 views
1

我正嘗試通過使用autohotkey的計算機上的utilman爲我自己創建一個簡單的後門程序。 基本上我想在所有情況下在登錄屏幕上都能夠輕鬆訪問按鈕功能除非我按住M鍵,在這種情況下它將打開cmd。 不應該彈出批處理或cmd窗口,其中一個不會彈出。 我遇到的問題是,我從腳本中找到了文件未找到的錯誤,我將腳本編譯爲Utilman.exe並使用真實utilman的副本進行了測試(重命名爲lol.exe,該腳本在腳本中指定爲正常運行),這在它自己的目錄中工作正常。但是,當我在system32文件夾中執行此操作時,會出現lol.exe未找到的錯誤,同時自行執行lol.exe也會產生完全相同的錯誤,就好像它再次重新路由到名爲Utilman的腳本。 這裏是腳本,應該是短期和簡單的:AHK utilman腳本給出文件未找到錯誤

SetWorkingDir %A_ScriptDir% 
Sleep 400 
GetKeyState, state, m 
if state = D 
    Run cmd.exe 
else 
    Run lol.exe 
Sleep 200 
ExitApp 

感謝任何指針,替代建議或想法。這將是很好的工作。

編輯:更改 運行lol.exe 到 運行 「C:\ WINDOWS \ SYSTEM32 \ lol.exe」 現在給,而不是一個exe損壞的錯誤。 這也發生,如果我運行它自己的lol.exe, 我真的不知道發生了什麼。

編輯2:從另一個位置運行腳本再次給出文件未找到錯誤,而不是exe損壞的錯誤。

EDIT3:

SetWorkingDir %A_ScriptDir% 
Sleep 400 
GetKeyState, state, m 
if state = D 
    Run cmd.exe 
else 
    Run %A_WinDir%\system32\control.exe access.cpl 
Sleep 200 
ExitApp 

這完美的作品隨處可見,除了system32文件夾下,它給人即使與提升的權限運行exe文件損壞的錯誤,這是令人沮喪的。

+0

您是否嘗試過使用提升的權限執行腳本?如果lol.exe位於您的個人資料文件夾中,就像我的文檔一樣,腳本是否可以正常工作? – jmstoker

+0

是的,似乎Utilman exe以某種方式循環回自己並給出了一個錯誤。將其重命名爲lol.exe會導致exe文件錯誤,文件正常工作的唯一方式是如果它自己單獨鏈接。是否有一個特定的cpl爲便於訪問中心,我可以打開腳本代替使用Utilman.exe? – user2840898

回答

0

我建議稍微不同的方法。替換utilman.exe或基本上system32文件夾中的任何內容都不是一個好主意,因爲您無法真正瞭解操作系統在後臺執行的操作(例如,檢查哈希,希望獲得特定的輸出等)。
有一種更好的方法可以用你想要的任何可執行文件替換Utilman,而無需操縱Windows文件夾中的任何文件:註冊表提供了一個名爲Image File Execution Options的選項。這基本上可以讓你用名字替換一個exe。雖然這可能是非獨特的名稱有問題,但我相信utilman.exe不太可能遇到問題。

1)編輯您的腳本任何你想要的。我建議使用下面的代碼作爲基礎:

Sleep, 1000 
; Here's what you want to do/run instead of cmd: 
Run, calc.exe 
ExitApp 

m:: 
    Run, % comspec 
    ExitApp 
return 

2)在註冊表,請訪問:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

3)添加一個新的關鍵稱爲utilman.exe(在文件夾視圖在左邊),並在其中添加一個名爲Debugger的密鑰。將其值設置爲您希望運行的exe雙引號的路徑,例如"C:\some\file.exe"。它看起來就像這樣(對不起,德國): Registry

你更換現在只要運行一個可執行稱爲utilman.exe開始。

4)點擊訪問易用按鈕。當您點擊之前按住M,並在點擊之後按下時,CMD將打開。修改上述腳本中的Sleep以規定等待按鍵的時間。

更新:

我現在得到你的問題。從鎖定屏幕,它似乎並沒有工作。有趣的是,當你在鎖屏時,你甚至無法打開控制面板或任何類似於Windows標準功能的開關(如打開我的電腦)。我在鎖定狀態下從cmd嘗試了以下操作:打開explorer.exe,單擊出現的開始菜單,打開控制面板。我也從開始菜單打開Internet Explorer並按下F1
過了一段時間,出現一個奇怪的錯誤消息,說自由翻譯:「啓動服務器失敗」
運行四通八達的交通網絡可在severval方式來實現,但不包括你的方法我試過:

Run, control.exe /name Microsoft.EaseOfAccessCenter 

Run rundll32.exe shell32.dll`,Control_RunDLL access.cpl 

兩個工作,同時登錄,但他們沒有工作,同時屏幕被鎖定,觸發服務器啓動錯誤。不幸的是,我在我的機智終結了。也許別人有一個想法...