Bagikan melalui


Peverify.exe (alat PEVerify)

Alat PEVerify membantu pengembang yang menghasilkan bahasa perantara Microsoft (MSIL) (seperti penulis compier dan pengembang mesin skrip) untuk menentukan apakah kode MSIL dan metadata terkait memenuhi persyaratan keamanan jenis. Beberapa kompiler menghasilkan kode jenis aman yang dapat diverifikasi hanya jika Anda menghindari penggunaan konstruksi bahasa tertentu. Jika Anda menggunakan kompiler seperti itu, Anda mungkin ingin memverifikasi bahwa Anda belum mengorbankan keamanan jenis kode Anda. Anda dapat menjalankan alat PEVerify pada file Anda untuk memeriksa MSIL dan metadata.

Alat ini otomatis terpasang dengan Visual Studio. Untuk menjalankan alat, gunakan Prompt Perintah Pengembang Visual Studio atau PowerShell Pengembang Visual Studio.

Sintaks

peverify filename [options]

Parameter

Argumen Deskripsi
filename File portable executable (PE) untuk memeriksa MSIL dan metadata.
Opsi Deskripsi
/break=maxErrorCount Membatalkan verifikasi setelah kesalahan maxErrorCount.

Parameter ini tidak didukung di .NET Framework 2.0 atau yang lebih baru.
/clock Mengukur dan melaporkan waktu verifikasi berikut dalam milidetik:

MD Val. siklus
Siklus validasi metadata

MD Val. pure
Validasi metadata murni

IL Ver. siklus
Siklus verifikasi bahasa perantara Microsoft (MSIL)

IL Ver pure
Verifikasi MSIL murni

Waktu siklus MD Val. dan siklus IL Ver. termasuk waktu yang diperlukan untuk melakukan prosedur startup dan shutdown yang diperlukan. Waktu Md Val. murni dan IL Ver murni mencerminkan waktu yang diperlukan untuk melakukan validasi atau verifikasi saja.
/help Menampilkan sintaks perintah dan opsi untuk alat ini.
/hresult Menampilkan kode kesalahan dalam format heksadesimal.
/ignore=hex.code [, hex.code] Mengabaikan kode kesalahan yang ditentukan.
/ignore=@responseFile Mengabaikan kode kesalahan yang tercantum dalam file respons yang ditentukan.
/il Melakukan pemeriksaan verifikasi keamanan jenis MSIL untuk metode yang diterapkan dalam assembly yang ditentukan oleh nama file. Alat ini mengembalikan deskripsi terperinci untuk setiap masalah yang ditemukan kecuali Anda menentukan opsi /quiet.
/md Melakukan pemeriksaan validasi metadata pada assembly yang ditentukan oleh filename. Opsi ini memandu struktur metadata lengkap dalam file dan melaporkan semua masalah validasi yang dihadapi.
/nologo Menekan tampilan versi produk dan informasi hak cipta.
/nosymbols Di .NET Framework versi 2.0, menekan nomor baris untuk kompatibilitas mundur.
/quiet Menentukan mode senyap; menekan output laporan masalah verifikasi. Peverify.exe masih melaporkan apakah file tersebut berjenis aman, tetapi tidak melaporkan informasi tentang masalah yang mencegah verifikasi keamanan jenis.
/transparent Verifikasi hanya metode transparan.
/unique Mengabaikan kode kesalahan berulang.
/verbose Di .NET Framework versi 2.0, menampilkan informasi tambahan dalam pesan verifikasi MSIL.
/? Menampilkan sintaks perintah dan opsi untuk alat ini.

Keterangan

Runtime bahasa umum bergantung pada eksekusi kode aplikasi yang aman jenis untuk membantu menegakkan mekanisme keamanan dan isolasi. Biasanya, kode yang tidak dapat diverifikasi jenis aman tidak dapat berjalan, meskipun Anda dapat mengatur kebijakan keamanan untuk memungkinkan eksekusi kode tepercaya tetapi tidak dapat diverifikasi.

Jika opsi /md atau /il tidak ditentukan, Peverify.exe melakukan kedua jenis pemeriksaan. Peverify.exe melakukan pemeriksaan /md terlebih dahulu. Jika tidak ada kesalahan, pemeriksaan /il akan dilakukan. Jika Anda menentukan pemeriksaan /md dan /il, /il dilakukan meskipun ada kesalahan dalam metadata. Dengan demikian, jika tidak ada kesalahan metadata, siklus filename setara dengan peverifyfilename/md/il.

Peverify.exe melakukan pemeriksaan verifikasi MSIL yang komprehensif berdasarkan analisis aliran data ditambah daftar beberapa ratus aturan pada metadata yang valid. Untuk informasi terperinci tentang pemeriksaan yang Peverify.exe lakukan, lihat "Spesifikasi Validasi Metadata" dan "Spesifikasi Set Instruksi MSIL" di folder Panduan Pengembang Alat di Windows SDK.

NET Framework versi 2.0 atau yang lebih baru mendukung byrefpengembalian yang dapat diverifikasi yang ditentukan menggunakan instruksi MSIL berikut: dup, , ldsflda, ldfldaldelema, call, dan unbox.

Contoh

Perintah berikut melakukan pemeriksaan validasi metadata dan pemeriksaan verifikasi keamanan jenis MSIL untuk metode yang diterapkan dalam assemblymyAssembly.exe.

peverify myAssembly.exe /md /il

Setelah berhasil menyelesaikan permintaan di atas, Peverify.exe menampilkan pesan berikut.

All classes and methods in myAssembly.exe Verified

Perintah berikut melakukan pemeriksaan validasi metadata dan pemeriksaan verifikasi keamanan jenis MSIL untuk metode yang diterapkan dalam assemblymyAssembly.exe. Alat ini menampilkan waktu yang diperlukan untuk melakukan pemeriksaan ini.

peverify myAssembly.exe /md /il /clock

Setelah berhasil menyelesaikan permintaan di atas, Peverify.exe menampilkan pesan berikut.

All classes and methods in myAssembly.exe Verified
Timing: Total run     320 msec
        MD Val.cycle  40 msec
        MD Val.pure   10 msec
        IL Ver.cycle  270 msec
        IL Ver.pure   230 msec

Perintah berikut melakukan pemeriksaan validasi metadata dan pemeriksaan verifikasi keamanan jenis MSIL untuk metode yang diterapkan dalam assemblymyAssembly.exe. Peverify.exe berhenti, namun, ketika mencapai jumlah kesalahan maksimum 100. Alat ini juga mengabaikan kode kesalahan yang ditentukan.

peverify myAssembly.exe /break=100 /ignore=0x12345678,0xABCD1234

Perintah berikut menghasilkan hasil yang sama seperti contoh sebelumnya di atas, tetapi menentukan kode kesalahan yang akan diabaikan dalam file respons ignoreErrors.rsp.

peverify myAssembly.exe /break=100 /ignore@ignoreErrors.rsp

File respons dapat berisi daftar kode kesalahan yang dipisahkan koma.

0x12345678, 0xABCD1234

Atau, file respons dapat diformat dengan satu kode kesalahan per baris.

0x12345678
0xABCD1234

Lihat juga