PVS-Studioセキュリティ調査

読者の皆さん、こんにちは! 私は初めて記事を書いています。私はPC-RETチームのメンバーの1人です。 記事を勉強し、反対側からアプローチすることにしました



作業段階



1.プログラムの分析

2.リバースするプログラムの選択

3.コード分析

4.パッチ



1.プログラムの分析



Detect It Easyプログラムを使用して 、プログラムの内容とコードの難読化の有無を確認します。



アナライザーのスクリーンショット
画像



プログラムがクリーンで難読化されていないことがわかります。



2.リバースするプログラムの選択



仕事では、 dnSpyプログラムを選択します。



3.コード分析



プログラムを起動してキーを入力すると、エラーメッセージが表示されます。



エラーのスクリーンショット
画像



dnSpyでプログラムを開き、「Incorrect」という単語を探します。多くの一致が見つかります。



検索スクリーンショット
画像



「InitFreeLicenseSourceFileHeaders」が必要です-2回クリックして、クラス「LicenseInfo」に移動します。 そこにGetLicenseInfoメソッドが表示されます-ここで必要なので、コードを見てください。



GetLicenseInfoスクリーンショット
画像



17行目にブレークを入れてプログラムを実行します(上部の[開始]を押して[OK]をクリックします)



起動画面のデバッグのスクリーンショット
画像



コードを分析すると、プログラム「clang.exe」が引数「--checkreg = yes」で起動され、答えが得られます

invalid \ r \ n不明なライセンスタイプ\ r \ n-1 \ r \ n "さらに行を" \ n "で分割し、文字列の配列を取得します

1- 無効 2- 不明なライセンスタイプ 3--1



4.パッチ



引数を付けてプログラムを呼び出すのではなく、プログラムに必要なものを与えるだけです。 そして、プログラムに「valid \ r \ nEnterprise License \ r \ n365 \ r \ n」という行を与える必要があります



これを行うには、 GetLicenseInfo関数を右クリックしてEditMetodを選択し、この方法でコードを置き換えます。



交換用スクリーンショット
画像



変更を保存して実行してください。



ライセンスのスクリーンショット
画像






これは私の最初の記事です。厳密に判断しないでください。

心から、PC-RET Misharチームのメンバー



All Articles