1

autohotkey を使用して、自分のコンピューターで utilman を介して簡単なバックドアを作成しようとしています。基本的に、Mキーを押したままにしている場合を除いて、ログイン画面のすべての場合にアクセスボタンの機能を通常どおりにしたいのですが、この場合は代わりにcmdが開きます。バッチまたはコマンド ウィンドウがポップアップすることはありません。私が抱えている問題は、スクリプトからファイルが見つからないというエラーが発生することです。スクリプトを Utilman.exe にコンパイルし、実際の utilman のコピーでテストしました (実行するスクリプトで指定されている lol.exe に名前を変更しました)。通常)、これは独自のディレクトリで正常に機能します。ただし、system32フォルダーでこれを行うと、lol.exeが見つからないというエラーが発生し、lol.exeを単独で実行すると、Utilmanという名前のスクリプトに再度ルーティングされるかのように、まったく同じエラーが発生します。これがスクリプトです。

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

ポインタ、代替提案、またはアイデアをありがとう。これは、仕事をするのに最適です。

編集: Run lol.exe を Run、「C:\Windows\System32\lol.exe」に変更すると、代わりに exe 破損エラーが発生します。これは、lol.exe を単独で実行した場合にも発生します。何が起こっているのか本当にわかりません。

EDIT2: 別の場所からスクリプトを再度実行すると、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破損エラーが発生します。これはイライラします。

4

1 に答える 1

0

少し違うアプローチを提案します。OSがバックグラウンドで何をしているのかを実際に知ることができないため(ハッシュサムのチェック、特定の出力の期待など)、フォルダー内の置き換えutilman.exeまたは基本的に何かを行うことはお勧めできません。 Windows フォルダー内のファイルを操作する必要なく、必要な実行可能ファイルで Utilman を置き換えるより良い方法があります。レジストリには、. これにより、基本的にexeを名前で置き換えることができます。これは一意でない名前では問題になる可能性がありますが、問題が発生する可能性は低いと思います.system32
Image File Execution Optionsutilman.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

utilman.exe3) (左側のフォルダ ビューで) という新しいキーを追加し、その中に というキーを追加しますDebugger。その値を、代わりに実行したい exe の二重引用符で囲まれたパスに設定します"C:\some\file.exe"。次のようになります (ドイツ人には申し訳ありません)。 レジストリ

呼び出された実行可能ファイルが開始されるたびに、置換が実行されるようになりutilman.exeました。

4) 簡単操作ボタン をクリックします。CMD は、クリックするM前に押したままにした場合と、クリックした直後に押した場合に開きます。Sleep上記のスクリプトの を変更して、キーが押されるまでの待機時間を指定します。

アップデート:

私は今あなたの問題を理解しています。ロック画面から、それは機能していないようです。興味深いことに、ロック画面では、コントロール パネルや、Windows の標準機能 ( [マイ コンピュータ] を開くなど) から開くことさえできません。ロック中にcmdから次のことを試しました:explorer.exeを開き、表示されるスタートメニューをクリックして、コントロールパネルを開きます。また、スタート メニューから Internet Explorer を開き、 を押しF1ました。
しばらくすると、自由に翻訳された「サーバーの起動に失敗しました」という奇妙なエラー メッセージが表示されます。
アクセスの容易さを実行するには、私が試した方法を除いて、いくつかの方法で実現できます。

Run, control.exe /name Microsoft.EaseOfAccessCenter 

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

どちらもログイン中は機能しますが、画面がロックされている間はどちらも機能せず、サーバー起動エラーが発生します。残念ながら、私はここで機知に富んでいます。他の誰かがアイデアを持っているかもしれません...

于 2013-10-03T12:23:14.583 に答える