Kosongkan aplikasi Silverlight anda dengan Dotfuscator

Laman dikemaskini :
Tarikh penciptaan halaman :

Tentang Dotfuscator

Dotfuscator adalah obfuscator yang menjadikan kod sumber sukar dibaca apabila aplikasi yang ditulis dengan Rangka Kerja .NET dibongkar. Dotfuscator boleh didapati dalam kedua-dua versi runcit percuma dan berbayar yang disertakan dengan Visual Studio.

Versi percuma hanya tersedia dengan banyak ciri terhad dan andaian bahawa Visual Studio sedang berjalan, tetapi sesiapa sahaja yang memasang Visual Studio boleh menggunakannya. Versi berbayar mempunyai banyak ciri obfuscation berkuasa yang tidak tersedia dalam versi percuma, tetapi mungkin menjengkelkan bahawa ia ditawarkan pada harga yang sukar untuk orang awam mampu.

Dotfuscator mungkin mempunyai ciri, harga, dan edisi yang berbeza bergantung pada versi, jadi sila rujuk laman web berikut untuk maklumat lanjut.

Dotfuscator

Kod parsed

Seperti yang dinyatakan di atas, aplikasi yang dibuat dengan Rangka Kerja .NET boleh membaca kod sumber asal dengan mudah dengan membongkar, tetapi apa yang sebenarnya berlaku ialah apabila anda membongkar fail pemasangan seperti yang ditunjukkan dalam rajah, kebanyakan kod sumber asal seperti ruang nama, nama kelas, dan nama kaedah boleh diterbitkan semula.

解析されたコード

Prosedur obfuscation

Mulakan dengan mencipta aplikasi Silverlight seperti biasa dan lakukan binaan Pelepasan. Di sini, kami membuat aplikasi yang hanya meletakkan dua butang.

Release ビルド

Dalam folder Bin\Release folder tempat projek terletak, taip . xap" ialah fail pakej yang meringkaskan program dan fail yang digunakan dalam aplikasi Silverlight.

XAP ファイル

Sebenarnya, fail ini dimampatkan dan disusun sebagai fail ZIP, jadi pelanjutan adalah ". zip".

拡張子を .zip に変更

Ia telah ditukar kepada fail ZIP.

ZIP ファイル

Apabila anda membuka fail, ia mengandungi fail manifes dan DLL. DLL ini adalah versi disusun program yang berjalan sebagai aplikasi.

Dengan cara ini, fail DLL juga diletakkan dalam folder Lepaskan apabila ia dibina, jadi kali ini kami akan mengaburkan fail ini.

ZIP ファイルの中身

Daripada menu Visual Studio, pilih Alat, kemudian pilih PreEmptive Dotfuscator And Analytics.

Apabila bermula buat kali pertama, dialog "Perjanjian Lesen" akan dipaparkan, jadi baca kandungannya dengan teliti, semak "Ya, saya terima perjanjian lesen." dan klik butang "OK".

PreEmptive Dotfuscator And Analytics を選択

PreEmptive Dotfuscator And Analytics CE bermula.

PreEmptive Dotfuscator And Analytics CE

Pilih "Input" dari pokok di sebelah kiri dan klik butang "Tambah Input".

入力の追加

Pilih fail DLL yang anda jana semasa membina.

ビルドで生成した DLL ファイルを選択

Pilih fail DLL yang anda tambah dan nyahtanda Mod Pustaka > Penukaran XAML.

Jika "Mod perpustakaan" diperiksa, kelas dan kaedah yang ditakrifkan di khalayak ramai tidak akan diabaikan.

Jika "penukaran XAML" diperiksa, kelas yang ditakrifkan dalam XAML akan dikaburkan, tetapi bergantung pada cara anda menciptanya, ia akan menyebabkan ralat permulaan, jadi jika ia berlaku, sila nyahtandainya.

「ライブラリ モード」「XAML の変換」のチェックを外す

Pada asasnya, semua kelas, kaedah, sifat, dan nama pemboleh ubah dikaburkan, tetapi jika anda tidak mahu mengaburkan ruang nama atau kelas tertentu kerana serialisasi, pilih "Namakan semula" dari pokok di sebelah kiri, pilih tab "Kecualikan", dan semak ruang nama atau kelas sasaran.

難読化の除外

Di bawah Peraturan Terbina dalam, pastikan Medan untuk Silverlight dan WPF UserControls ditandakan. Menyemak ini akan menjadikan medan UserControls dikaburkan dan akan berjalan dengan jayanya. Anda boleh menyahtandainya jika ia kelihatan berfungsi dengan betul walaupun selepas mengaburkan.

