検出softiceを呼び出しint 68h
ここでのプレゼンスを検出する方法のsofticeメモリを呼び出してintの値43hを呼び出す前に含まれるint斧を登録しています。 68 h. あぁ、登録する必要があり68hます。 もしsofticeがアクティブなメモリには、戻り値0f386hは これはよく知られていないメソッドを検出softiceが安全でよく使用されるだけでwindows 9xをします。 を参照して行動することができ、例えば、 safedisc : .386 します。フラットモデル、 stdcall地元 ジャンプ ユニコード= 0 含めるw32.inc extrn setunhandledexceptionfilter :名proc 。データmessage3 message2 delayesp前です。コードのdb "を呼び出すことによって検出int 68h " 、 0のdb " softice見つかりません"という、 0のdb " softiceが見つかりません" 、 0 ddの0 ; espレジスタを保存してここにddの0 ; espのアドレスの登録は、保存して;前のページsehサービス 出発点: ;------------------------------------------------- ------------------------------------------------ ;セットsehエラーの場合は ;------------------------------------------------- ------------------------------------------------ のmov [ delayesp ] 、 esp プッシュオフセット誤差 コールsetunhandledexceptionfilter [前のページ]のmov 、のeax ;------------------------------------------------- ------------------------------------------------ ;新しいアドレスを構造化例外処理( seh )は、ここを設定することを確認している場合は;エラーが発生した場合、プログラムは引き続きエラーからラベルが終了すると正しくします。 これは重要;たとえば、このプログラムは、割り込みの呼び出しが行われ正しくしている場合にのみsoftice ;がアクティブで、これは、プログラムのクラッシュの原因となるとエラーが発生した場合softiceではありませんアクティブにします。 最後に、 ;前のsehサービスのアドレスは保存されます。 ;------------------------------------------------- ------------------------------------------------あぁ、 43 h int 68hプッシュのeax ;サービスの番号;呼び出しint 68h中断;戻り値を保存する ;------------------------------------------------- ------------------------------------------------ ;セット前sehサービス;---------------------------------------------- -------------------------------------------------- -プッシュd wordのp trに変更[前のページ] コールsetunhandledexceptionfilter ;------------------------------------------------- ------------------------------------------------ ;セット元のアドレスsehサービス ;------------------------------------------------- ------------------------------------------------ ポップのeax ;元に戻すの戻り値を設定cmp斧、 0f386h ;テストをしているかどうかを戻り値は ; "マジックナンバー" ;------------------------------------------------- ------------------------------------------------ ;場合softiceがアクティブなメモリには、戻り値がf386hの斧登録してください。 ;------------------------------------------------- ------------------------------------------------ jz bratのジャンプ;もしはい、このプログラムのためsofticeはジャンプ ;アクティブなメモリ 続行: コールのmessageboxa 、 0 、オフセットmessage2 、 \オフセットmessage1 、 0 ;戻り値だった場合以外f386h 、 ; softice見つかりませんでしたし、エラーメッセージが表示さ;が表示されます。 コールexitprocess 、 -1 ;このプログラムを終了 ジャンプ: コールのmessageboxa 、 0 、オフセットmessage3 、 \オフセットmessage1 、 0 ;版画というメッセージが表示さsofticeが見つかりました。 いかなる;この点からコードをたどる場合があります。 コールexitprocess 、 -1 ;エラーが発生し、プログラムを終了: ; seh新しいサービスを開始した場合はエラーとなります。 のmov esp 、 [ delayesp ] オフセットを押し続けるret ;エラーが発生した場合は、プログラム、 seh ;このプログラムでは、継続していることを確認してから;ラベルにエラーが発生しました。 終了 エンドスタート ;プログラムの終わり これは、記事を追加したサムpetrone
|
|||
|