|
|
ここでのプレゼンスを検出する方法の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 ;このプログラムでは、継続していることを確認してから;ラベルにエラーが発生しました。
終了
エンドスタート
;プログラムの終わり
Online: 823 users browsing the articles directory
|
|