Silverlight および WPF UserControls のフィールド

Apabila anda selesai, klik butang "Bina Projek" dari bar alat.

プロジェクトのビルド

Sekiranya terdapat perubahan pada projek, dialog pengesahan simpan projek akan dipaparkan, jadi klik "Ya" untuk menyimpan.

プロジェクト保存確認ダイアログ

Projek ini dipanggil ". xml" fail. Fail yang diabaikan disimpan di lokasi yang sama.

プロジェクト保存

Tunggu binaan selesai apabila ia bermula. Perhatikan bahawa semakin besar program ini, semakin lama diperlukan untuk membina. Apabila kelihatan seperti angka itu, binaan selesai.

Medan mesej menunjukkan kemajuan binaan dan hasil ringkas seperti cara mengaburkannya.

ビルド完了

Jika anda memilih Hasil daripada pokok di sebelah kiri, anda boleh melihat butiran tentang cara nama kelas dan kaedah telah berubah.

Di bawah nama kelas dan kaedah, akan ada ikon Dotfuscator dan nama seperti "a" dan "b", yang akan menjadi nama yang kabur. Dengan menukar nama kelas atau nama kaedah kepada nama yang tidak bermakna dengan cara ini, walaupun ia dibongkar, ia boleh menjadikan kandungan kod sumber sukar dibaca.

難読化結果

Fail yang kabur dicipta dalam folder yang dipanggil "Dotfuscated" dalam folder fail .xml yang disimpan dalam Simpan Projek. Sebagai tambahan kepada fail yang kabur, fail "Peta.xml" telah dibuat, tetapi ini adalah hasil daripada penolakan dan tidak digunakan.

難読化したファイル

Jika anda membongkar fail yang kabur, anda dapat melihat bahawa beberapa nama kelas dan kaedah telah ditukar kepada "a" atau "b".

Kali ini, projek lalai yang dibuat telah dikaburkan hampir seperti itu, jadi saya fikir ada imej yang tidak begitu kabur, tetapi saya fikir kesan obfuscation menjadi lebih jelas kerana bilangan kelas dan lain-lain meningkat apabila projek itu berkembang.

Sebagai tambahan, . Perpustakaan Rangka Kerja NET dan tidak tertakluk kepada penamaan semula kerana ia adalah perhimpunan yang telah dipasang pada Windows, sebagai contoh.

難読化したコードの解析

Silverlight tidak menggunakan DLL sebagaimana adanya, jadi ia dibungkus sebagai fail XAP. Seperti yang dinyatakan pada mulanya, fail XAP hanyalah perubahan dalam pelanjutan fail ZIP, jadi ia mencipta fail ZIP dengan mengumpul fail yang terkandung dalam fail XAP dan DLL yang kabur.

Mencipta fail ZIP boleh dilakukan menggunakan ciri OS standard.

ファイルを ZIP 化

Fail ZIP dicipta.

ZIP ファイル

Pelanjutan ditukar kepada '. xap" dan jika nama fail berbeza, tukar kepada nama fail pakej asal.

Letakkan fail XAP di lokasi edaran.

XAP ファイルに変更

Sila semak operasi dan lihat sama ada ia berfungsi dengan baik.

Jika ia tidak bermula, periksa sehingga ia berfungsi seperti biasa dengan mengurangkan kod yang tidak jelas. Perhatikan bahawa Silverlight sering terjebak dalam perkara yang berkaitan dengan XAML.

動作確認

Walaupun arahan tidak disenaraikan di sini, jika anda ingin menandatangani program, membinanya dalam keadaan yang ditandatangani kelewatan, mengaburkan perhimpunan, dan kemudian menandatangani semula. Walaupun anda mengaburkannya semasa ia ditandatangani, kod tandatangan yang dilampirkan pada masa binaan dan kod tandatangan selepas obfuscation tidak akan sepadan, jadi anda tidak akan dapat memulakannya.

Dalam artikel ini, saya telah menyenaraikan langkah-langkah untuk versi percuma, tetapi jika anda menggunakan versi berbayar, anda boleh melakukan obfuscation yang lebih kompleks dan mencegah pembongkaran itu sendiri. Walau bagaimanapun, obfuscation berpotensi menyebabkan pelbagai kesan buruk, jadi apabila obfuscating dibuat, perlu dipertimbangkan sama ada ia akan berfungsi dengan baik dari awal reka bentuk.