トレイでGoogle Chromeの「ベル」を消します

ハッカー

最近、アラートと呼ばれる新しい機能がGoogle Chromeに登場しました。 時々、奇妙な状況下で、システムトレイにベルが表示されます。 つまり、手動で構成しない場合、機能を実行せずに単にそこで構成します。 そして、彼がそこに表示されるように、たとえば、YouTubeのビデオを全画面で展開できます。後で削除することはできず、クロームを閉じるだけです。 正しく削除する方法の検索は失敗しました。 メソッドは機能しているように見えましたが、その後、ベルが再びトレイに現れてイライラしました。 ある夜、彼は多くを得て、重火器を取り上げなければなりませんでした。



IDA、Hiew、ベルプルーニング



まず、Google Crhome自体の位置を確認します。ショートカットを見ると、実際には%USERPROFILE%\ AppData \ Local \ Google \ Chrome \ Applicationにあり、明らかに2つのバージョンがあります。以前と現在のバージョンです。 35.0.1916.114というディレクトリが必要になりましたが、そこには多くのdllが含まれていますが、何らかの理由でchrome.dllをすぐに気に入ったので、どこかに便利な場所にコピーしてIDAで開き、28メガバイトが待ち構えています。 待っている間に、次に何を探すべきか少し考えてみましょう。 一般に、多くのオプションはありません。むしろ、1つの(Winの)APIでは、shell32.dllのShell_NotifyIcon関数が検索されます。 そのため、考えている間、IDAはすでにファイルを解析しました。 [インポート]タブに移動し、必要な機能を探します。



関数がインポートされて幸運です。 また、その呼び出しにはアドレス0x371d7c0が使用されます一般に、IDAは必要なくなりました。 したがって、必要な関数がインポートされるアドレスがあります。 ここでは、この関数へのすべての呼び出しをNOPに置き換えるという考えがすぐに生まれますがWinApi関数がどのように呼び出されるかを覚えておく価値があります。 ええ、ここではスタックの問題を自分で解決する必要がありますが、まあ、何ができるか見てみましょう。 dllをHiewで開き、Asmモードに切り替え(Enterを2回押します)、ファイル内の既知のアドレスを検索して関数呼び出しの検索を開始します。x86では、数字が下位バイトから上位バイトに逆順で書き込まれることを忘れないでくださいつまり、 371d7c0ではなくc0d77103を検索する必要があります。 一般に、これは

したがって、関数を呼び出すためのFF 15 C0 D7 71 03 6バイトがあります。これらをスタックのクリアで置き換える必要があり、EAXレジスタのクロムゼロ化に正直になります。 最後に、Chromeは何らかの理由でトレイにアイコンを追加できなかったことを理解しています。 Shell_NotifyIcon関数は2つのパラメーターを受け入れます。つまり、スタックから2つのパラメーターも削除する必要があります。 このために2つのポップeax呼び出しを使用することにしました。その後、XOR EAX、EAXを介してEAXをヌルにし、その後、NOPがスコアリングしたバイトがさらに2つあります。



結果として、バイトFF15C0D77103585833C09090に変更する必要がありますが、これは単に検索と置換を行うだけです。 このような課題は7つありました。 その後、処理されたdllを適切な場所にコピーします(すべてのGoogle Chromeを閉じた後)。 Chromeを起動し、YouTubaを全画面表示にすることでベルの外観を実現しようとしていますが、何も表示されず、ベルはもう存在せず、結果は勝利です。

PS。 私自身はこの方法があまり好きではありません。Googleがこの機能を無効にする通常の機能を導入することを望んでいますが、今のところは大丈夫です。



All Articles