メモリを検出softiceを検索
この検出を検索して、メモリのv86モードをwinice.br文字列です。 このメソッドは、まれに使用されたため、検討しておく価値があるが、それだけに使用されることができウィンドウズ9xをします。 このルーチンが簡単にできるので、隠された電話を使用していません(いずれもapiをint )します。 これは不可能なことを検出し、そして、それを使用した場合も、その可能性を発見するために、攻撃者のデバッグを試みて、プログラムを続行するには、彼がそのコードを変更したり、レジスタの内容です。 デバッグを発見しようと、すべてを確認する必要があり、この後トリックかどうかを確認してレジスタの値が含まれ実際に含まれなければならない、とのcrcていただく必要がありテストを実行するかどうかを確認プログラムコードに変更されましたメモリします。 もしsofticeではありませんメモリを積極的には、定期的にチェックして実行するには、問題があります。 このメソッドの1つの欠点は、それだけでうまく動作古いバージョンのsoftice 、およびエラーが発生した場合は、新しいバージョンの1つsofticeのメモリを積極的にします。 .386 します。フラットモデル、 stdcall地元 ジャンプ ユニコード= 0 含めるw32.inc extrn setunhandledexceptionfilter :名proc 。データmessage2 message3 delayesp前のdb "検出されメモリ検索" 、 0のdb " softiceが見つかりません"と、 0のdb " softice見つかりません"という、 0 ddの0 ; espレジスタを保存してここにddの0 ; espのレジスタが保存さのアドレス、 ;前sehサービスです。 します。コード 出発点: ;------------------------------------------------- ------------------------------------------------ ;セットsehエラーの場合は ;------------------------------------------------- ------------------------------------------------のmov [ delayesp ] 、 espプッシュオフセット誤差 [前のページ]コールsetunhandledexceptionfilterのmov 、アルのeaxのmov 、 " w " のmovなedi 、 10000hのmov ecx 、 400000h -1 0000h詳細: r epnzs casbj ecxzn otfound 設定cmp dwordのptrに変更[なedi ] 、 " inic " jz bratのfound1 jmpもっとfound1 :追加なedi 、 4 設定cmp dwordのptrに変更[なedi ] 、 " rb.e " jnzもっとプッシュ単語ptrに変更1 jmp短いが見つかりましたnotfound :プッシュ単語ptrに変更0 ;検索した文字列をwinice.br ; v86メモリ;ここでの検索を開始 ;バイト数を指定して検索 ;を検索する" w "の文字列にメモリ;文字列が見つからない場合は、メモリ検索;終了したためsofticeではありませんメモリを積極的にします。 ;ときに" w "の文字列が見つかった場合、このテストを参照してください;かどうか" inic "文字列以下のとおりです。 ;終了したとき" inic "が見つかりました ;それ以外のすべてのメモリを検索 ;動きを受けて4文字(バイト) ;ときに" winic "が見つかったのかどうかを調べること; " e. rb "と次のように文字列 ;れていない場合は、検索終了して、メモリ;ここを積極的に行った場合softiceはメモリと;保存1をスタックということを示すsoftice ;が見つかりました。 ;ここに行く場合softiceが見つかりませんメモリします。 が見つかりました: ;------------------------------------------------- ------------------------------------------------ ;セット前sehサービス ;------------------------------------------------- ------------------------------------------------ dwordのプッシュ[前のページ] ptrに変更 コールsetunhandleexceptionfilter ;-------------------------------------------------ポップ------------------------------------------------斧テスト斧、斧jnzジャンプを続ける: ;戻り値を元に戻す;テストを見た場合は戻り値は1 ;この場合は、このプログラムのためsofticeはジャンプ;アクティブにします。 コールのmessageboxa 、 0 、オフセットmessage2 、 \オフセットmessage1 、 0 コールexitprocess 、 -1 ジャンプ: コールのmessageboxa 、 0 、オフセットmessage3 、 \オフセットmessage1 、 0 コールexitprocess 、 -1 エラー: ;新しいサービスを開始するsehエラーの場合は のmov esp 、 [ delayesp ]を押し続けるretオフセット 終了 エンドスタート これは、記事を追加したサムpetrone
|
|||
|