検出softiceを呼び出しint 68h


  Share  
|


ここでのプレゼンスを検出する方法の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

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions